The standard Toast-to-QuickBooks setup fails the same way every time: revenue posts as one lump sum from a daily sales journal, while deposits arrive as a different number, and someone manually "adjusts" the difference. Every month. For every location.
Step 1 — Ingest tenders nightly. Pull hourly sales by tender type (card, cash, gift card, marketplace) per business date. Toast's API gives you this; the trick is capturing the *business date*, not the UTC timestamp.
Step 2 — Match deposits, not statements. Group bank credits by processor and business date. Card fees are the difference between gross tenders and net deposits — verify them against your processor rate. If your effective rate quietly climbed above 2.9% + $0.15, this is where you catch it.
Step 3 — Generate the journal. A balanced entry per day per location: debit Cash — Operating (net deposits), debit Merchant Processing Fees, debit Gift Card Liability (redemptions — not a deposit), credit Revenue by tender class (gross, including sales tax). Any residual lands in Suspense so the entry balances and the variance gets worked, not buried.
Step 4 — Push and alert. The journal pushes to QuickBooks via API. Variances above 0.5% alert a manager the next morning with the exact tender and day.
Multi-unit groups run this math 10-50 times per day (per location). At 20 minutes per manual reconciliation, a 12-location group burns 70+ hours a month on arithmetic a machine does in seconds — and the machine never books a transposed 4 and 9.
See the workflow running against real data: free reconciliation audit.