Skip to main content
This feature is under development, so details are subject to change. If you’re interested in gaining early access, reach out to Vori support at support@vori.com.
Vori’s QuickBooks Online integration is built for whoever owns your books — a bookkeeper, controller, or outside accountant — and assumes familiarity with QuickBooks Online. It replaces the daily data entry that normally sits between your POS and your ledger.

Overview

Vori connects to your QuickBooks Online company and does three things:
  1. Reads your chart of accounts into Vori, so you map POS data to your real accounts instead of typing account numbers from memory.
  2. Pushes a daily sales journal entry built from your End of Day data — sales, returns, COGS, taxes, tenders, and related lines, broken out by department.
  3. Pushes approved vendor invoices as Bills — vendor-linked, dated, terms-aware AP records you pay inside QuickBooks.
Sales and invoices arrive in QuickBooks already coded to your accounts, so your daily close is reviewing numbers instead of typing them. QuickBooks remains your financial system of record — Vori does not take over your books.

How data flows between Vori and QuickBooks

The integration is deliberately one-way for financial transactions. Vori pushes; QuickBooks owns what it receives.

What Vori reads from QuickBooks

Reference data only. Vori never reads, alters, or reports on your transactions.

What Vori writes to QuickBooks

Vori does not see any of the following. Once Vori posts an entry, QuickBooks owns it.
  • Bill payments and payment status
  • Bank and account reconciliations
  • Edits or deletions you make to posted entries
  • Any transaction not originated by Vori

Setting up the connection

The connection is self-service and secure — you never share your QuickBooks credentials with Vori.
  1. In the Vori Back Office, go to Integrations → Accounting Sync and click Connect on QuickBooks Online.
  2. You’re redirected to Intuit’s own consent screen, where you sign in to QuickBooks and authorize Vori’s access. Your credentials are entered on Intuit’s site and are never seen or stored by Vori.
  3. You’re returned to Vori. The connection card shows the connected QuickBooks company name and connection status.
  4. Vori immediately performs a first chart-of-accounts pull, so mapping can begin.
You can disconnect at any time from the same page, and you can revoke Vori’s access directly from within QuickBooks. Disconnecting stops all future pushes. Entries already posted to QuickBooks remain, because they are now QuickBooks records.
Vori supports one QuickBooks company per banner, with Class and Location tags to distinguish entries by store. A banner can have one accounting integration connected at a time — QuickBooks Online and Xero cannot run simultaneously.

Setting up your chart of accounts

Vori pulls your chart of accounts directly from QuickBooks and lets you map those accounts to your Vori data. This is the core of the integration, and the part worth spending setup time on. Mapping is configured once in Vori and then reused every day. Vori refreshes your chart of accounts nightly, so new and renamed accounts are ready to map the next day. You can also refresh on demand from Integrations → Accounting Sync. Mappings are managed under Accounting → GL Code Mapping. There are three types to configure: General Accounts, Department Accounts, and Segments.

General Accounts

Store-level items that don’t belong to any single department, grouped by type:

Department Accounts

Every parent department in your store can be mapped to up to four account types: A few important notes:
  • All four are optional. A store that only wants revenue-level detail maps Sales. If you want live department margin tracking and perpetual inventory, map all four.
  • Multiple Vori departments can share one account. Many stores have departments that are more granular than their accounting structure. Map those Vori departments to the same QuickBooks account and their activity rolls up together.

Segments

If you run several stores out of one QuickBooks company, Vori tags every line it posts with that store’s Class or Location value, so you can filter reports by store. Assign these under Accounting → GL Code Mapping — a value must match a Class or Location that already exists in QuickBooks, or the line posts untagged. Single-store operators generally don’t need this.

The daily journal entry

Once your accounts are set up, you can push daily journal entries directly from Vori to QuickBooks. Go to Reports → End of Day Report → Export to Accounting → Push to QuickBooks Online. Choose the date range — a single day, or a stretch of days up to a month at a time — and Vori creates one journal entry per store, per business day in that range.
Wait until all data from your POS lanes has synced and reconciled before pushing to QuickBooks.

What it contains

The daily entry is built from the same End of Day data your store already reviews. It contains only lines for which you have configured a mapping, so depending on your configuration it can include:
  • Net sales by department (credit to each department’s revenue account)
  • Returns by department (debit to each department’s returns account)
  • COGS by department (debit) with the corresponding inventory relief by department (credit)
  • Sales tax collected and refunded
  • Each tender type — cash, credit, debit, EBT, WIC, check
  • Discounts and rewards
  • Bottle deposits
  • Gift card deposits, redemptions, and refunds
  • House account charges, refunds, and adjustments
  • Cash over/short, cashback, and tips
  • Pay ins and pay outs
  • Inventory shrink by department
  • Inventory adjustments by department (coming soon)
Debits and credits are validated to balance before anything is sent. A day that doesn’t balance is rejected — nothing posts, and Vori names the amount and the offending order. This check cannot be bypassed. Unmapped accounts stop the push separately, listing each item and its amount. You can choose Push mapped lines only to post without them; the excluded amounts net to zero, so the entry still balances, and the omissions are recorded on the sync record. Fix the mapping rather than making this routine.

Example entry

