SlabOS Help & Tutorials

Tools, access & integrations

Configure and review QuickBooks Online sync

Set import behavior, area billing items and payment options, then verify the linked records.

11 min read · For Accounting and integration administrators · Reviewed 2026-09-11

Watch the video walkthrough (17:29)

Before you start

  • Use an account with access to Settings → Integrations, and agree on the company and job-matching setup with the person responsible for your books. Read the QuickBooks card's warning to speak with Connor before connecting.
  • This article covers QuickBooks Online. These controls do not connect QuickBooks Desktop. The video uses Demo Owner and clearly identified sample accounting responses; it does not connect a real company or create accounting transactions.

1Open the intended connection

Open Settings → Integrations and locate QuickBooks Online. Read the warning on the card. Connect starts Intuit authorization; choose the intended company with an authorized account. A connected card shows Disconnect. Disconnect ends the connection; it is not an undo button for previous imports or invoices.

The accounting panel appears after a company is linked. Wait for its tax codes and items to load. If Couldn't reach QuickBooks appears, review the connection and use Retry. A Connected badge by itself does not prove that every invoice has synced.

2Understand invoice numbering

When QuickBooks Custom transaction numbers is off, SlabOS lets QuickBooks assign the number and adopts the returned number after a successful sync. When it is on, SlabOS sends its own number. If that preference cannot be read, SlabOS also sends its own number. Check the final number on the linked invoice rather than assuming the pre-sync number will remain.

3Choose the import job-matching mode

Under Sync behavior, choose A job per invoice when invoices identify separate sites through their memo or address. Choose A job per QB project when the QuickBooks project or sub-customer represents the job and its invoices should collect there. The billing customer and physical project can be different.

Changing this selection saves immediately. It is not a bulk repair of historical assignments. If the save fails, the control returns to its previous value and shows an error. Review the choice after reloading.

4Preserve corrected invoice-to-job links

Enable Preserve invoice job links to keep existing invoices on their current jobs during later imports and automatic sync. This includes deliberately corrected assignments. Amounts, payments and Ship To can still refresh; new invoices are matched normally.

Preservation does not make an incorrect assignment correct. Inspect the project address, invoice reference and source identity before explicitly moving a mismatched invoice. A shared customer name alone is not sufficient evidence of the right job.

5Set the outgoing Ship To

Put the job on the invoice's Ship To sends the job name and site address on pushed invoices. Billing remains attached to the account. Turn it off to leave QuickBooks using the customer's default Ship To. This outgoing address choice is separate from how incoming invoices are matched to jobs.

6Choose itemized or area-bundled output

Enable Bundle invoice lines per area in QuickBooks and SlabOS to group customer-facing lines by quote area. The area name and visible work descriptions appear under an area amount. Hidden charges still contribute to the amount, and taxable and exempt work can produce separate rows.

This applies to QuickBooks and SlabOS invoice emails and PDFs. The internal editable invoice retains detailed lines. QuickBooks-imported invoices retain their original structure. Existing QuickBooks invoices receive applicable output changes when they next sync.

7Set a default item for unmapped areas

Bundling reveals Area names → QuickBooks billing items. Open Default item for unmapped areas, search existing items and choose the intended one. The selected item's income account is shown with the search result. This routes billing revenue; it does not rename the quote area.

To remove the override, reopen the selector and choose Use fabrication / installation mapping. Changes save immediately. Wait for the Mapping saved message. A mapping creates no invoice or QuickBooks item.

8Add a named area mapping

In Area name, select an existing quote area or type its name. Open Choose billing item, search and select an existing QuickBooks item, then click Add mapping. Both an area name and an item are required. Wait for the saved row and confirmation.

Area names come from Materials & Slabs. Capitalization and extra spaces do not change the match. Renaming an area requires a matching rule for its new name. Review the item and income account with the person responsible for your books.

9Edit, remove and verify area mappings

Change a saved row's item with its selector. Use Remove or the selector's Remove mapping choice to delete that mapping. Removing the rule does not delete the QuickBooks item. An unmapped area uses the configured fallback.

Reload to check the saved mappings and default. If saving fails, the panel displays Could not save. Refresh the QuickBooks items and try again. A draft selection without successful feedback is not proof that a mapping was stored.

10Separate outgoing and incoming sub-customers

Group invoices under per-job sub-customers in QuickBooks controls outgoing invoices: each SlabOS job can be placed under its own QuickBooks sub-customer beneath the account. With it off, invoices attach directly to the account's customer.

Match QuickBooks sub-customers to SlabOS sub-accounts is a different setting. It places incoming sub-customer invoices on matching SlabOS sub-accounts and lets SlabOS sub-accounts push beneath their master customer. With it off, incoming invoices roll up to the parent account and outgoing sub-accounts are regular customers. Neither checkbox replaces the import job-matching choice.

11Review payment sync and portal links

Push payments recorded in SlabOS to QuickBooks controls the transfer of recorded payments into QuickBooks bookkeeping. Recording a payment and processing a card or bank charge are different actions. Do not record a duplicate payment simply because a sync is still pending.

