Common General QB Errors
Error: QuickBooks found an error when parsing the provided XML text stream.
Reason: Special character on either the Prospect record, Sale record or Sale Item record
Message: An attempt was made to modify an Invoice with a date that is on or before the closing date of the company. If you are sure you really want to do this, please ask a user with Admin privileges to remove the password for editing transactions on or before to closing date (this setting is in the Accounting Company Preferences), then try again.
Reason: The period in QuickBooks is closed. A Sale was modified and is trying to update QB, but that period in QB (month or year) has been closed.
- The customer will need to open that period for the tool to update the Sale, or they can manually update the Sale in QuickBooks
Message: There was an error when saving a Customers list, element "Bill, Kathy | PR143717". QuickBooks error message: This list has been modified by another user.
Reason: If they have a multi user QuickBooks account, there could be another user on this Customer
Message: The string "(480) 585-4848 Ext 7771" in the field "Phone" is too long.
Reason: The phone number field in improveit360 needs edited to only have 10 digits
Message: QuickBooks error message: You may not create or edit a transaction dated on or before the dividing date.
Reason: If you have recently created an Accountant’s Copy of your QuickBooks data file, you may receive a sync error stating that a transaction cannot be synchronized due to the transaction being prior to your QuickBooks Dividing Date.
Sale Errors
Error: An XML parsing error has occurred: Element: <Amount>.00</Amount>
Message: The 'Amount' element is invalid - The value '.00' is invalid according to its datatype 'AMTTYPE' - The Pattern constraint failed.
Reason: A Sale is trying to sync over in the amount of $0.00
Resolution:
- Creating a report that shows QB Change is true and the Sold Price equals $0.00
- You will need to update the QB LastSyncTotal with the data loader to match the Sold Price, first making sure these Sale are correct in QuickBooks
Error: There is an invalid reference to QuickBooks Item "Service - Type: Primary" in the Invoice line. QuickBooks error message: Invalid argument. The specified record does not exist in the list.
Reason: The Sale Item has an invalid Qty or Unit Price. The Unit Price must be a positive number (Unit Price cannot be Negative). You can change the Unit Price to a positive number and change the Quantity to a Negative number. For example:
-$2550 Unit Price * Qty 1 = -$2550 (this will cause an error)
$2550 Unit Price * Qty -1 = -$2550 (Item Total is the same value, but this format will not cause an error)
Error: Error Converting Job Customer (S225207) - The name "S225207" of the list element is already in use.
Resolution:
- Client will need to download the QB Data Exporter: https://cdn.improveit360.com/installs/i360QuickBooksExporterInstaller.exe (REPLACE W/ WIKI PAGE)
- Check bubble in tool "bubble content"
- Open customer.csv
- Copy the matching ListID based on the customer name (S225207)
- Paste the value into the Job QB ID on the matching Sale (S225207) in i360.
Error: No such column 'i360__Job_QB_ID__c' on entity 'i360__Sale__c'. If you are attempting to use a custom field, be sure to append the '__c' after the custom field name. Please reference your WSDL or the describe call for the appropriate names.
Error: OR Message: Getting new sales from improveit! 360... Error. Details: System.Web.Services.Protocols.SoapException: INVALID_FIELD: i360__Job_QB_ID__c
Resolution:
Navigate to Setup > Create > Objects > Sale > Scroll to "Custom Fields and Relationships" > Click on "Job QB ID"
Click the "Set Field-Level Security" button
Ensure all profiles are checked in the "Visible" column
Receipt Errors
- Synchronization Messages for an Over payment scenario
Error: The "AppliedToTxnMod payment amount" field has an invalid value "00000.00". QuickBooks error message: You cannot pay more than the amount due.
Resolution:
Open the receipt and change the check box to false for Synchronize to Invoice
Error: Details: System.ApplicationException: Error updating the receipt on Force Platform: Value does not exist or does not match filter criteria.
Reason Scenario 1: The Receipt is related to a Project that is unrelated to the Sale for that Receipt and Adjustment. The Receipt's Sale must be the same as the Project's Sale. Receipt Adjustment: Sale ID = Project: Sale ID
Reason Scenario 2: Client has receipt records with no Received Date (null). Since the received date is required by the UI, these records may have been passed via a data importer or other method. Items can be identified in the receipts and adjustments tab view and sorted by Date received.
Error: Object "27AAB5-1547826700" specified in the request cannot be found.
Reason: Customer or Invoice can’t be found in QuickBooks to update
Resolution: You can search this number in improveit360 (not QuickBooks), it will tell you what QB could not find. It is usually a sale that can’t find the customer in QuickBooks or a Receipt & Adjustment that can’t find the Invoice.
- Tracking these fields will help in explain who and how they got changed
- The first initial information created will always be the user that started the sync, they are logging into the tool with their user information, they are technically modifying
Error: Saving : "R880"... Object "800012B6-1528156891" specified in the request cannot be found. QuickBooks error message: Invalid argument. The specified record does not exist in the list.
Resolution Scenario 1: Customer exists in QuickBooks
- Client will need to download the QB Data Exporter: https://cdn.improveit360.com/installs/i360QuickBooksExporterInstaller.exe (REPLACE W/ WIKI PAGE)
- Open customer.csv
- Find the customer name (based on prospect name from i360 for the receipt)
- Copy the matching ListID based on the customer name
- Replace the value into the QB ListID on the Prospect record in i360.
Resolution Scenario 2: Customer does NOT exist in QuickBooks
- Use the Receipt & Adjustment record to determine the related Prospect
- On the related Prospect record, delete the value out of the QB ListID field
- Run the QuickBooks Sync
Error: An error has occurred while fetching the existing invoice for receipt R162. The receipt will be applied to the customer record and can manually be assigned to an invoice.
Resolution: Customer needs to manually apply the Payment to the Invoice in QuickBooks
Error: Message: Error Details: System.ApplicationException: Warn: The query request has not been fully completed. There was a required element ("CBF58-1522697998") that could not be found in QuickBooks.
Resolution Scenario 1: Invoice exists in QuickBooks
- Client will need to download the QB Data Exporter: https://cdn.improveit360.com/installs/i360QuickBooksExporterInstaller.exe (REPLACE W/ WIKI PAGE)
- Open invoice.csv
- Find the RefNumber (based on Sale Name from i360 for the receipt)
- Copy the matching TxnId based on the customer name
- Replace the value into the QB ListID on the Sale record in i360.
Resolution Scenario 2: Invoice does NOT exist in QuickBooks
- Use the Receipt & Adjustment record to determine the related Sale
- On the related Sale record, delete the value out of the QB ListID field
- Run the QuickBooks Sync
Error: Error Syncing Receipts : R6818 Error : System.NullPointerException: Attempt to de-reference a null object Line: 1909
Reason: There is a required field on the Receipt and Adjustment which is Blank. Most likely it is the Received On date field.
Resolution: If there is no Received On date entered on the Receipt and Adjustment in improveit 360, the record will not be synced to QuickBooks until a Received On date is entered. If your company uses the PaySimple Integration, the Received On date is entered when the PaySimple payment status is updated to "Settled" or "Approved".
QuickBooks Permissions Errors
Error: Error reads: Saving [1/57]: "PRJ88642 - Wall Support : Doe, John"... There was an error when saving a Invoice. QuickBooks error message: This transaction action is not allowed for this user.
Resolution:
- Ensure the QuickBooks user that is running the Data Sync has the proper permissions in your QuickBooks system.
Error: An exception occured: This application has not accessed this QuickBooks company data file before. The QuickBooks administrator must grant an application permission to access a QuickBooks company data file for the first time.
Resolution: Ensure the QuickBooks user that is running the Data Sync has the proper permissions in your QuickBooks system.
Customer Sync Errors
Error: System.Web.Services.Protocols.SoapException: 'INVALID_TYPE: sObject type 'i360__Prospect__c' is not supported.'
Resolution: Update the i360Ent.wsdl to the current version for the customer API. Update the web references and rebuild.
Setup Details
QB desktop sync must be installed on same machine as their instance of QuickBooks.
Tool Login Information:
improveit! 360 to Quickbooks Import Log (Version 20.4.14.0)
- Version number is Year.Month.Day the tool was updated
Accounts Receivable: Accounts Receivable
- Where invoices will be created
Income Account: Sales
- Where list items will be created
Import: Customers, Sales, and Receipts
- What you will be importing into QuickBooks
Sync After: 12/10/2019
- Sync Sales CREATED after this date (literally the Created Date unless they have a custom version)
Force All: No
- Force all data to be re-imported (may cause duplication)
Only sync Sales marked "Ready": Yes
- Out of the box, this is true in improveit360. If a customer wants to use this, you must create a workflow that unchecks it when a Sale is created. This will allow the customer to then check the box when they are ready to sync the sale
Create a Customer Job per Sale: No
- This will separate out the Sales in QB. Customer with total of all Sales, and each individual sale listed below (screenshot). This is the customer’s preference
Key Fields and Definitions
Prospect: QB ListID
- A number from QuickBooks signifying the Customer
Sale: Job QB ID
- A number from QuickBooks signifying a job has been created in QB. Will only populate if create a Customer Job per Sale is Yes
Sale: QB Change
- Checkbox in i360 that if True will be in the modified sales section of the log
- QB ListID is not blank and the LastSyncTotal does not equal the Sold Price
Sales: QB LastSyncTotal
- The last dollar amount synced to QuickBooks
Sale: QB ListID
- A number from QuickBooks that signifies the Invoice
IMPORTANT: These fields should all be added to Field History Tracking when you start using the QB Sync tool.