Upload and review invoices

Direct upload sends an invoice PDF or photo to the same parser and matcher that email forwarding uses. Use it for a paper invoice in hand, a fax, or a month of old invoices you are backfilling. You review each parsed line and commit, and Rinvy creates the receipt.

Should I upload an invoice or forward the email?

Forward the email for the weekly invoices from your main suppliers, and upload everything else.

SituationUse
Recurring weekly invoices from main suppliersEmail forwarding
Hand-delivered or faxed invoiceUpload
Backfilling a month of historyUpload (one at a time)
Supplier doesn't email PDFsUpload
Testing the parser before enabling auto-forwardUpload

A paper invoice of two or more pages is one upload. After Take photo, the app asks whether the invoice has another page. Tap Take next page for each page, then Upload N pages. With Choose from gallery or Upload file, select every page at once (up to 10 photos, JPG or PNG). Rinvy joins the pages into one PDF and parses them together, so the invoice uses one parse and lands in review as one invoice.

If the pages were uploaded one at a time, each page that lists items goes to review as a separate invoice. Open one of the pages in review and press Combine pages. Rinvy moves the lines of the other uploads with the same supplier and invoice number onto it, and dismisses the other uploads, so the invoice is received once. Under History, each of those uploads has a Combined chip. Open one and press Open invoice to go to the page that has its lines.

If the same page was uploaded twice, Rinvy does not combine the copy. A warning says that the upload looks like a copy of a page and how many of its lines match. Dismiss the copy, so its lines are not received twice.

Upload flow

  1. Go to Receive products.

  2. Tap Snap invoice (top right on desktop, or the action row on mobile).
  3. Choose Upload file from the sheet, then pick a PDF (or image — JPG, PNG also work for legible scans). Take photo and Choose from gallery are the other options.

  4. Wait for parsing. Takes a few seconds for clean PDFs, longer for multi-page or scanned ones.

  5. Review the parsed line items in the invoice review screen.
  6. Resolve any line marked Needs review.
  7. Tap Commit receive to create the receipt.

What the review screen shows

The invoice review screen lists every line item with a status badge:

BadgeMeaningWhat to do
MatchedTied to a product — by supplier item code, a mapping you just made, or a product you addedNothing — it'll be on the receipt
Needs reviewNo product matched yetPick a product under Map to product (click to see them all, or type to filter). The mapping is saved. Or Accept the suggestion, Add as new, or Skip it
Confirm unitMatched, but the receiving unit only converts by a guess, or the invoice shows no unitOpen the line and set the unit before committing
SkippedYou chose to exclude this line, or this supplier's always-skip rule didLeft off the receipt. Press Unskip to bring it back

A Needs review line shows the products whose names are closest to the invoice text, even when the AI suggestion step did not run. The best one shows with Accept. It reads Suggested when the names are nearly the same (for example, they differ only in word order or pack size) and no other product is as close. It reads Closest match when the names are less alike, or when two products are equally close, such as two grades of ground beef on a line that names no grade. When the line names a size or grade, such as 80/20 or 12oz, the product with the same size comes first. The next two show as buttons you can tap to map the line. Rinvy compares the line with each product's name and with the invoice descriptions you already mapped to it, so "CHS CHDR SHRD" finds "Cheddar, shredded". The Map to product list also starts with these products, then lists the rest by name. A closest match is only a suggestion: nothing is mapped until you tap it. Accept all suggestions maps the lines that read Suggested and leaves each Closest match for you to check. When the AI is not sure of its pick for a line, Rinvy adds the product to the closest matches and does not make it the AI suggestion. If that product is also the clear best name match, it still reads Suggested, and Accept all suggestions takes it. Look at each Suggested line before you accept them all.

Fees, deposits and tax are not product lines. A delivery fee, a fuel surcharge, a pallet charge, a bottle deposit or a sales tax shows read-only under the lines, in Fees, deposits and tax. Rinvy books those amounts on the receipt and counts them in the total, so you don't skip them and the invoice still adds up.

