How QuickBooks sync works
This page is for the accountant or bookkeeper who keeps the firm’s books in QuickBooks Online. In short, the firm bills in Korrit and QuickBooks stays the ledger. Korrit sends invoices, payments, credit notes, voids and categorized expenses to QuickBooks as they happen. It reads QuickBooks back in two cases: a one-time import of customers and invoice history, and a daily refresh of the invoices that import brought in.
If you’re setting up the connection, start with Connect QuickBooks Online.
What syncs, and when
| Record | Direction | When |
|---|---|---|
| Invoices created in Korrit | Korrit → QuickBooks | When the invoice is finalized |
| Payments recorded in Korrit, by hand or through Stripe | Korrit → QuickBooks | When recorded. Reversing one deletes it in QuickBooks |
| Credit notes | Korrit → QuickBooks | When issued, as a credit memo applied to the invoice |
| Voids | Korrit → QuickBooks | When an invoice or credit note is voided |
| Clients and projects | Korrit → QuickBooks | The first time an invoice for them syncs |
| Categorized expenses | Korrit → QuickBooks | Once categorized in Korrit |
| Customers, and links to existing projects | QuickBooks → Korrit | One-time import, after someone at the firm reviews the matches |
| Past invoices and their payments | QuickBooks → Korrit | One-time import, then a daily refresh |
Korrit writes each change to a sync queue in the same step that saves it, so a change can’t be saved in Korrit and then lost on the way. The queue sends it straight away. A sweep every five minutes picks up anything that didn’t go out. The daily refresh of imported invoices runs once a day.
How Korrit records look in QuickBooks
- Customers. Each Korrit client becomes a customer. Each project becomes a sub-customer under it, named with the project code and name, such as “2407 Larch Street Remodel”.
- Invoices. The invoice number is the Korrit number, so turn on Custom transaction numbers in QuickBooks. Issue date, due date, client email and the client-facing notes come across. The private note reads “Korrit invoice” and the number.
- Lines. Each Korrit line becomes one line on the QuickBooks invoice, using the item the firm mapped for its type: fees, hourly services, consultants, reimbursable expenses, or adjustments and credits. Retainer credits and credits are negative lines. Lines of zero are left off.
- Payments. Payments recorded by hand go to the deposit account the firm picked, usually Undeposited Funds. Stripe payments go to a clearing account, so the Stripe payout you match from the bank feed isn’t counted twice.
Matching and duplicates
During the import, each QuickBooks customer is compared with the clients already in Korrit:
- A customer Korrit already linked is skipped.
- The same email, or the same name and postal code, counts as an exact match and is linked. Names are compared without punctuation or endings like LLC, Inc and PC.
- Close names are passed to Jev, the AI model Korrit uses for matching. A pick at 85% confidence or higher is linked. Anything lower waits for a person.
- Two QuickBooks customers that share a name or email are flagged, so they don’t become two Korrit clients.
Nothing is written to the client list until someone at the firm reviews and confirms. Projects are matched only within their linked client, and the import never creates Korrit projects. Running the import again updates what it already brought in rather than adding copies.
When pushing, Korrit reuses a linked customer first. Otherwise it adopts a QuickBooks customer with the exact same name, and reactivates it if it was inactive. Only then does it create one. If a vendor or employee already holds the name, Korrit adds a short suffix. Before creating an invoice, Korrit checks for one it already made with that number and adopts it. Every request also carries a unique ID, so a retry never creates a second record.
Edits, voids and deletions
A finalized invoice is locked in Korrit. To change one, the firm voids and reissues it, or issues a credit note. The void goes to QuickBooks, and the replacement goes over as a new invoice when it’s finalized. Korrit won’t void an invoice that has payments applied. Those have to be reversed or credited first.
Invoices created in Korrit are push-only. Korrit never reads them back, so record payments for them in Korrit, not QuickBooks.
Imported invoices start out following QuickBooks. Once a day, Korrit applies new, edited and deleted payments, balance changes, and voids or deletions made in QuickBooks. Line edits made in QuickBooks don’t come back.
The first change someone makes to an imported invoice in Korrit hands it to Korrit for good. Recording or reversing a payment, voiding, or issuing a credit note all count. From then on the daily refresh leaves it alone, and Korrit’s changes go to QuickBooks. The invoice says Managed in QuickBooks until that happens.
Errors and retries
Each invoice shows a small QuickBooks mark: gray while syncing, green once synced, and a warning when something failed. The firm can click the warning to read QuickBooks’ reason and retry.
- QuickBooks is busy or unreachable. Korrit retries on its own with growing waits, up to five attempts, then marks it failed.
- QuickBooks rejects the request. The invoice is marked failed straight away with QuickBooks’ message. Common causes are missing item mappings, a customer name QuickBooks won’t accept, or a payment that covers several invoices in QuickBooks.
- A payment arrives before its invoice. It waits for the invoice and gives up after 24 hours.
- The totals differ. If QuickBooks calculates a different total, usually because of sales tax, the invoice stays linked but is flagged for a look.
- Access lapses. Syncs pause and the firm sees Reconnect QuickBooks. Nothing is lost, and everything waiting goes out after reconnecting.
What doesn’t sync
- Sales tax. Korrit sends no tax lines.
- Stripe processing fees.
- Payments entered in QuickBooks against invoices created in Korrit.
- Drafts, and invoices finalized before the firm connected or while it was disconnected.
- Line or total edits made in QuickBooks.
- Vendor bills, bill payments, time entries and payroll.
Korrit keeps the QuickBooks access tokens encrypted, and disconnecting revokes them at Intuit. More on how Korrit handles firm data is in Security and data ownership at Korrit.
Covered in Korrit
Related
Connect QuickBooks Online
Link your QuickBooks Online company to Korrit, map your products and services, import your client and invoice history, and confirm invoices sync.
Security and data ownership at Korrit
Where Korrit stores your firm's data, who on your team can see it, which outside services handle parts of it, and how to get a full copy.
What Claude and ChatGPT can see and do in Korrit
How the Claude and ChatGPT connection works, every action it can take, how your role limits it, what data it sends, and how to revoke it.