Does Toast integrate with QuickBooks Online?
Yes, through Toast’s xtraCHEF product, at the time of writing. xtraCHEF connects to your QuickBooks Online company, imports your chart of accounts and vendors, and can post your Toast sales to QuickBooks as daily journal entries. It can also bring reconciled invoices in as bills and, for QuickBooks Online only, sync payroll as a journal entry.
What it does well: no retyping of daily sales, an import of your chart of accounts so you aren’t building accounts by hand, and an onboarding project manager who configures the account for your setup.
What it leaves to you:
- Plan tier. You need QuickBooks Online Essentials, Plus or Advanced. Simple Start and Self-Employed don’t support third-party integrations like this one.
- Mapping. Every active xtraCHEF category must be mapped to a ledger account before setup can finish. Ledger accounts you created by hand in xtraCHEF before connecting can be deactivated, so tidy the chart of accounts in QuickBooks first.
- The tie-out. The sync gives you the totals. Checking that tips, delivery, gift cards and the bank deposit line up is still your job.
Toast also offers a sales summary export. That’s the manual alternative: export by day and build the journal entry yourself in QuickBooks.
Toast’s newer accounting sync in Toast Web is a separate thing. At the time of writing, its help pages describe payroll syncing to QuickBooks Online, with sales and invoice sync listed as planned. Don’t assume it posts your sales yet.
What syncs from Toast to QuickBooks?
On the xtraCHEF route, the result is one summarized journal entry per business day, per location. Each row below shows where Toast data should land and where it usually goes wrong.
| Toast data | QuickBooks result | Where it usually goes wrong |
|---|---|---|
| Net sales by category | Income accounts, one daily journal entry per location | Categories not mapped, so everything lands in one income account |
| Discounts, comps, voids | Contra-income or a separate line | Netted into sales, so comps disappear from view |
| Sales tax collected | Sales tax payable, by location and jurisdiction | One blended line makes returns hard to file |
| Credit card tips | Tips payable (liability) | Booked as income, so the staff payout looks like an expense |
| Gift card sales and redemptions | Gift card liability, then revenue on redemption | Counted as revenue twice |
| Card payments | Clearing or undeposited funds, cleared by the bank deposit | Expected deposit differs by fees, refunds and timing |
| Processor fees | Merchant fees expense | Netted out of the deposit, so the fee never shows up |
| Refunds and chargebacks | Contra-income or adjustment line, plus clearing | Chargebacks arrive weeks later, outside the day’s entry |
| Third-party delivery orders | Income and clearing line per platform, commissions as expense | The platform pays one net lump that matches no Toast deposit |
| Cash tenders | Cash clearing, cleared by your bank deposit | Cash goes to the bank in batches, not daily |
During setup, check whether each of these lands on its own line. Any that don’t will need a bookkeeper’s hands each month.
Why doesn’t the Toast sales entry match the bank deposit?
The deposit is built from a bridge, not from gross sales:
- Gross sales, minus discounts and comps, equals net sales.
- Net sales, plus sales tax and card tips, equals the card total.
- The card total, minus processor fees and refunds or chargebacks, equals the expected card deposit.
Cash and third-party delivery payouts are not in that deposit at all. Processor schedules and agreements vary, so check the figures against your own processor statement rather than assuming a formula.
Tips owed to staff
Card tips are money you owe your team. Until they are paid out through payroll or a cash-out, they belong in a tips-payable liability account. If the daily entry books tips as sales, income is overstated, and the later payout to staff looks like an unexplained expense.
Third-party delivery
DoorDash, Uber Eats and Grubhub pay the restaurant separately, usually as one net amount after commission and fees, on their own schedule. That payout never appears in the Toast deposit. Give each platform its own clearing line, post gross order value to income, and record commissions as an expense, so each payout can be matched.
Bookkeepers have raised exactly this problem in QuickBooks Community threads, including one about restaurant sales run through Toast alongside Grubhub, DoorDash, Uber Eats and Postmates.
Gift cards
Selling a gift card creates a liability, not revenue. Revenue is recognized when the card is redeemed. If a sales summary books the sale as income and then books the redemption as sales as well, the same dollar is counted twice.
Sales tax by location
With several locations, one blended sales tax line is hard to produce for filing. Map tax collected at each location to its own liability account, or use classes or locations in QuickBooks, so each return ties to the right place.
Deposit timing and business-day cutoffs
A restaurant that trades past midnight closes its Toast day on a set cutoff. The journal entry follows that business day, but the bank deposit follows the processor’s schedule. Weekend sales often reach the bank after the following business day. That gap is normal timing, so it belongs in the clearing account, not in a variance. Chargebacks can arrive weeks later as a separate adjustment.
Where the manual way breaks: a multi-location café with weekend deposits and a holiday Monday will show a variance that moves from one day to the next. Nobody trusts the clearing account, so everyone starts checking every line.
How does Pandaflow handle Toast and QuickBooks?
Toast syncs with Pandaflow are set up on request. Pandaflow builds the sync for you. There is no self-serve Toast connector in Pandaflow today.
Once it’s running, the Pandaflow agent maps Toast data to QuickBooks accounts:
- sales by category and discounts on their own lines
- tax collected by location
- tips to a tips-payable liability
- gift cards to a liability, with revenue on redemption
- fees and refunds to their own accounts
- third-party delivery per platform
- the daily deposit matched against the clearing account
It posts the entries, flags deposits that don’t match, and repairs the sync when Toast or QuickBooks changes something, so entries don’t stop silently.
This is an illustrative setup, not a customer story. Picture a two-location café that takes DoorDash orders, tracks sales tax per location, and pays tips out weekly. Each location gets a daily entry, DoorDash gets its own clearing line, and the tips-payable account falls when the weekly payout clears.
You can compare the Toast integrations and QuickBooks integrations before you decide. To see plans, see pricing: Pandaflow is free to start, with Lite at $79, Silver at $299 and Gold at $499 a month, and it can deploy in our cloud or yours.
How do I set it up, and what will I see once it runs?
- Request setup from Pandaflow.
- Have a short call about what you sell and how your books are kept: locations, tip handling, delivery platforms and gift cards.
- Pandaflow builds the sync and tests it on real Toast records.
- Go live.
- The agent keeps it running, including repairs when either side changes.
Before the call, have these ready: your QuickBooks Online plan, your chart of accounts, and a recent month of bank deposits.
Once it runs, you should see:
- one daily entry per location
- a clearing account that drops toward zero as deposits arrive
- a tips-payable balance that falls when staff are paid
- a short list of exceptions in place of a monthly hunt
What can go wrong
- Renamed or deleted QuickBooks accounts break mappings. The agent flags the entry instead of posting to the wrong account.
- A new delivery platform added without a mapping shows up as an exception until it is mapped.
- A changed business-day cutoff moves sales between days. Check the cutoff after any change to store hours.
- Refunds on a prior day arrive as their own adjustment, not inside the new day’s total.
- Plan tier: if the QuickBooks plan is Simple Start or Self-Employed, the xtraCHEF route won’t connect, so check this first.