A credit or return printed on the invoice, such as a returned case or a damaged item, shows read-only in Credits. Rinvy takes it off the total, so the invoice still adds up, and the invoice waits for you to commit it. A credit moves no stock. When the credit's item code matches a product, the credit comes off what you spent on that product. When it matches none, it comes off the receipt total. A credit memo on its own (a document whose total is negative) is still entered by hand. You can skip lines that aren't products you stock, such as a sample. If you skip a line by mistake, press Unskip on it. A line that had a product comes back Matched. A line that didn't comes back to Needs review.

A line you never want from a supplier, such as a pallet charge or a sample, can be skipped for good. Press Always skip from and the supplier's name, next to Skip. Rinvy skips the line, and any other line on the invoice that reads the same. On every later invoice from that supplier, the line arrives already skipped, so it never holds the invoice for review. The row reads "Always skipped from" and the supplier's name, here and in History. Rinvy remembers the line by its item code, or by its description when it has no code. The same line from another supplier is not skipped. To undo it, open the supplier on the Suppliers page and press Remove under Always-skipped invoice lines. The next invoice brings the line back to Needs review. Always skip from shows only to owners and managers, who manage suppliers, and only when the invoice has a supplier. Staff can still skip a line on one invoice. A line already matched to a product can't be always skipped: remove the match first.

If a line was matched to the wrong product, press Change on it. Pick the right product, or press Remove match to send the line back to Needs review. From there you can add it as a new product or skip it. Rinvy also forgets that item code, and that line description, for the wrong product, so the next invoice from this supplier doesn't match it the same way.

Under the product name, a matched line says why it matched. For example, "Matched by Sysco code 123456 (taught Sep 12)" means Rinvy learned that item code on Sep 12. "Matched by description (confirmed 3 times)" means you confirmed that line description on three invoices. A line matched by another supplier's code says so, so check it. A line you picked, accepted from the suggestions or added as a new product says that too.

To see everything Rinvy learned, open the product on the Products page or the supplier on the Suppliers page. The Supplier codes and aliases list shows each item code, each line description and each supplier unit, with the day Rinvy learned it. Owners and managers can press Remove on a wrong one. Removing an item code also removes the line description Rinvy learned with it for the same product. The next invoice that prints it comes back to Needs review, or asks for the unit again. Lines already in review keep their match.

A matched line also shows the last price you paid for that product, in the line's unit, and the change, for example "Last $42.10/case · +9%". If the price is more than 25% above or below the last price, the line shows a warning. Look at the unit and the price on the paper before you commit. A price per pound read as a price per case looks like this. A product you never priced shows no comparison.

Add as new shows only for owners and managers, who can add products. Staff map a line to an existing product or skip it.

Add as new fills in the product for you: a readable name, a storage area, the unit you count it in, the case size and its weight. Rinvy reads the line and, when it needs to, searches the supplier's catalog. On an upload this takes a few seconds when you open the form. On a forwarded email invoice, Rinvy does this before you open the review for most lines, so the form opens already filled. Rinvy skips a line that already has a suggestion or a very close name match, and it stops after a daily number of lookups. For those lines, the form fills in when you open it, as on an upload. Check each field before you create the product.

To check a line against the paper, press View invoice at the top of the review. The PDF or photo you uploaded or emailed opens over the review, so you don't lose your place. An invoice that came in as email text, with no attachment, has no file to show.

Invoice review screen listing five parsed line items: two green Matched rows (Rice, Olive Oil) and a red Needs review row (Beef Patties) with a suggested product and Accept, Add as new, and Skip buttons, above a "2 of 5 matched" progress bar

Re-match after you add products

An invoice can wait in review while you add products, or while you map the same items on other invoices. Press Re-match next to the matched count to check its Needs review lines again:

  • A line whose supplier item code, or whose description from this supplier, Rinvy has learned since then becomes Matched.
  • For the other lines, Rinvy suggests products from your catalog as it is now. You still accept each suggestion.
  • The closest matches on each line are worked out again too. This step uses no invoice scan, so it still runs when you reach your monthly limit.

Re-match never changes a line you already mapped, edited, or skipped. The suggestion step counts as one invoice scan toward your monthly limit.

When another supplier packs it differently

