A Xero purchase order to invoice job starts with one question: whose order is it? A customer’s purchase order records what they want to buy from you, and it is different from the purchase order you send a supplier.1
The short answer: first identify whose order you have. For an incoming customer PDF, design capture, duplicate checks and review before creating a draft sales invoice. This proposed design uses sample data.
Scene 6 of 6
Your accepted quote. Quote Q-3310 for Customer A (sample): 10 filter kits at $80.00, accepted in writing.
Then the customer’s PO arrives. PO-842 arrives as a PDF by email. Nobody has retyped it yet.
Quote Q-3310Accepted
Customer A (sample)
Agreed price per kit $80.00
- Filter kits10 at $80.00$800.00
- Quoted value
- $800.00
Accepted by the customer.
Customer PO-842Received
Customer A (sample)
PDF by email
- Filter kits10 at $80.00$800.00
- Order value
- $800.00
Order reference PO-842.
Capture reads the PDF. A capture tool turns the PDF into the same fields as the quote. It reads and decides nothing.
Rules compare the fields and the register. The same checks every time: customer, price, quantity and any repeat of PO-842.
Read by the capture tool Quote Q-3310
Read by the capture tool PO-842
Customer
CustomerQuote Q-3310: Customer A
✓CustomerPO-842: Customer A
Item
ItemQuote Q-3310: Filter kits
✓ItemPO-842: Filter kits
Quantity
QuantityQuote Q-3310: 10
✓QuantityPO-842: 10
Price per kit
Price per kitQuote Q-3310: $80.00
✓Price per kitPO-842: $80.00
Order value
Order valueQuote Q-3310: $800.00
✓Order valuePO-842: $800.00
- Customer A matches an existing contact
- Price and quantity agree with the quote
- PO-842 is not in the order register
A person decides. The office confirms the order and the delivery. A bookkeeper then approves and issues the invoice.
Messages · PO-842
Draft invoice Waiting for the officeDraft createdHeld for the office
Create a draft invoice for PO-842?
Delivery is confirmed. A draft is only a draft.
Drafted for approval.Held, with the reason recorded. A draft sales invoice is created with the PO reference. A bookkeeper approves and issues it. Nothing goes to the customer from here.The order waits for the office to settle the difference. Nothing is created in Xero.
Xero · Draft invoice INV-5101Draft
Customer A (sample)
- Filter kits10 at $80.00$800.00
Reference PO-842. A bookkeeper approves and issues it.
Order register · PO-842Held
Customer A (sample)
- StatusHeld for the office
Nothing is created in Xero.
End of the day Each customer purchase order is read, checked against the accepted quote and the order register, then drafted as a sales invoice. The office approves. Nothing is issued automatically.
Start with the native options
| Starting record | Route |
|---|---|
| Your supplier PO in Xero | Copy to a bill, or to an invoice for on-charging |
| Your accepted quote | Convert to an invoice |
| A customer’s incoming PDF | Capture, validate and review before drafting |
Xero’s US product page says you can copy an approved order “into a bill to pay your supplier, or into an invoice to on-charge a customer”.2 That starts with an order already in Xero. Xero’s Australian invoicing page says: “Turn a quote into an invoice in a click”.3 Neither page says Xero reads an incoming customer PO automatically.
Choose capture for the document
Docparser
Its Xero page says it can scan a PDF, extract the data and send it to Xero.
Parseur
Its Xero page covers invoices and expense emails, sent through Zapier.
Xero Documents, Hubdoc
Both describe capturing receipts, bills and supplier details.
Docparser’s Xero page says it can “scan a transaction from a PDF, extract the requested data, and send it to Xero”, and it names purchase orders.4 Parseur’s Xero page sends data through Zapier.5 Zapier needs a paid Xero account, Standard or Adviser permissions and a paid Zapier plan, because Xero is a premium app.6
Xero’s Documents update describes capturing “a receipt or bill”.7 Hubdoc says supplier names, amounts, invoice numbers and due dates are extracted.8 Those descriptions do not establish this customer-PO workflow, so test the actual document and the destination.
A worked example on sample data
A$ ex GST · orange: the difference
Ten kits at $80.00 each. Tax treatment is outside this sample.
Illustrative figures, not client data.
Sample data, not a client’s. For PO-842, match Customer A (sample) to an existing contact, compare the customer’s price with your accepted quote and confirm delivery before releasing the invoice. Xero’s API example creates a sales invoice, type ACCREC, with a DRAFT status and a reference.9 Keep the customer’s PO reference distinct from your invoice number.
PO-842 and draft INV-5101, line by line
| Customer A (sample), PO-842 | Value |
|---|---|
| Filter kits ordered and delivered | 10 |
| Agreed price per kit | $80.00 |
| Order value | $800.00 |
| Draft INV-5101 value | $800.00 |
| Difference | $0.00 |
Block duplicate orders and retries
Same PO, same content
Same customer, same PO number and same content: stop it as a duplicate.
Same PO, changed content
The customer changed the order. Hold it for a person to review the revision.
Partial delivery
Review the quantities already invoiced before drafting the rest.
New approved order
Reserve a register entry, create the draft and save the Xero ID.
I would keep an order register outside the capture step, and match the organisation, customer and PO number before creating anything. Xero documents an Idempotency-Key header that “allows you to safely retry requests without the risk of duplicate processing”.9 Use it for retries, alongside your register, and after a failed response check for the created invoice before retrying.
A checklist before you build
Match the order
The customer on the PO is matched to one Xero contact. The PO price is compared with your accepted quote.
Review the draft
A bookkeeper reviews the tax treatment on every draft. A changed PO waits for a person to review it.
Repeats and records
The same PO emailed twice creates one draft. The original PDF is kept beside it in Xero.
This is a working checklist, not a measured result. Test difficult scans, revised orders and repeated emails, and hold any mismatched contact, quantity or price. Budget capture, integration and support using the automation cost guide.
The full checklist, nine checks
- Existing contact matched. The customer on the PO is matched to one Xero contact, not a new one.
- Price agreed. The PO price is compared with your accepted quote before a draft exists.
- Delivery checked. The office confirms what was delivered before anything is invoiced.
- Tax reviewed. A bookkeeper reviews the tax treatment on every draft.
- Duplicate blocked. The same PO emailed twice creates one order record and one draft.
- Revision held. A changed PO waits for a person to review the revision.
- Partial delivery reconciled. Quantities already invoiced are checked before the rest is drafted.
- Source retained. The original PDF is kept beside the draft in Xero.
- Failed write recovered. Xero is searched for the invoice before any retry.
Where a person stays in charge
Rules check
Quantities, totals and the duplicate register, the same way for every order.
Claude drafts
An explanation of any exception, within the proposed design. It writes only.
You decide
The office approves the customer, price and delivery. A bookkeeper approves coding, tax and release.
I keep matching and totals in rules. Claude may draft an exception explanation within the proposed design, and your office approves the order interpretation and the delivery evidence; a bookkeeper approves the invoice release. The Xero connection guide covers the connection choices. The card above is the nearest fixed-price build; reading customer POs is quoted as a Custom build, from A$9,500 (AUD, no GST charged).10
Start with a free fit check by email at the foot of this page, to record the handovers and acceptance checks first. The Workflow Audit, A$990 (AUD, no GST charged), is the next step.10
Questions
Can Xero copy a purchase order to an invoice?
Yes, for on-charging from your own purchase order.2 That is different from reading a customer’s PDF order.
Can document capture read a customer’s PO?
Docparser says it can extract data from purchase orders in a PDF and send it to Xero.4 Review the extracted data before creating invoices.
Does a draft invoice prevent duplicates?
A draft is a review point, not a duplicate check. Keep order matching, a persistent register and controlled retries.
Sources
- 1. Xero, “Purchase order software for small business” (Australia), read 31 October 2026: xero.com/au/accounting-software/create-purchase-orders
- 2. Xero, “Purchase order software for small businesses” (US product page, section “Turn approved orders into bills for payment”), read 31 October 2026: xero.com/us/accounting-software/create-purchase-orders
- 3. Xero, “Invoicing software for Australia”, read 31 October 2026: xero.com/au/accounting-software/send-invoices
- 4. Docparser, “Automate data entry with Docparser’s Xero integration”, read 31 October 2026: docparser.com/integrations/xero
- 5. Parseur, “Automate invoice processing in Xero”, read 31 October 2026: parseur.com/integration/xero
- 6. Zapier Help, “How to get started with Xero on Zapier”, read 31 October 2026: help.zapier.com/hc/en-us/articles/38844152391821-How-to-get-started-with-Xero-on-Zapier
- 7. Xero Blog, “Files is now called Documents: a new name for where Smart Document Capture lives” (18 September 2026), read 31 October 2026: blog.xero.com/product-updates/files-now-called-documents
- 8. Hubdoc, “Document and data capture software”, read 31 October 2026: hubdoc.com
- 9. Xero API, “createInvoices” (xero-node SDK documentation, version 20.0.0), read 31 October 2026: xeroapi.github.io/xero-node/accounting/index.html#createInvoices
- 10. Works Better, “Pricing” and “Workflow Audit”: worksbetter.ai/pricing (Custom build from A$9,500; Workflow Audit A$990; AUD, no GST charged)
Not sure which to fix first?
Get a free fit check by email and I will say whether it is worth automating. No call needed. The next step is a A$990 workflow audit: the top 3 things worth automating, with a fixed quote for each.
Get a free fit check by email