When a payment is added/modified in QB.
ON THE IMPORT FROM QB TO SME
1) Links the payment to the matching customer based on payment.custid
2) Attempts to find a match first on the qb.paymentid.
3) If not found, then attempts to match based on the list of invoices/amount applied in SME data.
4) If not found (it creates a new one) then
It pulls in the list of invoices the payment was applied to in qb, matches them up to sme invoices based on invoice.invoiceid, creates payment details used to clear the invoiced.
5) If it IS found, then it attempts to non-destructively maintain the paydetails between the invoice and the payments
ON THE EXPORT FROM SME TO QB
1) Deletes the original qb payment. No, I CANNOT NOT delete the payment
2) Adds the payment, then applies the payments to the invoices the payments have been applied to in SME.
3) It looks FIRST to the billing company THEN to the customer for the customer id to use on export
Note #1 : when invoices are reexported from SME to QB, the invoice is deleted. This means that in QB, the payment is not applied to the newly recreated invoice.
Note #2 : when payments are reexported from SME to QB the payment is deleted, meaning that only the invoices the payment was applied to in SME are applied in QB.
Note #3 : it also only exports payments that are flagged to export
It will not export payments that are applied to invoices that are closed in QuickBooks.
It will not export payments for inactive customers.
These are noted in the SQLink logs