A product's case size comes from the supplier you set it up from. If you map a line from another supplier to it, Rinvy checks how that supplier packs it:

  • If the invoice shows a different pack (for example 24 each a case against your 48), the line says so and offers Add [supplier] option. Rinvy adds a purchase option for that supplier and books the line in its cases. Later invoices from that supplier use it on their own.
  • If the invoice doesn't show a pack, the line asks how many are in that supplier's case. Enter the number to add an option, or press Same as [supplier] if the cases match.

Only owners and managers can add the option. Staff see the note and can ask a manager to add it.

Leave an invoice for review

Sometimes the person who uploads the invoice is not the person who knows the products. An office admin can scan the paper but cannot tell which product a line is, or where a new product is stored. A guess at that point becomes a wrong receipt. Leave the invoice for review instead, with a note for the next person. The note can also be a reminder to yourself for later.

  1. Open the invoice in review.
  2. Map, add or skip the lines you are sure about. Each change is saved at once.
  3. Press Leave for review above the Commit receive button.
  4. Type a note if you want. For example: "Not sure about lines 3 and 7, no storage areas set".

  5. Press Leave for review again to confirm.

The review closes. Every owner and manager of the kitchen gets a push notification that opens the invoice. The invoice stays under Pending with a Left for review chip, the count of lines that still need review, and your note. When the next person opens it, a banner at the top shows your name, the date and your note, above the lines.

Leaving an invoice for review does not lock it. Anyone who can receive can still commit or dismiss it, you included. If you leave it again, the new note replaces the old one and the owners and managers get a new notification. After the invoice is committed or dismissed, History keeps the note.

Dismissing and restoring an invoice

Dismiss takes an invoice out of review without creating a receipt. Dismissed invoices are listed under History with a Dismissed chip. To bring one back, open it and press Restore to review. It returns to Pending with its lines as you left them.

Invoices for orders you submitted

If you submitted the order through the order list, Rinvy pairs the arriving invoice with it — same supplier, plausible dates, overlapping products. The pair shows as one row in the Receive inbox and one row on the dashboard, instead of a "pending delivery" and an "invoice to review" for the same truck.

Inside review, the matched order appears at the top with a Cases ordered → cases on this invoice comparison, so shorts and unordered extras are called out by name before you commit. Committing the invoice also marks the order received — no need to log the delivery twice.

The matched-order card at the top of invoice review: header "This is the delivery for your order" from Bulk Goods Co, a "1 of 2 lines differ from what you ordered" warning, an Olive Oil line reading 2 → 1 tagged Short, and a Rice line reading 2 → 2 tagged As ordered

Use Change on that card if the match is wrong, or to pick an order yourself when Rinvy couldn't tell (an invoice with no recognized supplier never auto-matches). Choosing Not for an order unlinks it and leaves the order waiting. Each order matches at most one invoice, so an order already paired with another invoice under review won't be offered.

Set the supplier

The Supplier field at the top of the review shows the supplier Rinvy found. To correct it, pick another supplier from the list.

If the supplier is not in your list yet, pick + New supplier from this invoice. Rinvy adds a supplier with the name printed on the invoice and sets it on this invoice. Add its delivery days on the Suppliers page later. Owners and managers see this option.

When the invoice came by email, Rinvy remembers who sent it. The next invoice from that sender arrives with the supplier already set, unless the subject line or the invoice names a different supplier. The supplier name printed on the invoice always wins. To undo this, edit the supplier on the Suppliers page and press Remove next to the sender under Invoice email senders.

Editing parsed data

The parser does its best, but sometimes you'll want to override:

  • Quantity — if the parser read 8 but the line clearly says 8.5, edit inline.
  • Unit — if the parser picked lb but you actually receive in case, change the dropdown.
  • Cost — if the parser missed a line discount, correct the number.
  • Invoice number — if the parser mis-read a digit, correct it in the Invoice # field on the review card. Fixing it here (before you commit) keeps the duplicate check accurate and saves the right number onto the receipt.

The inline editor open on a matched invoice line, showing Quantity, Unit, and Cost per case fields with an Expiration date picker, a line reading "Adds 100 lb to stock · $50.00 line total", and Save and Cancel buttons

