Occasionally, you may see some of your invoices not being processed by QuickBooks.
This support article will detail the most common error messages and how to troubleshoot them.
- QuickBooks Online not Syncing When Submitting an Invoice
- If you Make too many requests to QuickBooks in a Single Session
- If a Customer's Name is Already in Use by a Vendor or Employee Record
- If an Entity Has Been Marked as Inactive or Merged
- Cannot Send Zero Dollar Invoices
- Status Code 3120
- Status Code 3140
- Status Code 3180
- Status Code 510
- Code 400 ValidationFault
- Item Code Character Limit
- Web Connector crashes/freezes during an attempt to connect
- When connecting to ServiceTrade for the first time
QuickBooks Online not Syncing When Submitting an Invoice
Error Message: "creation request failed" or similar
- In ServiceTrade, navigate to Account Settings.
- Open the Integrations and click 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.
- If the issue persists, please contact ServiceTrade support at firstname.lastname@example.org
If you Make too many requests to QuickBooks in a Single Session
Error Message: "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 either a Customer, Vendor or Employee Name lookup (see below).
It's also possible to hit this if you add 50,000+ customers to QuickBooks and then immediately send some invoices from ServiceTrade to QuickBooks.
If this occurs, wait for QuickBooks to finish importing before sending invoices.
If a Customer's Name is Already in Use by a Vendor or Employee Record
Error Message: "Customer name '[Customer Name]' is already in use by Vendor record 1234567890" or "Customer name '[Customer Name]' is already in use by Employee record 12345678912"
If see this error it means 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
Error Message: "Object Not Found : Something you're trying to use has been made inactive..."
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 QuickBooks that deletes, merges, duplicates or changes an item, vendor, location, etc this can cause the ID that QuickBooks assigned to an entity to lose its path and also cause this error.
There are two ways to remove QuickBooks 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 QuickBooks Products, Services, Locations, Vendors, etc to 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.
Cannot Send Zero-Dollar Invoices
Error Message: creating request failed:ValidationFault[(2020) Line - Required param missing, need to supply the required value for the API; Required parameter Line is missing in the request]
Sometimes you may want to send over Invoices with a zero-dollar total from ServiceTrade to QuickBooks.
This will cause a failure because you cannot send zero-dollar invoices from ServiceTrade to QuickBooks.
- You can create the zero-dollar invoice in QuickBooks manually
- or you can give the Invoice in ServiceTrade a $.01 Total, so you can send it over.
Status Code 3120
Error Message: "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.
If you get this error please contact ServiceTrade support at email@example.com
Status Code 3140
Error Message: "3140 statusSeverity=Error statusMessage=There is an invalid reference to QuickBooks Sales Rep "TB" in the Invoice
This error indicates 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
Error Message: 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.
If you see this message you have possibly set your QuickBooks preferences to use a 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 used a character that works in ServiceTrade but does not work in QuickBooks.
- 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 edit your ServiceTrade Invoice and save.
- Then try to resubmit the Invoice.
If the Integration settings in ServiceTrade 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's choice to just select 'print' or change invoice status to final.
- Click "Edit" on the invoice, then click save.
- Try your submission again.
Invoice / Job Issue
Error Message: Invoice <Invoice Number> creation request failed: CustomerAddRs statusCode=3180 statusSeverity=Error statusMessage=There was an error when saving a Customers list, element "<element name>" QuickBooks error message: This customer already has job information. To add a new job, the customer's current job information must be moved into its own job.
This indicates that you have added a job to your customer in QuickBooks, but the job is actually still part of the parent customer. In order for ServiceTrade to sync with your QuickBooks, the existing job needs to be separated out into an actual Job record. Below are the steps to do this:
- In QuickBooks Desktop, right-click on the customer and select Add Job.
- QuickBooks Desktop displays the "Moving Existing Job Information" message -- click OK.
- QuickBooks Desktop assumes that you want to create another New Job, so it opens the Job screen.
- Click Cancel.
- The job that was associated with the parent company has been created with the name "Job 1."
- Now you can sync with ServiceTrade, and ServiceTrade will be able to create the invoice.
Status Code 510
Error Message: 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
Error Message: 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.
Error Message: 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, but an object on the transaction cannot be located in QuickBooks Online. 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 QuickBooks Online, 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.
Web Connector crashes/freezes during an attempt to connect
Error Message: "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.
- Then My Company.
- Then select the pencil icon to edit.
- Add Company name and Address
- Select Ok.
- Reattempt web connector sync.
When connecting to ServiceTrade for the first time
Error Message: "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'.
Invoices are being sent to QuickBooks Online without an Invoice Number
If you have set QuickBooks Online to determine the Invoice number in your mapping settings this could cause Invoices to be sent without Invoice numbers.
Follow the steps in your QuickBooks Online in the image below:
We also recommend sticking with the "Old Invoice View.":
- Select + New.
- Select Invoice or Estimate.
- At the top right of the form, select Old layout.
If you switch back, you won’t be able to use features that only come with the new estimates and invoices. For example, when you create and send an estimate, customers won’t be able to approve or make deposits online directly from the estimate.