Invoicing a Purchase Order
Upload, review, match against the PO, and submit — without retyping anything you don't have to.
invoices-createCreate an invoice against a purchase order.invoices-updateEdit a draft invoice.invoices-sendSubmit an invoice to the customer.
Overview
Once you've accepted a PO (see Working with Purchase Orders) the next step is to invoice your customer for the work or goods delivered. The flow lives on the PO's detail page and looks like this:
- Upload your invoice file — Axiom auto-extracts the data and pre-fills the form.
- Review and adjust — fix anything the extraction got wrong.
- Match lines to the PO — auto-matched lines are flagged for mismatches; swap a match if it's off.
- Add extra items, taxes, or charges — both at the line level and at the invoice header.
- Save as draft to pause, or Submit to send it to your customer.
You can return to a draft any time to keep working on it, and once submitted the invoice appears on the PO's Invoices table for follow-up.
1Open the invoice flow
Open the PO detail page for the order you want to invoice. The header shows an Upload invoice button (with a document/dollar icon) once the PO is Accepted.
Click it. You're taken into the invoice editor for this PO, with a two-pane layout — your uploaded document on the left, the editable invoice form on the right.
Note: the button only appears once the PO is Accepted. If it's still in Received, accept the order first.
2Upload your invoice file
The first thing you'll see is a drop zone:
Upload Invoice Document
Upload a PDF, image, XML, or JSON invoice. We will extract the data and pre-fill the form for you.
| Setting | Detail |
|---|---|
| Accepted formats | PDF, PNG, JPEG/JPG, GIF, WebP, XML, JSON |
| Maximum size | 32 MB |
Drag your invoice in, or click to pick it. The file uploads and Axiom kicks off automatic data extraction in parallel.
While extraction runs you'll see:
Extracting invoice data… We are reading your document. This usually takes a few seconds.
If extraction fails for any reason, an Extraction Failed state appears with a Try Again button. You can also continue manually — every field is editable.
3Review the extracted information
Once extraction completes, the form on the right pre-fills with what Axiom read from your document. The two key indicators next to extracted fields:
| Indicator | Meaning |
|---|---|
| ⭐ Extracted from file (indigo) | The value came directly from your uploaded document. |
| ⚠️ Invoice number required (amber) | The value couldn't be extracted; you need to enter it manually. |
The Invoice # field
| Field | Description |
|---|---|
| Invoice # | Your supplier-side invoice identifier. Auto-filled from the uploaded document where possible. Required to save or submit. |
Edit the value if extraction picked up the wrong string, or type it in by hand if the indicator is amber.
4Review the line items and match them to the PO
The Line Items table sits below the header. Each row Axiom extracts from your document becomes one editable row here, with fields for:
| Field | Description |
|---|---|
| Line Identifier | Your supplier-side line number or SKU. Editable. |
| Item Name | The line description. Editable. |
| Unit Price | Per-unit cost in the order currency. Editable. |
| Quantity | Quantity invoiced. Editable. |
Fields with validation errors show a red border. An empty state — "No items — add items manually or re-upload a document" — appears if extraction returned no lines.
PO item matching
Each invoice line carries a PO Item link so the customer's system can match it back to the order:
- Linked. The button reads PO ITEM: <item name> — Axiom auto-matched this line to a specific PO line (typically by description or name).
- Unlinked. The button reads Link PO Item — there was no confident auto-match.
Hover the linker button to see a tooltip showing the matched PO line's name, unit price, quantity, and total. The tooltip's left border indicates the match state:
| Border | Meaning |
|---|---|
| Green | The match looks good — no discrepancies detected. |
| Red with "Mismatch detected" header | One or more of Name, Unit price, or Quantity differs from the PO line. Each discrepancy is shown as a title / value pair so you can see exactly what's off. |
Changing the matched PO line
Click the linker button to open a dropdown listing every line on the PO:
| Column | Description |
|---|---|
| Select PO Item | The PO line's name / description. |
| Unit Price | The PO line's unit price. |
| Quantity | The PO line's quantity. |
| Total | The PO line's total. |
The current match is highlighted. Click any other row to swap the linked PO line — useful when Axiom's fuzzy match picked the wrong line, or when one invoice line covers a different PO line than you expected.
Tip: if your invoice shows a mismatch you didn't intend — e.g. a price that's different from what was agreed — fix the value on the invoice line before submitting. Submitting with mismatched data will surface on the customer's side and can delay approval.
5Add additional items
If your invoice covers something not on the PO — perhaps an extra service rendered or a one-off cost — you can append new lines that aren't auto-matched.
Open the Add Item slide-over from the items table.
| Field | Description |
|---|---|
| Item Name | Search for a product, or type a description. |
| Unit Price | Amount input with a currency dropdown. |
| Quantity | Defaults to 1. |
Click Add Item to append the line to the table. The new line starts unmatched (Link PO Item) — leave it that way if it's genuinely extra, or link it to a PO line if it should attach to one.
6Item-level taxes and charges
Each line can carry its own taxes and charges — for things like line-specific VAT or freight on a single delivery.
Per-line taxes
Click + Add item tax on the line you want to tax.
| Field | Description |
|---|---|
| Tax Name | A descriptive label (e.g. "VAT 20%"). |
| Amount | The tax amount in the line currency. |
You can add multiple tax rows per line. Click the delete icon to remove one.
Per-line charges
Click + Add item charge on the line you want to charge.
| Field | Description |
|---|---|
| Type | One of Freight, Surcharge, Handling, Duty, Insurance, Other. |
| Charge Name | A descriptive label. |
| Amount | The charge amount. |
Same as taxes — multiple rows allowed, with a delete icon per row.
7Invoice-level taxes and charges
Below the line items, you can also add taxes and charges that apply to the whole invoice rather than any one line. Useful for things like a single shipping cost across the order, or a VAT figure quoted at the invoice footer rather than per line.
| Button | What it adds |
|---|---|
| + Add invoice tax | A header-level tax with Tax Name and Amount. |
| + Add invoice charge | A header-level charge with Type, Charge Name, and Amount. |
The fields work the same as the line-level versions; the only difference is scope.
8Save as draft, or submit
Two actions sit at the bottom of the form.
Save as draft
Click Save as draft to persist the invoice in its current state without sending it to your customer. You'll see "Invoice draft saved successfully" and you'll be returned to the PO detail page, where the draft appears in the Invoices table with the Draft status (grey chip).
Drafts can be edited freely later — see Editing a draft invoice.
Submit
Click Submit to send the invoice to your customer. You'll see "Invoice submitted successfully" and you'll be returned to the PO detail page. The invoice now sits in the Invoices table with the Sent status (blue chip) — on the customer's side they'll see it as Received.
Validation runs on both actions:
- Invoice # is required.
- At least one item is required.
- Every item, tax, and charge row must be complete (no half-filled values).
Tip: save as draft when you're 90% done and waiting on one piece of info (e.g. a PO reference from a colleague). Submit only when you're confident — once submitted, edits go through your customer rather than directly.
9Editing a draft invoice
Drafts can be picked up at any time from the Invoices section on the PO detail page.
- Open the PO that the draft belongs to.
- Find the draft row (Draft chip) in the Invoices table.
- Click the row to open the invoice detail page.
- Click Edit Invoice (pencil icon) in the header.
You're taken back into the same invoice editor with all your previous data — extracted file, line items, PO links, taxes, charges, header info. From here you can either Save (updates the draft in place) or Submit when you're ready.
10Viewing a submitted invoice from the PO
Submitted invoices appear in the Invoices table on the PO detail page alongside drafts:
| Column | Description |
|---|---|
| Amount | The invoice net amount. |
| Invoice Number | Your supplier-side identifier. Clickable to open the invoice detail page. |
| Status | Coloured chip — see below. |
| Due | The invoice's due date (calculated from the PO's payment terms). |
| Created | When the invoice was raised. |
Invoice status chips
| Status | Colour | Meaning |
|---|---|---|
| Draft | Grey | Saved but not yet submitted. Editable. |
| Sent | Blue | Submitted to your customer; awaiting their action. |
| Approved | Green | Customer has approved for payment. |
| Paid | Green | Payment received in full. |
| Cancelled / Rejected | Brown | The invoice has been cancelled or rejected by the customer (with a reason captured). |
Clicking any row opens the invoice detail page — a read-only view of the same form sections (header, items, taxes & charges, terms, addresses, history, notes) plus a chat panel for messaging the customer about that specific invoice.
Tip: check the History card on the invoice detail page to see when each status change happened, who made it on the customer's side, and any rejection reason captured.
Messaging your customer about an invoice
Every invoice detail page carries a Message Customer button in the header. It opens a chat panel scoped to this specific invoice — so questions about a discrepancy, a missing approval, or a rejection reason stay tied to the invoice they're about.
Channels, threads, reactions, file sharing, and member management all work the same way across POs and invoices — see Messaging Customers for the full guide.
Tips & good practice
- Upload the cleanest copy of the file you have. Extraction quality depends on it — a clear PDF beats a phone photo of a printed invoice every time.
- Always check the PO-item linker tooltips. A green border means Axiom thinks it matches — but a quick visual check catches the cases where the description happens to match a different PO line than you intended.
- Adjust your invoice values, not the PO match, when you see a price or quantity mismatch. The PO line is what your customer expects to pay against — your invoice should match it.
- Use drafts liberally. They cost nothing and don't notify the customer. Use them as a working scratch-pad as you reconcile against your own systems.
- Keep invoice-level taxes / charges separate from line-level. Item-level taxes apply per-line (e.g. line-specific VAT); invoice-level taxes apply once to the whole order (e.g. a single shipping cost). Mixing the two makes reconciliation harder for everyone.
Troubleshooting
Extraction failed on my upload. Click Try Again to retry, or proceed manually — every field is editable. The most common cause is a non-text PDF (an image scan) or an unusual layout. Re-uploading a clearer copy usually works.
A line is showing a mismatch I can't explain. Open the linker dropdown and check the PO line it's currently matched to. If the auto-match picked the wrong PO line, click the correct one. If the match is right but your invoice value is wrong, edit the invoice line's field rather than changing the link.
The Save / Submit button is greyed out. There's a validation error somewhere — usually a missing Invoice # or an incomplete tax / charge row. Scroll up to find the red-bordered field and fix it.
I submitted an invoice by mistake. You can't unsubmit from your side. Use the chat panel on the invoice detail page to message your customer; they can reject or cancel the invoice and you can raise a corrected one.
My draft isn't showing on the PO. Make sure you're looking at the right PO — drafts attach to whichever PO you started the upload from. Open the Invoices table on the PO detail page and check the Status column filter if one's applied.
The Edit Invoice button isn't showing. That button only appears on Draft invoices. Submitted (Sent, Approved, Paid, etc.) invoices aren't editable from your side — talk to your customer if a correction is needed.
Need help?
If something's stuck, message your customer first via the chat panel on the invoice — most invoice issues are quicker to resolve directly. If you need Axiom support, include the PO Identifier and the invoice number and a description of which step failed.
- Overview
- 1. Open the invoice flow
- 2. Upload your invoice file
- 3. Review the extracted information
- The Invoice # field
- 4. Review the line items and match them to the PO
- PO item matching
- Changing the matched PO line
- 5. Add additional items
- 6. Item-level taxes and charges
- Per-line taxes
- Per-line charges
- 7. Invoice-level taxes and charges
- 8. Save as draft, or submit
- Save as draft
- Submit
- 9. Editing a draft invoice
- 10. Viewing a submitted invoice from the PO
- Invoice status chips
- Messaging your customer about an invoice
- Tips & good practice
- Troubleshooting
- Need help?