QuickBooks payment link on customer portals enables the hosted Pay Online link for synced invoices when QuickBooks Payments is available. This checkbox does not enroll the shop in that service. Review the invoice and its payment link after syncing.

12Choose how much history to import

Import history depth offers 0 — link only, 500, 1,000, 2,000, 5,000 or 10,000 invoices. Historical scans work newest-first by last-updated date. Increase the depth deliberately when older untouched invoices are outside the current window.

Zero keeps the connection available for new and changed invoices but does not start a historical import. Changing the depth saves the setting; use Import from QB on the Invoices page to start the historical scan. Existing linked invoice identities are reused, so another scan is not a reason to create replacement invoices manually.

13Understand targeted payment repair

Repair payments targets invoices QuickBooks reports as paid whose SlabOS payment rows are missing. It follows linked payments, including older payments outside the normal scan window. The result reports repaired invoices and payments, no missing payments, or additional candidates still pending.

This action changes payment records. Confirm the discrepancy before running it. It is separate from taking a new payment, changing a tax mapping or importing invoice history.

14Choose taxable and non-taxable codes

Under Sales tax codes, choose the QuickBooks code for Taxable lines and for Non-taxable lines. Auto-detect from invoice rate lets SlabOS match a code when a taxed invoice first syncs. Auto for non-taxable lines uses a zero-rate or exempt code. An auto-detected choice can be labelled Auto-detected.

Selections save on change. Choose the Auto option again to clear a manual choice. Wait for saving to finish; a failed save displays an error and restores the saved selection. Reload to confirm. These are bookkeeping mappings, not a change to the quote's price-list tax rate.

15Map each revenue category

Revenue mapping lists Material, Fabrication, Installation, Edges, Cutouts, Seams, Corners & radii, Freight & delivery and Other charges. Choose an existing QuickBooks item beside each category that needs its own revenue stream. The option also identifies the item's income account.

Each selection saves immediately and shows Saved when accepted. Choose Default — Countertop Fabrication Services to remove a category override. A failed save restores the earlier selection and displays an error. Reload to confirm the choices.

16Understand Create in QB

An unmapped category also offers Create in QB. This creates or adopts a service item backed by a same-named income account, then maps the category to it. It is an actual QuickBooks write, not a preview or a request for approval. Prefer an existing approved item when that is the intended mapping. Confirm the item and account before creating another one.

17Read the invoice sync indicators

Open Invoices. A green QB badge identifies a linked invoice without a recorded push error. QB failed means the latest push needs attention, including when an earlier sync already created the invoice. Hover over the badge for the recorded reason. Not in QB identifies an unlinked invoice when the company is connected.

Open the invoice to review QuickBooks needs attention or queued status. Check the invoice number, account, job, lines, tax, total, paid amount and balance. A link badge alone is not proof that the latest edit or payment has finished syncing.

18Distinguish Import from QB and Sync to QB

Import from QB pulls historical QuickBooks invoices and their payments into SlabOS using the configured depth. The button shows Importing and a count while a run is active. At zero depth it shows QB linked · history off. A stopped run reports the retained counts and asks you to review the connection and retry; it must not be treated as a completed scan.

Sync to QB goes the other direction: it pushes eligible SlabOS invoices that are not linked yet. It opens a confirmation before the bulk action. Cancel to leave them untouched. Already-linked invoices and invoices with sync disabled are not included in this bulk push. Review success and failure counts after an actual run.

19Review one invoice's push controls

On the invoice detail page, permitted administrators can use Push to QuickBooks for an unlinked invoice or Re-push to QuickBooks for an existing link. Re-push updates that existing invoice from its current lines. Wait for the result and inspect any recorded error before retrying.

Don't sync (cash) disables future pushes of that invoice. If it already exists in QuickBooks, disabling sync does not remove the existing QuickBooks record. Sync disabled — enable restores future pushes. Refresh from Quote is a separate operation that can replace customized invoice lines; review its comparison and confirmation before applying it.

20Keep email delivery separate from sync

System emails use the SlabOS mailing engine by default. A user's Gmail or Outlook mailbox is used for system emails only when it is connected and Send system emails as me is enabled. Connecting the mailbox alone does not switch system delivery.

Connecting QuickBooks or mapping a billing item does not select the sender for SlabOS system emails. Review the invoice's Send action and recipient separately from its accounting sync and payment-link status.

21Check the full result

Review a deliberately chosen invoice in both systems after its sync completes. Confirm the customer, physical project or Ship To, job association, final invoice number, descriptions, mapped items, tax, total and payment balance. Preserve reviewed job links before another historical import.

Use the written steps and video chapters to revisit a control. If an assignment or amount remains uncertain, keep the existing records available for review instead of repeatedly creating invoices or recording payments to force a match.

Check the result

  • A sample invoice belongs to the correct job and has matching amounts in both systems.
  • Area names and mapped billing items appear as intended, and deliberately corrected job links stay in place.

If something looks wrong

  • A connected account is not proof that every record synced successfully. Inspect the displayed error or status.
  • Repeated imports are not a substitute for reviewing ambiguous historical job matches. Preserve corrected links and investigate uncertain matches before moving invoices.