# Purchase order software

> Each approved request gets a PO number, the order carries it, receipts are recorded per line, and an invoice that names the PO attaches to the request.

Updated 2026-11-06. Source: https://atta.sh/purchase-orders

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](https://atta.sh/purchase-approvals) for the step before the PO and [e-invoicing](https://atta.sh/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.
