Purchase order software
Purchase order software records what was approved, ordered and received so an invoice can be checked against it. In Atta the PO number is issued when the last approval clears, goes onto the order, and is how a received e-invoice finds its request. Receiving is recorded per line.
From request to invoice
request -> approvals -> PO number -> order -> receipt -> invoice
Lena, in the browser: order 20 shipping boxes, 12x9x6, and tape, for the Leeds warehouse
Atta: $86.40 total. Under your limit, so I've ordered it. PO-2026-00057.
Two days later: Atta: The order shipped. Mark the lines received when they arrive.
The PO number
The number is PO-<year>-<seq>, for example PO-2026-00042. The sequence is per workspace and per UTC year, padded to five digits. It's issued the moment the last approval clears, before the order is placed, so the order carries it.
- Two requests can't get the same number. The counter is one upsert, and the request row is locked while issuing.
- Issuing twice returns the same number.
- If issuing fails, the failure is logged and the approval stands. The PO is a label, and the approval is the control.
The PO number rides on the cart next to the order id, so the store's order shows it.
Lines, cost centre and GL code
A request has lines: what's being bought, quantity and price. It also has a cost centre, which defaults to the requester's team, and a free-form GL code. Finance reconciles on both. Approval is for the whole request. If a total changes after two people approved it, it's a different request, so changing lines means declining and asking again.
Receiving
Receiving is per line. When every line is fully received, an ordered request moves to received. A fulfilled order from the store can mark lines received too, and an unmatched line is skipped rather than guessed. If a line is linked to a stock item, the receipt also writes the stock movement, and two receipts racing on the same line can't count it twice.
Invoices attach by PO number
An invoice enters one of two ways:
- Typed in on the request: number, date, total, tax and a link to the document.
- Received as an e-invoice in any EN 16931 format. It's linked to a purchase only by the PO number it names. Atta reads BT-13 first and then BT-10, and never matches by supplier alone.
Once linked, the e-invoice becomes that request's invoice row with the document's own figures.
The three-way check
Atta flags exceptions on the request list:
| Exception | Meaning |
|---|---|
| Over approved | Ordered for more than was approved |
| Received short | Received less than ordered |
| No order | Approved with no order after the SLA |
| Invoice mismatch | Invoices differ from the order total by more than 1.00 in the order's currency |
| Not invoiced | Received more than 30 days ago with no invoice |
Each one is a filter, so the number on the badge and the rows in the list come from the same query.
Recurring lists
A list can recur weekly or monthly. The schedule resets received lines to wanted and opens a request for the list's creator. It doesn't place an order, so a recurring restock still goes through approval.
Atta is in an invite-only beta and is free during it. See purchase approvals for the step before the PO and e-invoicing for the invoice side.
Questions
What is purchase order software?
Software that creates and tracks purchase orders, the document that records what a company agreed to buy, so receipts and invoices can be checked against it.
When does a PO number get issued?
When the last approval clears. The number is on the order when it's placed.
How is an invoice matched to a purchase?
By the PO number it names, read from BT-13 and then BT-10 on an EN 16931 e-invoice. A match by supplier alone is never made.
Can I receive part of an order?
Yes. Receiving is per line. The request moves to received when every line is fully received.
Related
- E-invoicing for purchases: Peppol, XRechnung and Factur-XAtta sends purchase orders over Peppol, receives e-invoices in EN 16931 formats like XRechnung and Factur-X, and links each one to the purchase it names.
- Purchase approval softwareSet approval limits per role and build approval chains by amount. Approvers answer from Slack, WhatsApp or the app, and nothing is paid until the last step clears.
- Procure to pay softwareProcure to pay in one flow: a request, sourcing, approval, a PO, a capped card, receipt and invoice match. Here's each step and what Atta does in it.
- Month-end close without chasing receiptsEvery Atta order gets its own card capped at the approved amount. Budgets follow settled payments and each invoice links to the PO it names. CSV on demand.