Release Date - 28 August, 2019
Wise-Sync v4.6.7
This release fixes some bugs for ConnectWise and Datto Autotask PSA invoice sync.
ConnectWise Inventory Transactions on Invoice Sync
Inventory transactions failed to be created on invoice sync if an item name exceeded Xero/QBO ProductID character limits. The following warning appeared in the sync results:
Failed to insert the COGS journal for this batch: Item code 'xxxxxxxx' is not valid.
We've corrected the problem, so that it is handled using the Extended Product ID Length Handling feature (configured in your Wise-Sync Company settings). In the case that we hit it in future, the sync will fail and the message above is displayed as an error, instead of a warning, so that it can be resolved.
Datto Autotask PSA Invoice Sync
What's included
- ConnectWise Inventory Transactions on Invoice Sync
- Datto Autotask PSA Invoice Sync
- Sync negative invoices as credit memos
- Invoice Line Rounding
- Rate adjustments for Pre-Paid or Contract Covered invoice lines
- Invoice Work Hours posted to invoices, instead of billed hours
- Sync error - TaxCode '' doesn't exist
- Sync error - Invoice already exists in a fully paid state
- Sync error - The description field is mandatory for each line item
- Other Updates
Sync negative invoices as credit memos
Datto Autotask PSA doesn't provide the ability to create Credit Memos as a transaction type; the recommendation is to void and correct invoices at the source if they're incorrect. However, a negative invoice can be created to serve the purpose of issuing a credit to your customer.
Wise-Sync will now sync negative invoices to the accounting package as credit memos. These can then be applied to the appropriate invoice.
See FAQ: How do I issue a Credit Memo in Datto Autotask PSA? for future reference.
Invoice Line Rounding
In some cases, syncing invoices to Xero specifically, would result in the sync error below; a response coming from Xero:
The line total xx.xx does not match the expected line total of xx.xx
On investigation, the values we're getting from Datto Autotask PSA (quantity and unit price) to calculate line totals, in some cases, may get up to 7 decimal places where Xero will only allow values up to 4 decimal places. This caused a mismatch in what we were calculating and posting to Xero to what was actually expected (generally a 0.01 discrepancy). In the case there is a mismatch, Wise-Sync is expected to create a rounding adjustment however we just weren't handling this particular response from Xero, resuling in the failed sync.
We're now running checks on totals, ensuring totals balance and in a format that Xero will accept.
Rate adjustments for Pre-Paid or Contract Covered invoice lines
By default, Wise-Sync will sync an invoice line, using the gross value as the line total (where the gross value = qty x price). This works well in most cases except for invoices lines that have been pre-paid or covered by a contract. In Datto Autotask PSA, invoice lines that are pre-paid or covered by a contract are effectively $0 invoice lines, despite containing a quantity and a price, because customers have already been billed/paid for that service.
This causes a problem during sync because these lines will post to the accounting package with a line total that sums qty x price resulting in a mismatch (and sync error below) of the invoice in the accounting package to Datto Autotask PSA and duplicate billing.
Out of Balance Error: Adjustment for WISESYNC_ADJUSTMENT of -[$ Amount] is greater than the set limit of +/- 10.00
In this scenario, Wise-Sync will substitute the gross value for the extended rate, since this is what Datto Autotask PSA is using the calculate the line total. When the sync is complete, the warning below will be displayed to let you know that this has occurred.
Rate Adjustment Validation: An invoice line with the item code "xxxxx" has been adjusted to match the extended rate value of the invoice line in Datto Autotask PSA.
See Rate adjustments for Pre-Paid or Contract Covered invoice lines for future reference.
Invoice Work Hours posted to invoices, instead of billed hours
For labour invoice lines, we were posting the actual work hours, rather than the billable hours. This was causing rate calculation differences between the invoice in Datto Autotask PSA and the accounting package.
Sync error - TaxCode '' doesn't exist
Quickbooks Online customers in the US that are not using the Automated Sales Tax feature may have experienced the error below if all lines of an invoice was tax free.
TaxCode '' doesn't exist
The invoice should post without a tax code being set during sync.
Sync Error - 'xxxxxx' is not a valid tax code name
Quickbooks Online customers in the US that are not using the Automated Sales Tax feature may have experienced the error below despite the Wise-Sync Company setting Use Autotask tax group when sold being switched off.
'xxxxx' is not a valid tax code name
These scenarios are now being handled.
Sync error - Invoice already exists in a fully paid state
Syncing invoices to Xero resulted in the error below if an Accounts Payable (supplier) invoice existed in Xero in a paid state.
Invoice already exists in a fully paid state
The sync has been corrected to only check Xero for Accounts Receivable invoices.
Sync error - The description field is mandatory for each line item
In instances where service lines coming from Datto Autotask PSA did not contain a description or if the description contained leading carraige returns or whitespaces, Wise-Sync will use the Service Name instead. The warning below will appear in Wise-Sync:
Service Invoice Description is blank, the Service Name has been used for {Item_Name}, please check Autotask and update the Service Invoice Description.
Other Updates
Edit Wise-Sync Company - Failed to get Warehouses error
For ConnectWise customers, if a Primary API Account is not set or does not have the right security permissions, a Failed to get Warehouses error would occur.
It's recommended that there is always one Primary API Account configured at all times. See FAQ - What is a Primary API Account? for more information.