Skip to main content
Approved vendor invoices in Vori post to your accounting system as bills: real accounts-payable records that appear in AP aging and carry terms and a due date. You pay them in your accounting system exactly like a bill you entered by hand. An invoice with a negative total posts as a vendor credit instead. Invoice sync requires that you process invoices in Vori, so you need the Vori software tier that includes invoice processing. Two things are configured before invoices can flow: accounts and vendors.

Accounts

To represent a bill correctly, map these under Accounting → GL Account Mapping: 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 reflects what’s actually on the shelf.

Vendors

Your accounting-system 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 isn’t linked yet, Vori searches your accounting system for likely matches. You either:
  • Select the matching vendor, or
  • Create a new vendor — Vori shows you the vendor’s details, you confirm them, and Vori writes the new record. This autofills from the invoice, so a contact name, phone number, or email on the invoice carries over. The vendor code is internal to your store, so you set that.
Vori never silently creates vendors. Vendor creation is always an explicit action you take. Once linked, the mapping persists, and every future invoice from that vendor skips this step. You can link a Store Vendor the same way, even one that isn’t mapped to a Vori Vendor. If the Store Vendor and its Vori Vendor are both linked, the Store Vendor’s link wins.

How invoices reach Invoice Review

Invoices move from your staff to your accountant in one direction. Your staff process the invoice under Invoices (receiving, cost changes, inventory). When they commit it, its status there changes to Done, and it appears on Accounting → Invoice Review under Needs Review. There is no separate notification. The Needs Review count is your queue. If you aren’t connected to an accounting system, Pending Export is called Ready to Export, and invoices move to Done when you download the CSV.
Invoice Review page showing the Needs Review, Pending Export, Waiting for Staff, and Done tabs
A Done under Invoices means your staff finished the invoice. A Done tab on Invoice Review means the bill is in your accounting system. An invoice can be Done for your staff and still wait in Needs Review for you.
If someone commits an invoice before it’s truly finished, it appears in Needs Review. Setting it back to Ready under Invoices moves it to Waiting for Staff.

Approve an invoice

Open an invoice to see its detail: line items, costs, and the account each line is coded to, with department subtotals. You can approve invoices two ways:
  • One at a time. Click the check mark at the end of the row. It’s active only when the invoice is ready to post. Hover over a gray check mark to see what’s blocking it.
  • In bulk. Select several invoices, then click Approve in the toolbar. Invoices whose vendor isn’t linked yet are skipped, and Vori tells you how many.
Approve check marks at the end of each row, with a gray one showing the tooltip 2 departments unmapped
Two invoices selected on Invoice Review with the Approve and Mark as done buttons in the toolbar
Approval is gated. An invoice can’t be approved, and can’t post, unless its vendor is linked and every line is coded to a valid account. Vori flags anything that would block approval:
  • Unassigned Items: lines that aren’t a sellable unit, so they weren’t mapped during cost changes. Common examples are freight, bottle deposits, pallets, or a line that just says taxes. They post to the main department’s account, or to your Default Inventory Account. If no account applies, pick one on the row before you approve. To move a line into a department instead, map it once for that vendor and Vori follows the same pattern next time.
  • Unmapped department: a department on the invoice has no Inventory account, so its row under Accounting shows Needs assignment. Department rows can’t be changed on the invoice. Map the department on the Department Accounts tab of GL Account Mapping, then come back and approve.
  • Unmatched vendor — the vendor exists in Vori but isn’t linked to your accounting system yet. Search for it or create it, as above.
Hover over a gray check mark to see what’s blocking an invoice, such as 1 department unmapped. For each message and its fix, see Troubleshoot invoice approval. When an accounting system is connected, approval creates the bill and the invoice moves to Pending Export:
  • QuickBooks Online and Xero confirm the bill within moments.
  • QuickBooks Desktop receives the bill the next time the Web Connector runs on your accounting computer.
When your accounting system confirms the bill, the invoice moves to Done and carries a link to the resulting record. Without a connected accounting system, approval moves the invoice to Ready to Export. Select the invoices you want and click Export to download a CSV, which moves them to Done.

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 your books without item-level clutter.

Example bill

