Skip to main content

QuickBooks Online Integration

DataCap Portal can post a daily sales summary to QuickBooks Online as a single journal entry. It is not a live, itemized transaction sync — QuickBooks does not receive individual card transactions. Instead, once you build and save a daily summary from a Z-run (end-of-day POS report), you can push that one summary to QuickBooks as one journal entry covering the whole day.

That journal entry records:

  • A debit line for each tender type collected that day (Cash, Visa, Mastercard, Amex, Discover, Debit) — posted to whichever QuickBooks account you've mapped it to.
  • A credit line for net sales, a credit line for sales tax collected, and a credit line for tips collected — each posted to its own mapped account.

Before any of this can run, two things need to be set up once per location: connecting to QuickBooks, and telling the portal which of your QuickBooks accounts each of those lines should post to.

Who can do this

  • Connecting, disconnecting, changing settings, editing account mappings, and syncing all require the Merchant Admin role (or Admin/Staff) for that location.
  • Merchant Staff can view connection status and last-sync results, but cannot connect, disconnect, change the mapping, or trigger a sync.

1. Connect the location to QuickBooks

  1. Go to Locations, find the location, and click Edit.
  2. Scroll to the QuickBooks Integration section.
  3. Click Connect QuickBooks.
  4. You'll be redirected to QuickBooks to log in and choose which QuickBooks company to link to this location.
  5. After approving, you're redirected back to the portal. The section now shows the connected company's name and environment (sandbox or production).

Note: One location links to one QuickBooks company. If a location is already connected and you need to link a different company, disconnect first, then connect again.

2. Set up account mapping

QuickBooks requires every journal entry line to point at a specific account in that company's chart of accounts — there's no generic default. This step tells the portal which account each dollar bucket belongs to, in your own words (account names, not internal QuickBooks IDs).

  1. With the location connected, still in the Edit Location modal, find the Account Mapping table below the connection status.
  2. For each bucket you want included in the sync, type the exact account name as it appears in that QuickBooks company's chart of accounts.
  3. Leave a bucket blank to skip it — for example, if a location doesn't track tips separately, leave Tips blank and it simply won't appear in the journal entry.
  4. Click Save Mapping.

The nine buckets:

BucketJournal sideWhat it represents
CashDebitCash collected for the day
VisaDebitVisa card sales collected
MasterCardDebitMastercard sales collected
AmexDebitAmerican Express sales collected
DiscoverDebitDiscover card sales collected
DebitDebitDebit card sales collected
SalesCreditNet sales (income) for the day
SalesTaxCreditSales tax collected (payable)
TipsCreditTips collected (payable to staff, not revenue)

Tip: Account names must match QuickBooks exactly, including capitalization and any sub-account prefix (e.g. "Bank Accounts:Undeposited Funds"). Copy the name directly from QuickBooks' chart of accounts rather than retyping it from memory.

Why itemized by tender type: Some integrations post everything collected as a single "Undeposited Funds" line. This portal instead posts a separate debit line per tender type, so each one can be mapped to its own account if you want that level of detail in QuickBooks — you can also point several tender types at the same account if you don't need them separated.

3. Build and save the daily summary

  1. Go to the Financials page.
  2. Select the location, choose a date range, and click Load Report IDs.
  3. Find the Z-run for the day you want to sync and click Build Summary.
  4. Review the numbers — Sales, Tax, Tender, Tips, and Adjustments — and correct Refunds or Buy Back if needed.
  5. Click Save Summary. The status badge changes from Draft to Saved.

4. Sync to QuickBooks

  1. Once the summary is Saved (or Posted), a Sync to QuickBooks button appears next to Save Summary.
  2. Click it. The portal resolves each mapped account name against the connected QuickBooks company, checks that the day's numbers balance (money collected equals sales plus tax plus tips), and posts one journal entry.
  3. On success, the journal entry's QuickBooks ID is shown, and the location's Last Synced / Last Sync Status updates.
  4. On failure, the specific error is shown on the page — see Troubleshooting below.

Sync status at a glance, on the location's QuickBooks Integration panel:

StatusMeaning
(no badge)Not synced yet, or the last sync attempt failed before a status could be recorded.
SuccessThe journal entry posted to QuickBooks. Check the Journal Entries list in QuickBooks for the entry noted in "PrivateNote."
FailedThe sync attempt failed. The error message is shown on the Financials page and saved as Last Sync Error on the location. Common causes are listed below.

Troubleshooting

ProblemWhat to do
"No QuickBooks account mappings configured for this location."Open Locations → Edit → QuickBooks Integration → Account Mapping and enter at least one account name, then save, before syncing.
"QuickBooks account 'X' (mapped to Y) was not found in the connected company's chart of accounts."The account name typed into the mapping table doesn't exactly match an account name in QuickBooks. Open QuickBooks, copy the exact account name (spelling, capitalization, and any parent-account prefix), and re-enter it.
"Daily summary does not balance: tenders collected $X vs. sales + tax + tips $Y"The Z-run report's numbers don't add up — total cash/card collected doesn't equal net sales plus tax plus tips. Review and correct the daily summary on the Financials page before syncing again.
"QuickBooks token refresh failed. Please reconnect."The connection to QuickBooks has expired or was revoked (e.g., in QuickBooks' own app settings). Disconnect and reconnect the location.
Sync button is missingThe daily summary is still in Draft status. Save the summary first — the Sync to QuickBooks button appears once it's Saved or Posted.

Disconnecting

Open Locations → Edit → QuickBooks Integration and click Disconnect. This removes the stored connection and tokens; it does not delete anything already posted in QuickBooks, and it does not clear the saved account mapping — reconnecting the same or a different company will reuse whatever mapping is already saved, so double-check the account names still apply if you reconnect to a different company.

What this does not do

  • It does not sync individual card transactions or invoices — only one daily summary journal entry per Z-run.
  • It does not reconcile QuickBooks' bank deposits against the actual bank statement — that still happens in QuickBooks as usual, using whatever account you mapped the tender types to (commonly "Undeposited Funds").
  • It does not automatically retry a failed sync — fix the underlying issue (mapping, balance, or connection) and click Sync to QuickBooks again.