Occasionally, you may see some of your invoices not being processed by QuickBooks. This support article will detail some of the most common error messages and what to do in these cases:
QuickBooks Online not Syncing:
If you see "creation request failed" or similar when submitting an invoice to QuickBooks, here are some steps you can take:
- A ServiceTrade account admin user may check Account Settings -> Integrations -> Configure QuickBooks Online. If taken to a settings page, everything is ok. If taken to an error page, you will need to disconnect and reconnect to QuickBooks.
- The QuickBooks Online API (the way we talk to it) is occasionally down for a period of hours or longer. If possible, try again at least once, later in the business day, or the next business day.
- Send us a message if issues persist.
When connecting to ServiceTrade for the first time:
"QBWC1013: Error connecting to QuickBooks. Returning error message to application.
Could not start QuickBooks."
This problem is typically caused when QuickBooks Web Connector does not have permission to open QuickBooks. To fix, delete the connection in Web Connector, then recreate it, making certain that:
- QuickBooks is in Single User Mode
- You logged into QuickBooks as the 'Admin' user
- The Admin user has a password (Web Connector will not work properly if the Admin user has no password)
- You answered the question 'Do you want this application to read and modify this company file' with 'Yes, always; allow access even if QuickBooks is not running'.
Web Connector crashes/freezes when during attempt to connect:
"Object reference not set to an instance of an object"
- Required information is missing from the Company File (Company Name and/or Address).
- From the menu bar, select Company > My Company, then select the pencil icon to edit.
- Add Company name and Address, and select Ok. Reattempt web connector sync.
If you make too many requests to QB in a single session:
"QuickBooks has made too many requests while processing this invoice."
- There is a threshold for the number of requests that can be made in a single session. If you receive this message, it is likely due to a loop in customer/vendor/employee name lookup (see below).
- It's also possible to hit this if you add 50,000+ customers to QB and then immediately send some invoices from ST to QB.
- If this occurs, wait for QB to finish importing before sending invoices.
If a customer's name is already in use by a vendor or employee record:
Customer name 'Tessier-Ashpool' is already in use by Vendor record 4411234252
Customer name 'Tessier-Ashpool' is already in use by Employee record 23429491413
- If this occurs, you already have a Vendor or Employee in QuickBooks that has the same name as a Customer you have created in ServiceTrade. To fix this, simply rename either the Vendor or Employee QuickBooks record in question.
If an entity has been marked as inactive or merged:
"Object Not Found : Something you're trying to use has been made inactive. Check the fields with accounts, customers, items, vendors or employees"
- This error occurs when an account, customer, item, vendor or employee is marked as inactive. To fix this error, find the problematic entity and then mark it as active. If this doesn't solve the issue please refer to the section below.
When sending entities over to QuickBooks, QuickBooks assigns ID's to these entities so that It will know where to place them the next time It is sent. However, if an edit is made in QB that deletes, merges, duplicates or changes an item, vendor, location, etc this can cause the ID QB assigned to an entity to lose its path and also cause this error.
There are two ways to remove QB external ID's:
- Go to the entity in ServiceTrade and click on the external ID icon (the little blue box beside the name of the entity in question). Here you can edit the ID's and remove them.
- The second way to do this is to disconnect the integration entirely but this will remove ALL external ID's.
Once either of the above steps is done edit your QB products/services, locations, vendors, etc and make sure that they are all unique. Once you've confirmed there are no duplicates ( including editing duplicate names of inactive records of these entities) reconnect the integration and begin sending things over.
Status Code 3120
InvoiceAddRs statusCode=3120 statusSeverity=Error statusMessage=Object "12345678-123456789" specified in the request cannot be found. QuickBooks error message: Invalid argument. The specified record does not exist in the list.
- Please contact ServiceTrade support at firstname.lastname@example.org. ServiceTrade will need to clear and re-sync customer list on integration-production.
Status Code 3140
3140 statusSeverity=Error statusMessage=There is an invalid reference to QuickBooks Sales Rep "TB" in the Invoice
- This means you have a tech in ServiceTrade whose initials do not match those in QuickBooks. Please edit either system accordingly to make these match, then try your invoice again.
Note: If these match and the error persists, switch to single-user mode and try your invoice again.
Status Code 3180
InvoiceAddRs statusCode=3180 statusSeverity=Error statusMessage=There was an error when saving a Invoice. QuickBooks error message: The transaction is pending and cannot be emailed.
- In ServiceTrade you have possibly set your QuickBooks preferences to use preferred method of delivery. (which is email in this case) if the customer record in QuickBooks does not have an email attached to it then sending the invoice to QuickBooks will fail. To fix this issue make sure you have an email set in QuickBooks.
- Another possibility is that you have a character, such as an accent mark, that works in ST but that QuickBooks chokes on. Search your customer, location, and each item carefully for accent marks or other variations from its counterpart in QuickBooks. Correct the entity in ServiceTrade to exactly match QuickBooks, then click edit your ST invoice, save, and try submitting again.
- If the integration settings are set so that the invoice hits QuickBooks as 'pending' then it will not send the invoice to 'preferred email'. This is largely due to having conflicting statuses. An invoice cannot be 'pending' and still send the finalized invoice to the customer. The fix is either limit the customer choice to just select 'print' or change invoice status to final.
"Creation request failed: Create invoice .... CheckNullResponseAndThrowException - Response Null or Empty"
- Click "Edit" on the invoice, then click save.
- Try your submission again.
Status Code 510
InvoiceAddRs statusCode=510 statusSeverity=Warn statusMessage=Unable to return object
There is an issue with the location and bill to address. This usually is from a discrepancy between customer and sub customer. If you have a location with a similar name, then the incorrect location or company needs to be corrected in ServiceTrade. The same may need to be done in QuickBooks.
Code 400 ValidationFault
Code=400 Response=ValidationFault [(500) - Unsupported Operation; Operation org.xml.sax.SAXParseException; lineNumber: XXXXX; columnNumber: YYYY; The entity “ZZZZ” was referenced, but not declared. is not supported.
Validation faults can occur when you try to include a character (letter, number, or symbol) that QuickBooks does not support in your invoice data. This most commonly happens when you copy/paste words from another application such as Microsoft Excel into the ServiceTrade invoice's item description or notes fields.
Some common character entity errors are:
- rsquo - A single quote character. Retype or remove any single quotes.
- rdquo - A double quote character. Retype or remove any double quotes.
- nbsp - Typically this is related to a special character within the notes section. The easiest way to identify and resolve this special character is to re-type the notes, without using a copy & paste method.
Code=400 Response=ValidationFault [(2500) - Invalid Reference Id; Invalid Reference Id : One of the list elements assigned to this transaction has been deleted. Before you can modify this transaction, you must restore...
This error occurs when a transaction is trying to sync to QuickBooks Online (QBO), but an object on the transaction cannot be located in QBO. This list item name is specified in the sync error (customer, vendor, class). This error may also occur if there is an External ID attached to something in ServiceTrade (ex. Item, Location, etc.), perhaps by mistake.
- In QBO, restore the list element referenced in the sync error by following these instructions:
- Go to the Company tab and click Lists.
- Open the appropriate list (Vendor list, Chart of Accounts, Product/Service, etc...)
- Select the relevant deleted report (Deleted vendors, Deleted accounts, etc...)
- Select the item that is to be undeleted.
- When restoring names, click the link for Edit Information.
- Clear the Deleted checkbox.
- Save and Sync with ServiceTrade
Item Code Character Limit
When you are creating Item Codes in ServiceTrade it is important to be aware of certain character limits in QuickBooks. Item Codes have a character limit of 31 characters. Also, Item Codes may contain special characters but it is recommended that the first character not be a special character. Having this understanding will prevent syncing issues with QuickBooks integrations.