A produce vendor delivers to two departments on one invoice, with freight billed separately on the same document. You picked the Freight account on the invoice’s Unassigned Items row, so freight posts as its own line. Bill header Bill lines The three lines are debits, and the total is credited to your AP account. The bill appears in AP aging with a due date of 2026-03-19, and you pay it in your accounting system.
No COGS is recorded yet. Cost moves from inventory to COGS when the item sells, through the daily journal entry.

Vendor credits

An invoice with a negative total, such as a return or a credit memo, posts as a vendor credit instead of a bill. In QuickBooks Desktop and QuickBooks Online that is a vendor credit; in Xero it is an accounts payable credit note. The amounts post as positives. The credit carries the same linked vendor, the same one line per department, the same AP account, and the same reference number as a bill. It has no due date or terms. Positive invoices are unchanged. Approve a credit the same way: the check mark on the row, or Approve in bulk. Its lines must net negative like its total. If edits leave the lines netting to zero or positive while the total is negative, approval still goes through, but the sync fails with Invoice total and allocations disagree in sign and the invoice waits in Pending Export with a Credit failed badge. Fix the allocation amounts, then click Retry in Sync History. On every Invoice Review tab, a credit shows its negative amount with a Credit badge. The column named for your accounting system reads Pending Credit to QuickBooks (or your system’s name) while the credit waits. The invoice moves to Done when your accounting system confirms it. If the sync fails, the badge reads Credit failed; see Retry a failed sync. The invoice header shows a Credit badge. With an accounting system connected, the invoice details card adds the note Posts to QuickBooks as a vendor credit, not a bill. (or Xero). Sync History lists the row as Vendor Credit. Mark as done works for a credit you already entered by hand. Without a connected accounting system, the CSV export keeps the negative amounts.

Example vendor credit

A produce vendor picks up damaged product from two departments and issues a credit memo for -109.76. Credit header Credit lines The two lines credit inventory, and the total debits your AP account, so it reduces what you owe the vendor. No terms or due date apply. Apply the credit against a bill in your accounting system.

Unassigned items and other charges

Two rows on an invoice belong to no department:
  • Unassigned Items are lines that aren’t a sellable unit, such as freight, bottle deposits, or pallets.
  • Other Charges is the amount left after the line items and any charges printed on a product line. It’s negative when the line items add up to more than the invoice total.
Vori posts both rows to the department with the most purchases on that invoice. They post on that department’s bill line, so your accounting system shows one line for the account instead of a separate line for each charge. This is the Send unassigned charges to the main department setting, and it’s on by default. To turn it off, see the Settings tab in GL Account Mapping. The main department leaves out departments with Post to main department on, unless every department on the invoice has it on. See Post a department to the main department. Vori picks the account for each row in this order:
  1. An account you picked on the invoice.
  2. With the setting on, the inventory account of the department with the most purchases on the invoice.
  3. Your Default Inventory Account. Vori uses it when the setting is off, the invoice has no product departments, or the main department has no inventory account.

Delivery fee example

A seafood vendor’s invoice totals $633.42. It has $621.42 of seafood products and a $12.00 delivery fee. On a bill, if adding the charges would bring the department’s line to zero or less, Vori posts them as separate lines.

Charges printed on a product line

Some vendors print a charge on a product’s own line, such as an allowance or a bottle deposit like California Redemption Value (CRV). Vori counts these in that product’s department instead of Other Charges, when the invoice total confirms they aren’t already in the line amount. On Sysco invoices, sales tax printed on each line follows that line’s department too. Whatever is left stays in Other Charges and follows the Send unassigned charges to the main department setting: delivery or fuel fees, tax a vendor prints only as an invoice total, and small rounding differences. If you already picked an account or edited an amount on a row, Vori keeps the amount you saved.

Charges printed on their own line

Some vendors print a charge, such as CRV, on its own invoice line. When you code that line to a CRV department, it posts to that department’s accounts as its own bill line. To post it with the main department instead, turn on Post to main department for the CRV department. You set it on the Department Accounts tab in GL Account Mapping. Before you approve, the department’s row under Accounting shows the main department’s account. For example, a liquor invoice has $387.00 of wine and $4.80 of CRV on its own line, coded to CRV GROUP. CRV GROUP maps to the Grocery inventory account. As with other charges, if adding the CRV would bring the main department’s line to zero or less, Vori posts it as a separate line.

