QuickBooks Online integration
Yes, ShelfCount works with QuickBooks Online. Every approved receipt can land in your books coded to the right expense account, either as a journal entry file you import or as a Bill sent straight to QuickBooks. Both live under Settings → QuickBooks, and an admin sets them up.
Two ways to get receipts into QuickBooks
- Download a journal entry file. No connection needed and it works on every QuickBooks Online plan. Pick a date range, download the CSV, and import it in QuickBooks. Good if your bookkeeper posts in batches.
- Connect your QuickBooks account. Sign in once, and from then on an approved receipt can be sent to QuickBooks as a Bill under the right vendor, one line per item, each line coded to the account you chose. You can also have that happen automatically on approval.
Either way, only receipts you’ve approved go across. Nothing leaves the review queue on its own, and ShelfCount never changes anything already in QuickBooks.
How it works
The flow is the same either way. A receipt or invoice is captured, a manager reviews it, matches each line to an inventory item, and approves it. That approval is the trigger. From there, each matched line carries three things QuickBooks needs: an amount (quantity × unit price, plus any extra charge on that line), a description (the item name), and an expense account, which comes from the category the item belongs to. The vendor on the receipt becomes the vendor on the Bill. You set up the category-to-account and vendor-to-vendor matches once; after that nothing needs coding by hand.
ShelfCount only ever writes one kind of thing to QuickBooks: a Bill. It reads three things, and only when you connect or choose Refresh from QuickBooks: your company name, your chart of accounts (for the mapping dropdowns), and your vendor list (for vendor matching). It does not read your transactions, customers, bank feeds, or payroll, and it never polls QuickBooks in the background.
The connection, in plain terms
When you choose Connect QuickBooks, you sign in on Intuit’s own site, not ours, and Intuit asks whether ShelfCount may access your accounting data. We ask for accounting access only, not payments or payroll. Intuit then hands ShelfCount a pair of keys: a short-lived one that expires about every hour and is renewed automatically, and a longer-lived one that lasts roughly a hundred days of use. We never see your QuickBooks password. The keys and your company id are stored encrypted, and they belong to your ShelfCount organization only: one QuickBooks company per organization. Intuit can show you the connection under Settings → Apps → Connected apps in QuickBooks, and you can cut it off from either side at any time.
What leaves ShelfCount
For each receipt you send: the vendor, the invoice date (or the approval date if the scan didn’t find one), the invoice number, and one line per matched item with its name, amount and account. The Bill also carries a private note with the ShelfCount receipt id so you can trace it back. Nothing else goes across: no counts, sales, recipes, item prices, or receipt images.
What it looks like inside QuickBooks
A sent receipt becomes a Bill
Find it under Expenses → Vendors (or Expenses → Bills) in QuickBooks, under the matched vendor, dated to the invoice. It arrives unpaid, exactly as if your bookkeeper had typed it in: it sits in Accounts Payable until you record the payment in QuickBooks the way you normally do. Each line posts to the expense account you mapped, so your Profit & Loss picks the cost up under that account on the bill date. If you already enter vendor bills by hand, stop doing it for receipts you send from ShelfCount, or you’ll have each one twice.
The journal entry file
The CSV is QuickBooks’ own journal entry import format: for each receipt, one debit line per category (the category’s total, to the account you mapped) and one credit line for the receipt total to Accounts Payable. Every entry balances by construction, which the import requires. The journal number is the vendor’s invoice number when the scan found one, and the journal date is the invoice date, falling back to the approval date. Note the difference from a Bill: a journal entry records the expense and the payable, but it isn’t tied to a vendor record and won’t show up as a bill to pay. Use this path when your bookkeeper prefers to post in batches, or on plans and setups where you’d rather not connect.
Timing
Sending happens in the background a few seconds after you click (or after approval, with auto-send on). If QuickBooks is briefly unreachable, ShelfCount retries on its own. A real rejection (a missing account, an unmatched vendor) shows on the receipt as QuickBooks failed with the reason, and nothing is created in QuickBooks until you fix it and send again.
Step 1: map your categories to accounts
Every item in ShelfCount belongs to a category (Coffee, Dairy, Paper goods). On Settings → QuickBooks, under Category to account mapping, give each category the QuickBooks account its purchases should post to, then choose Save mappings. Most cafes point food and beverage categories at Cost of Goods Sold sub-accounts and paper or cleaning categories at a supplies expense account. Ask your bookkeeper if you aren’t sure. The app tells you which categories are still unmapped when you try to export or send.
Before you connect, you type the account name, and it has to match your QuickBooks chart of accounts exactly, including the parent account. For example Cost of Goods Sold:Coffee, not just Coffee. QuickBooks rejects an import if a name is off by even a character. Once connected, the field becomes a dropdown of your real accounts, so there’s nothing to mistype.
Option A: the journal entry file
- On Settings → QuickBooks, under Download journal CSV, set From and To. The file covers every receipt approved in that range.
- Choose Download journal CSV.
- In QuickBooks Online, go to Settings → Import data → Journal entries and upload the file. QuickBooks shows a preview before anything posts.
Import each date range once. If you need to redo a range, delete the earlier journal entries in QuickBooks first so you don’t double count.
Option B: connect and send Bills
Connecting
On Settings → QuickBooks, choose Connect QuickBooks. You’ll be sent to Intuit to sign in, pick the company (if you have more than one), and allow ShelfCount to access it. Back in ShelfCount, the page shows Connected with your company name, and your chart of accounts and vendor list are pulled in. Finish the category mapping using the dropdowns if you hadn’t already.
Matching vendors
A Bill in QuickBooks needs a vendor, so each ShelfCount vendor needs a match under Vendor matching. Vendors whose name is exactly the same in both places are matched for you at connect time. Match the rest by hand from the dropdown. ShelfCount never creates vendors in QuickBooks. If one is missing, add it in QuickBooks, then choose Refresh from QuickBooks to pick it up.
Sending a receipt
Open an approved receipt and choose Send to QuickBooks. Anyone who can approve receipts can send one. The receipt shows Sending to QuickBooks, then In QuickBooks once the Bill is created. If it shows QuickBooks failed, the reason is printed right under it. Usually it’s an unmapped category or an unmatched vendor.
Prefer not to click each time? On the settings page, tick Send a bill to QuickBooks automatically when you approve a receipt. We suggest sending a few by hand first and checking that the Bills land in the accounts you expect.
What the Bill looks like
- One Bill per receipt, under the matched vendor, dated to the invoice date (or the approval date when the scan didn’t find one).
- One line per matched receipt line, with the item name as the description and the amount from quantity × unit price. Lines you didn’t match to an item during review are left out.
- The Bill number is the vendor’s invoice number when the scan found one. QuickBooks warns you if that number already exists, which is a handy duplicate check.
Fixing a mistake
A Bill that’s already in QuickBooks is never edited or re-sent by ShelfCount. If a receipt went over with the wrong account or vendor, correct the Bill in QuickBooks and fix the mapping here so the next receipt goes over right. A receipt that was already sent can’t be sent again from ShelfCount yet. If you need one re-sent, write to hello@getshelfcount.com and we’ll help.
Disconnecting and reconnecting
Disconnect on the settings page stops any further sending and tells Intuit to cancel our access, so the app disappears from your Connected apps list in QuickBooks too. Your category and vendor mappings stay put, so reconnecting later is one click. If you revoke access from inside QuickBooks, or the connection goes unused for a few months, the page will show Needs reconnecting with a Reconnect QuickBooks button. Reconnect and carry on; nothing else changes.
Troubleshooting
- “That connection link expired.” The connect link is good for ten minutes. Start again from Settings → QuickBooks.
- Send is blocked with a list of categories. Those categories don’t have a QuickBooks account picked yet. A name typed in before you connected isn’t enough; pick the account from the dropdown and save.
- Send is blocked on the vendor. Match that vendor under Vendor matching. If it isn’t in the list, add it in QuickBooks and choose Refresh from QuickBooks.
- A new account or vendor isn’t showing up. We read your chart of accounts and vendor list when you connect and when you choose Refresh from QuickBooks, not continuously.
- The journal import was rejected. Almost always an account name that doesn’t match exactly. Compare it against your chart of accounts, parent included.
What it doesn’t do
This is QuickBooks Online only; QuickBooks Desktop isn’t supported. It carries purchases (your receipts and invoices), not sales. It won’t create accounts or vendors in QuickBooks, and it never edits or deletes anything there. Your food cost reports stay in ShelfCount and don’t depend on QuickBooks at all. Questions? Email hello@getshelfcount.com.