Export purchases to QuickBooks or Xero
Rinvy already captures every delivery — the supplier, the invoice number and total, and each line. The Accounting export turns a date range of those receipts into a bills CSV your bookkeeper imports into QuickBooks Online or Xero, so purchases stop being re-keyed by hand. In the US, QuickBooks Online Simple Start, Essentials and Plus need an importer app for that step.
Find it under Kitchen Settings → Accounting (owners and managers).
One-time setup: your chart of accounts
An accounting import needs to know which general-ledger (GL) account each line belongs to. QuickBooks calls the full list of your accounts and their balances the chart of accounts. The Chart of accounts card in Rinvy holds only the accounts you post food to. You set it up once.
Add your GL categories. Under Chart of accounts, add a bucket for each account you post food to — e.g. "Food – Protein", "Food – Produce". Give each the QuickBooks account name (QuickBooks matches accounts by name) and the Xero account code (Xero matches by code). You only need the field for the system you use.
Map your products. Under Product mapping, give each storage area a default GL category and every product in it inherits — or map a single product directly to override. Turn on Unmapped only to see what's still missing.
Map invoice fees, deposits, tax and credits. Under Invoice fees, deposits, tax and credits, pick one GL category for each kind. Rinvy books these amounts from scanned and emailed invoices on the receipt, not as product lines. To send two kinds to the same account, add two GL categories with the same account name or code.


What if a product has no GL account?
Rinvy refuses the export and lists the products that have no account for the format you picked. No file downloads, and no receipt is marked as exported. The preview line warns you first, with a count such as "3 unmapped".
You then have two choices:
- Map the missing products under Product mapping, and export again.
- Send them to a catch-all account. Type a Suspense account name (the default is "Suspense - unmapped") and tap Export to a suspense account. For Xero, also type a Suspense account code. Your bookkeeper then moves those lines to the right account.
What counts as unmapped depends on the format. A GL category with no QuickBooks account name still works for QuickBooks, because the file uses the category's own name. A GL category with no Xero account code is unmapped for Xero.
Exporting
Pick the format. Choose QuickBooks Online for QuickBooks Online Advanced's own import, QuickBooks Online (importer app) for Transaction Pro or SaasAnt, or Xero.
- Choose the date range — one bill is created per receipt received in it.
Rinvy shows how many receipts and lines the range covers, and whether any products are still unmapped. Click Export CSV to download.

For QuickBooks you get up to two files: a bills file and, when the range includes credits or shorts, a separate vendor credits file (a bill import cannot carry credits). Xero takes everything in a single file: a document whose lines are all negative (a pure credit memo) imports as a credit note, and a bill with a mix of positive and negative lines imports with the reductions applied.
Credits, shorts, and returns
A credit memo, a short shipment, or a returned case (see manual receiving) reduces what you owe, so it exports as a vendor credit (QuickBooks) or a negative line / credit note (Xero) rather than a positive bill line. Line amounts export exactly as the receipt recorded them; nothing is rounded.
Fees, deposits, tax and credits
A scanned or emailed invoice often prints a delivery fee, a fuel surcharge, a bottle deposit or a sales tax. Rinvy books those amounts on the receipt, not as products. A credit printed on the invoice whose item code matches no product (a returned or damaged case) books there too. The export adds them to the bill as one line per kind ("Invoice fees and surcharges", "Invoice deposits", "Invoice tax", "Invoice credits"), so the bill total matches the paper invoice. A credit that matches a product exports as a credit line on that product's GL category instead. Each line goes to the GL category you mapped for its kind. For QuickBooks, a kind with no GL category does not stop the export. Its line goes to the suspense account, and Rinvy shows a warning above the export button. Xero matches accounts by code, so for Xero type a Suspense account code first. Export CSV waits for it. Map the kind under Invoice fees, deposits, tax and credits to send it to the right account. A negative deposit (a deposit returned) exports as a credit.
How each receipt becomes a bill
Each receipt becomes one bill, and each receipt line becomes one bill line, plus one line for each kind of fee, deposit, tax or credit on the receipt. A few rules keep the file clean:
- Bill number. The bill number is the invoice number on the receipt. A receipt without one gets
R-and the first 8 characters of its receipt id. - Repeated invoice numbers. Two receipts can share an invoice number, for example after a redelivery. An importer merges rows that share a bill number, so Rinvy adds a suffix to the second receipt (
48213-2). The preview line counts these as "renumbered to stay distinct". - No supplier. Both importers need a supplier name. A receipt with no supplier exports under "Unknown supplier", and the preview line counts it.
- $0 lines. A line with a total of $0.00 is left out. A receipt with only $0 lines is not exported and is not marked as exported.
- Commas and quotes. A supplier name such as "Smith, Jones & Co" stays in one column. The file puts quotes around any value that holds a comma, a quote or a line break, as the CSV rules in RFC 4180 describe.
- Dates. The range uses your kitchen's own calendar days, from the Timezone in Kitchen Settings. By default it runs from the first day of the current month to today.
Each file name carries the format and the range, for example rinvy-purchases-qbo-2026-09-01_to_2026-09-30.csv. The QuickBooks vendor credits file adds -credits after the format name.
How do I avoid importing the same bill twice?
Leave Include receipts already exported before off. Rinvy records every export, and the next export of an overlapping range skips the receipts it already exported, so the same bill never imports twice. Need to re-export a range (a lost file, a fresh accounting period)? Turn that toggle on.
What's next
Direct QuickBooks and Xero sync (no file to download) is on the roadmap; this CSV is the first step.