Skip to content

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.

Updated November 6, 2026 · By

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:

ExceptionMeaning
Over approvedOrdered for more than was approved
Received shortReceived less than ordered
No orderApproved with no order after the SLA
Invoice mismatchInvoices differ from the order total by more than 1.00 in the order's currency
Not invoicedReceived 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