Synthetic figures for a single store on a single day: A few things to read out of this example:
  • Tender lines are the debit side of the sale. They sum to the total collected, so you can reconcile against actual deposits and processor settlements.
  • Accurate margins in QuickBooks require Sales, Returns, COGS, and Inventory for each department. Because COGS and inventory are fundamentally connected, Vori requires both COGS and Inventory account mappings to post either line in the journal entry. This is what lets QuickBooks show department margin without additional work at period end.
  • Discounts appear as a single store-level line, not split by department. Worth understanding if you compute department margin in QuickBooks: discount value is not attributed to the department that granted it.

Invoices and Bills

Approved vendor invoices in Vori are posted to QuickBooks as Bills — real AP records that appear in AP aging, carry terms and a due date, and are paid inside QuickBooks exactly like a Bill you entered by hand. Two things are configured before invoices can flow to QuickBooks: accounts and vendors.

Accounts

To properly represent a Bill in QuickBooks, map the following accounts: This is what keeps department margin honest end to end: purchases raise the department’s inventory asset, and sales relieve it against that department’s COGS account. Both sides use the same department accounts, so the balance in QuickBooks reflects what’s actually on the shelf.

Vendors

QuickBooks vendors and Vori vendors have no shared identifier, so they’re linked once per vendor. The first time you review an invoice from a vendor that hasn’t yet been linked, Vori searches your QuickBooks vendor list for likely matches and presents them. You either:
  • Select the matching QuickBooks vendor, or
  • Create a new vendor in QuickBooks — Vori shows you the vendor’s details from Vori, you confirm them, and Vori writes the new vendor record.
Vori never silently creates vendors in your QuickBooks. Vendor creation is always an explicit action you take. Once linked, the mapping persists — every future invoice from that vendor skips this step entirely.

Approving an invoice

After your department staff finish processing an invoice (cost changes, receiving, etc.), invoices arrive under Accounting → Invoice Review. Accountants must approve invoices before they sync to QuickBooks. Vori flags any issues that would block approval — new vendors, unmapped departments, or unreconciled line items. From the queue, open an invoice to see its detail: line items, costs, and the account each line is coded to, with department subtotals. Approval is gated. An invoice cannot be approved, and therefore cannot post, unless its vendor is linked to a QuickBooks vendor and every line is coded to a valid account. This is deliberate: a gap is easier to fix in Vori than to unpick in QuickBooks later. On approval, Vori creates the Bill. The invoice is marked as exported and carries a link to the resulting QuickBooks record.

What the Bill contains

An invoice is summarized by department rather than passed through line by line, so a delivery covering produce, deli, and bakery becomes a Bill with three lines. Department-level purchasing detail reaches QuickBooks without item-level clutter in your books.

Example Bill

A produce vendor delivers to two departments on one invoice, with freight billed separately on the same document. Bill header Bill lines In accounting terms, the three lines are debits and the 2,137.50 total is credited to your AP account. The Bill appears in QuickBooks AP aging with a due date of 2026-03-19, and you pay it there.
No COGS has been recorded yet. Cost moves from inventory to COGS when the item sells, in the daily journal entry.

Frequently asked questions

Because this data touches your financial records, it’s critical that you have full control and visibility over what hits your books and when. The governing principle: Vori holds a bad entry rather than forcing it through — a gap is easier to fix in Vori than to unpick in QuickBooks later.What Vori catches before anything postsBecause Vori re-reads your chart of accounts nightly, accounts you rename or add in QuickBooks are picked up automatically, and anything that becomes unmapped as a result surfaces the same way.Every attempt is recorded. A sync history view under Integrations → Accounting Sync shows:
  • Timestamp
  • Type — daily journal entry, invoice Bill, or chart-of-accounts pull
  • Reference — the business date, or the invoice number
  • Status — pending, success, or failed
  • The QuickBooks reference returned on success, with a link to open the entry in QuickBooks
  • The specific error message on failure
Failures are visible where you work. A journal entry or Bill that fails to sync stays marked as unposted in Vori, with the error QuickBooks returned. Failed Bills are flagged in the Invoice Review queue so they aren’t forgotten.Retries are safe. Once you’ve fixed the underlying cause — added a missing mapping, reactivated an account, linked a vendor — you can retry the sync. Each push carries a stable reference to the underlying Vori record, so retrying a day or an invoice that already posted will not create a second copy.Every entry Vori posts is a discrete, referenced journal entry or Bill in QuickBooks, so there’s a clear audit trail of exactly what Vori posted and when.
No. Vori doesn’t create accounts in your QuickBooks and doesn’t post to a default, catch-all, or suspense account.The governing principle is that Vori syncs only with valid data. Posting an entry against an account that doesn’t exist, or a Bill against a vendor with no QuickBooks counterpart, creates work in QuickBooks instead of removing it — so incomplete mappings stop the push rather than routing around it.
Not today. Bills are created in QuickBooks and paid there, through whatever payment workflow you use today. Vori also doesn’t read payment status back, so AP aging and payment history live entirely in QuickBooks.If paying bills from Vori would be useful to you, you can vote for it on our roadmap at vori.productlane.com/request.
Nothing on Vori’s side. Once an entry is in QuickBooks it’s a QuickBooks record, and Vori will not overwrite, re-post, or correct it. More broadly, Vori doesn’t read your QuickBooks transactions at all.
Not today. The Bill record is created with the vendor, dates, terms, and coded lines. The source document stays viewable in Vori.
Not today. Payroll stays in your payroll system and reaches QuickBooks through its own integration.
If you collect sales tax across several jurisdictions, each rate produces its own line on the daily entry, but all of them post to the same Tax Collected account.