Pick an account on one invoice

Before you approve an invoice, each row shows the account Vori will use. To use a different account, open the invoice and pick one on the Unassigned Items or Other Charges row under Accounting. An account you pick always wins over the main department and the Default Inventory Account. The choice applies to that invoice only, and approved invoices are locked.
Accounting card on an invoice with the GL Account picker open on the Other Charges row
If no account applies, the row shows Needs assignment, and you can’t approve the invoice until you pick an account. That happens when the main department has no inventory account and the Default Inventory Account is empty.

When the settings apply

Vori applies Send unassigned charges to the main department and Post to main department when you approve an invoice. Turning either on or off doesn’t change the accounts on invoices you already approved. A bill that already posted never changes. The exception is a bill that failed. When you retry it, Vori rebuilds the bill with your current account mappings and settings. Its accounts and lines can differ from the first attempt. An account you picked on the invoice still wins. CSV exports use the same accounts. The CSV has one debit line for each account on an invoice, so charges that post to the main department’s account add to that department’s line.

Set the Default Inventory Account

Set the Default Inventory Account on the General Accounts tab of GL Account Mapping. It covers fees, deposits, supplies you haven’t mapped to a product, and negative remainders when no department account applies. Pick an inventory, cost of goods, or expense account, such as Freight. Never pick an income account. With Xero, don’t pick an account of the Inventory type. Xero rejects those on bills, so use a cost of goods or expense account.

Handling supplies and other back-door costs

Anything you receive through the back door can flow through Vori, including supplies like gloves, bags, and produce bags. Map these to a sellable unit (a PLU) kept in a dedicated supplies department, and they sync like any other line. Costs that aren’t received goods, such as utilities, don’t belong in this workflow. Before the first invoice with supplies reaches Invoice Review, give the supplies department an account. Pick your supplies or expense account in its Inventory column on GL Account Mapping. No COGS account is needed for its invoices to post.

Troubleshoot invoice approval

A change in GL Account Mapping applies to every invoice that hasn’t been approved yet. Invoices you already approved keep their accounts.

Mark invoices as done without exporting

Use Mark as done for invoices you already entered in your accounting system by hand, such as a backlog from before you connected. The invoices move to Done, and Vori sends nothing to your accounting system. Marking done skips the vendor and account checks that approval runs.
  1. Go to Accounting → Invoice Review.
  2. Open Needs Review. When you’re connected, you can also use Pending Export. Only invoices whose sync failed qualify there, such as a bill you entered by hand after the sync failed.
  3. Select the invoices. Select all works with your search and filters. Vori processes large selections in batches of 100, so a full backlog works.
  4. Click Mark as done in the toolbar, then confirm.
Without a connection, Mark as done is available on Needs Review only.
Confirmation dialog asking to mark 2 invoices as done without sending them to QuickBooks
The confirmation names your accounting system: They move to Done without being sent to QuickBooks. Use this for invoices already entered in QuickBooks. If a batch fails partway through, the earlier batches stay done and the rest stay selected, so you can try again. Vori confirms with a message such as 3 invoices marked as done. When it skips some invoices, the message gives the counts and reasons:

The Marked done badge

Invoices you mark done show a Marked done badge where exported invoices show Exported. Hover over it to see when it happened: Moved to Done without exporting to QuickBooks. Marked done on 09/24/2026 at 2:15 PM PDT. The badge appears in:
  • The Status column on the Done tab. It’s hidden by default. Show it from Columns → Show/Hide Columns.
  • The header of the invoice in Invoice Review.
  • The Accounting column on Invoices.
Done tab with a Status column showing Marked done and Exported badges, and a tooltip open on the first Marked done badge

Reopen a marked-done invoice

To send an invoice back for review, open the Done tab, select it, click Reopen, and confirm. It moves back to Needs Review, where you can approve it and post it as a bill. Only invoices marked done can be reopened. Invoices whose bill posted, or whose CSV you downloaded, are skipped, and the message tells you why.

Retry a sync for a marked-done invoice

Vori refuses to retry a sync for a marked-done invoice, so it can’t post a bill you already entered. Reopen the invoice first. See Retry a failed sync.