Recording deliveries by hand is one of the slowest parts of running inventory. AI Invoice Import lets you upload a photo or PDF of a supplier's invoice — Papaya's AI reads the line items, the supplier, the delivery date, and the prices, then drops a draft goods receipt into your outlet for you to review and complete.
If you're new to goods receipts, start with Suppliers & Goods Receipts — this article focuses on the AI import flow on top of that.
What you can upload
Format: JPG, PNG, or PDF
Multiple files at once: each file becomes its own draft goods receipt
Real invoices, photos of paper invoices, or screenshots — all work
How it works
Open Inventory → Goods Receipts at an outlet.
Click Add → AI import (the top option, marked with the AI accent).
Drop your invoice files into the dialog (or click to upload). Click Generate.
Papaya uploads the files securely and starts processing. You'll see a confirmation toast: "We're processing your invoices. The draft goods receipts will appear here shortly."
After a short wait, the new drafts appear in the goods receipts table, attributed to you (not "API Import").
Open a draft to review and complete it.
Reviewing a draft
The AI does its best, but you should always review before completing. Anything the AI couldn't match cleanly is flagged in red so you can fix it in place.
You'll see | What it means | What to do |
🔴 Select product in the Product cell | The AI couldn't match the invoice line to one of your inventory products | Click the cell — pick the right product from the picker |
🔴 Select unit in the Purchase unit cell | Product matched, but the unit on the invoice (e.g. "carton of 24") isn't set up on that product yet | Click the cell — pick an existing unit, or use + Create purchase unit to add it on the spot |
Quantity / total price filled in | The AI extracted the numbers from the invoice | Spot-check against the invoice; edit if needed |
Empty supplier | The AI couldn't match a supplier in your list | Pick or create one in the supplier field |
You can also edit, re-upload, or remove the attached invoice while the draft is open — click the invoice thumbnail to open it in a new tab.
The Complete button is locked until every line resolves to a valid product and a valid purchase unit. This is intentional: completing a goods receipt updates outlet stock, and we don't want unmatched lines silently skipped.
Creating a purchase unit on the spot
If the invoice uses a unit (e.g. carton of 24) that isn't set up on the product yet, you don't need to leave the draft to add it:
Click the red Select unit cell.
In the unit picker, click + Create purchase unit at the bottom.
Enter the unit name and how many inventory units it contains (e.g. 1 carton = 24 cans).
Save — the new unit is added to that product's purchase units list and auto-selected on this row.
The unit is now available everywhere that product is used, not just on this goods receipt.
Tax and totals
If you've set up tax rates (see Tax Rates for Inventory), the AI will try to apply your default tax rate to each line. You can change the per-line tax rate, toggle Prices include tax, and add a shipping fee in the Totals section before completing.
What happens when you click Complete
Stock at the outlet is updated based on the received quantities.
An Invoiced item record is created for each line, snapshotting the price and tax at that moment.
Each line's tax rate, name, and amount are stored on the goods receipt — so editing or deleting the tax rate later won't change historical receipts.
Tips
Photo quality matters. A clear, flat, well-lit photo gives much better extraction than a creased or angled one.
One invoice per file. Mixing two suppliers' invoices into one PDF will confuse the parser — split them first.
Empty drafts are fine. If the AI can't extract any lines (very faded or handwritten), you'll get an empty draft you can fill in manually.
Re-upload to re-parse. If the first pass missed too much, remove the file from the draft, discard the draft, and re-upload — sometimes a different photo angle helps.
FAQ
Are my invoices private?
Yes. Files are stored in a private bucket separate from your public images, and only opened through short-lived signed URLs. Suppliers, prices, and account numbers stay inside your account.
How long does parsing take?
Usually under a minute per file. If a draft hasn't appeared after a few minutes, the parser may have failed silently — try the upload again, or file a bug report.
Can I still create goods receipts manually?
Of course. Add → New goods receipt still works exactly as before. AI import is an additional option, not a replacement.
Will it learn from my corrections?
Not yet. Today, every invoice is parsed fresh. We may revisit this once we have enough data to fine-tune.

