In this error message, QuickBooks is saying that the transaction (Estimate, Invoice, or Payment) does not have a customer.
There are two possible causes for this:
One is that you possibly have not entered/selected a customer for the job, or
There was an error writing the customer for this job to Quickbooks. That can happen if for example you are attempting to add a customer that already exists in QuickBooks.
To fix this error, make sure there is a customer assigned to this job, and make sure there were no errors writing that customer to QuickBooks. Then clear the QuickBooks errors before attempting to sync again:
Go into the QuickBooks Sync screen in ContractorTools,
Tap on Sync Errors.
For each error, tap on it, then tap Clear. Or, tap Clear All Errors.
Now go back to the QuickBooks Sync screen and tap "Sync Now".
Note that this problem can (and should) be avoided by not entering customers in QuickBooks. Only enter customers in ContractorTools and let it write them to QuickBooks. If you have pre-existing customers in QuickBooks, ContractorTools will pull those from QuickBooks when you sync, so you can assign those customers to jobs in ContractorTools and not re-enter them in ContractorTools.