Cannabis dispensary QuickBooks setup is a one-time, ~5-minute flow that connects your retailer portal to QBO. Once it's done, every settlement and AP payment lands in your books on its own — Bill, matching Check, vendor lookup, account coding, the works. When checks clear in your bank feed, we flip ShelfSpace status to Cleared within 24 hours. The result: month-end reconciliation collapses from hours to minutes.
This guide walks the whole setup. If you're mid-setup and stuck, jump to Troubleshooting at the bottom. Most retailers never do this themselves — we handle the connection during onboarding — but if your bookkeeper or controller wants to know what we're pushing and why, this is the reference.
What ShelfSpace pushes to your QBO
Once connected, two transaction types push to your QuickBooks Online instance:
- A Bill, created when a settlement is approved or an AP payment is sent. The Bill posts to your Expense Account against the matched QBO Vendor, with the settlement PDF or invoice reference attached.
DocNumberis the settlement reference (SR-...), the invoice reference (truncated to 21 chars), or the payment ID (PM-...). - A Bill Payment (Check), created when the check number is assigned (at PDF generation for settlements, at payment creation for AP).
DocNumberis the check number,BankAccountRefis your mapped bank account, and the row links the Bill via QBO'sLinkedTxnso AP balance clears.
Both appear in your QBO instantly. The Recent Sync Activity panel shows status badges per row (Synced, Failed, Pending, Skipped). Failed rows retry every 10 minutes on their own.
1. Connect QuickBooks
In your retailer portal, open Settings → QuickBooks Online and click Connect to QuickBooks. You will be redirected to Intuit, where you authorize ShelfSpace. After you approve, you land back on the settings page with a "Connected" badge.
2. Pick your Expense and Bank accounts
The Expense Account dropdown lists every Expense, Cost of Goods Sold, and Other Expense account from your QBO chart of accounts. Pick the one where ShelfSpace consignment and AP charges should post — typically a Cost of Goods Sold account. We try to pre-select an account whose name contains "cost of goods" or "cogs", but verify the choice.
The Bank Account dropdown is recommended — not strictly required, but the Bookkeeper Match Health panel and bank-feed clearing only work when it is set. Pick the bank account the physical settlement and AP checks draw from. This routes each Bill Payment's BankAccountRef to that account so QBO's bank feed pre-matches checks by check number plus amount, and it enables the daily clearing-sync that flips ShelfSpace status from Downloaded to Cleared on its own. Click Save Account.
3. Per-vendor expense overrides (optional)
If a specific vendor's spend should post to a different GL account than your global default — for example, a non-cannabis service vendor that should hit a Services expense account instead of COGS — set it on the vendor:
- Vendors → [vendor name], scroll to the QuickBooks section on the vendor detail page.
- Pick the desired QBO Expense Account.
- Save.
The override applies to that vendor's future Bills only. Already-synced Bills are not re-routed. There is also a per-payment override available when you create an AP payment — use it sparingly; the per-vendor default is usually the right place to set this.
4. Backfill historical settlements and payments
If you connected QBO after already running settlements or AP payments on ShelfSpace, those past transactions are not yet in your QBO. To push them, go back to Settings → QuickBooks Online and click Sync Historical Transactions. The button processes the most recent batch in one click. If you have a lot of history, click it more than once.
5. Watch Bookkeeper Match Health
The QuickBooks settings panel shows a Bookkeeper Match Health indicator near the top:
- Pre-matched — Bill Payments successfully synced. When the bank feed sees these checks clear, QBO will pre-suggest the match and your bookkeeper sees the payee instantly.
- Missing — Bills that have a check assigned in ShelfSpace but no matching Bill Payment in QBO. Click Backfill checks and the button loops through batches of 50 until everything is caught up.
- Skipped — Bills awaiting check issuance, or Bills where the bank account is not mapped (set the bank account in step 2 to clear these).
- Failed — pushes that hit a QBO error. Retry from the Recent Sync Activity panel.
When Missing, Skipped, and Failed all read zero, the panel shows "All caught up."
6. Done — what happens next
Once setup is complete, you do not need to touch anything. Each settlement creates a Bill within seconds of approval. Each AP payment creates a Bill + Bill Payment together at payment creation. The Recent Sync Activity panel shows status badges. Failed rows retry every 10 minutes on their own. Daily at 3am ET, the clearing-sync reads cleared and reconciled Bill Payments from your QBO bank feed and flips matching ShelfSpace payments to Cleared.
Most retailers hand this off to their bookkeeper or controller and stop thinking about it. The reconciliation that doesn't happen is the highest praise you can give an accounting integration.
What if my books are closed?
If a settlement's accrual week falls inside a closed QBO period, we do not ask you to reopen the period. The push retries with today's date as the TxnDate. The DocNumber, Amount, and Vendor still match for bank-feed reconciliation; only the posting date shifts. The Recent Sync Activity panel also shows a Post to Today button per row and a Post All to Today bulk action when closed-period rows exist.
Troubleshooting in 60 seconds
- A row shows "Failed". Click Retry. Most failures recover. Failed rows also retry every 10 minutes on their own.
- "Account Period Closed". We handle it — see the section above.
- Bill posted under the wrong QBO Vendor. Edit the Bill directly in QBO to repoint it. Email Chris if you want the cached mapping updated for future Bills.
- Bookkeeper Match Health shows missing checks. Click Backfill checks. Loops through batches of 50 until missing reaches zero.
- No Bill Payments are pushing. Check that the Bank Account is set. Without it, every Bill Payment is skipped with reason "QBO bank account not mapped."
- Connection expired banner. Click Reconnect to QuickBooks. Refresh tokens expire after 100 days of inactivity. Reconnecting takes 10 seconds.
- Cleared status not flipping. The clearing-sync runs daily at 3am ET. If a check cleared with a different DocNumber due to a manual edit, use the manual "Mark Cleared" override on the payment detail screen.
Need help?
Email Chris directly at chris@shelfspace.pro. Most retailers never have to do any of this themselves — we set it up during onboarding and verify the first sync. The reference version of this guide lives in our docs at Cannabis Dispensary QuickBooks Setup, with the higher-level overview at QuickBooks Integration.
If you have vendors on ShelfSpace asking about their side, point them to Cannabis Vendor QuickBooks Setup — same idea, different direction (Invoices + PaymentReceived in their books instead of Bills + Checks in yours). And if you want to see what real-time QBO looks like in practice, our case study walks through one dispensary's 3-day-lag-to-real-time switch.