The Unit dropdown is also where you clear a Confirm unit line: open the line and pick the unit the supplier actually shipped. When the invoice shows no unit for a line, or the AI could not read the unit clearly, Rinvy fills in case. Check it against the delivery and save the line, even if case is right. Every edit is saved onto the receipt.

Set the day the delivery arrived

The review card has a Received on date. The receipt is dated on this day. The default is today. Under the field, Rinvy shows the date printed on the invoice.

If you review an invoice on the day it arrives, keep today. If you review it later, pick the day the delivery arrived. This is important when you counted inventory after the delivery and before the review. The count already holds the delivery, so the receipt must be dated before the count. Otherwise the Food Cost report counts the delivery twice: once in the beginning count and once in Purchases.

Do not just copy the invoice date. Some suppliers date the invoice the day before they deliver. You cannot pick a day after today.

Can I change the date after I commit?

Yes, if you are an owner or a manager. Open the receipt under History on the Receive page, pick the right day in the Received on field, and press Save. When the new day is on the other side of a completed count, Rinvy names that count and asks you to confirm. The count keeps its numbers, and the stock logged between the two dates is recomputed. See receive a delivery manually for the details.

Pick where the stock goes

Some products are counted in more than one place, for example butter in the walk-in and in the bakery fridge. For such a product, the line editor shows Put away in. Pick the storage area where you put the stock. The list starts with the home storage area, then the other places in count order. If you do not pick a place, the stock goes to the home storage area.

  • After you pick a place other than the home storage area, the line shows Put away in and the place name.
  • A short that you record against the line (the driver left less than the invoice bills) comes out of the same place. If you change the place later, the short moves with it. The short shows From and the place name.
  • If you map the line to a different product, the place goes back to the home storage area.

A product with only one place shows no picker. If someone removes the place from the product, the line shows Put away in: place removed. Open the line, pick a place, and save. If you save without a pick, the stock goes to the home storage area. If you commit before you fix the line, Rinvy stops the commit and names the product.

An invoice that Rinvy approves automatically does not go through review, so it names no place. Its stock goes to the home storage area. See count a product in more than one place.

What happens after you commit

  • A receipt is created with the matched line items, dated on the Received on day.
  • The parsed invoice number and invoice total carry onto that receipt, so an AI-received delivery reconciles and references the same way a manually entered one does (visible in the receipt detail, the activity feed, and the receipt CSV export).
  • Inventory entries are added for each item (using the chosen quantity, unit, and cost).
  • For a product counted in more than one place, the stock goes to the place you picked on the line, or to the home storage area.
  • Weighted-average cost recomputes for each affected product.
  • Supplier item code mappings, and the supplier's line descriptions, are saved for next time.
  • The ingestion record is marked Completed in the queue.
  • Rinvy keeps the invoice's PDF or photo for as long as the kitchen exists. Open the receipt under History and press View invoice to see it again, for example to check a credit or a dispute months later. Rinvy deletes the file of a duplicate right away, and the file of an invoice that failed or was dismissed 90 days after it arrived.

Failed parses

If a PDF is too low-quality or contains no extractable line items, the ingestion is marked Failed. You'll see why (bad scan, no recognizable structure, etc.) and can either re-upload a better copy or fall back to manual receiving.

A better copy helps because the parser gets each PDF page both as an image and as the text extracted from it (Anthropic's PDF support guide). A faint, skewed, or cropped scan weakens both.

Common mistakes

Committing without reviewing lines that need review

Lines that need review are dropped from the receipt by default. If you commit without confirming them, the receipt is incomplete — quantities don't reflect what you actually received.

Editing the parsed quantity when the parse was right

The parser correctly reads multi-pack sizes (6 x 12 oz) as one quantity. If you "fix" that to one of the inner numbers, the receipt becomes wrong. Press View invoice and check the printed line before you change it.

Uploading the same PDF twice

Rinvy attempts duplicate detection — an invoice number already recorded on a received invoice (or one you entered by hand on a manual receipt) is caught — but it isn't perfect across slightly different PDF copies of the same invoice, or when the number was mis-read. Check ingestion history before re-uploading.

Related