Purchase Orders
Commit to buy goods or services from a supplier, in the supplier’s currency, and track them through approval, receiving and billing.
Overview
A purchase order (PO) is a header (supplier, dates, currency, terms) plus lines (product or description, quantity, unit price, discount, tax). Draft and sent orders can be edited; once an order is approved it is locked against edits because receiving and billing quantities are tracked per line.
Orders in a foreign currency are stored with their exchange rate to your company currency. If you leave the rate empty it is filled from the live rate table; it is never silently stored as 1. Spend reports, approval thresholds and stock valuation all use the company-currency value (document amount × rate).
When to use purchase orders
- You are ordering from a supplier and want approval, receiving and bill-matching tracked against one document.
- You need the order to feed stock, the goods-received-not-invoiced (GRNI) account and the supplier bill.
Prerequisites
- An active vendor
- Stock products flagged “Can be Purchased”
- Currencies and exchange rates
- Purchasing preferences
Step by step
Field reference
| Field | Description | Required | Data type | Business meaning |
|---|---|---|---|---|
| Vendor | Supplier the order is placed with. | Yes | Vendor record | Must exist and be active. |
| Currency | Currency of the prices. | No | Currency code | Defaults to company currency; must be an active currency. |
| Exchange rate | Rate to company currency. | No | Decimal > 0 | Auto-filled from the rate table for foreign currencies; ignored (always 1) in company currency. |
| Line: quantity | Units ordered. | Yes | Number > 0 | Receiving is limited to this quantity plus the over-receipt tolerance in Inventory settings. |
| Line: unit price | Price per unit before discount. | Yes | Number ≥ 0 | Receipts and bills use the price net of the line discount. |
Lifecycle
BILLED means every line is fully received and fully billed. Billing part of an order never blocks receiving the rest.
Accounting impact
- Receiving: debit Inventory, credit GRNI, at the PO price net of discount × the PO exchange rate.
- Billing: the bill debits GRNI by the same amount (clearing it), credits Accounts Payable, and books any price difference to the purchase price variance (expense) account.
Price tolerance on bills
A bill line tied to a PO line cannot be posted if its price differs from the order by more than the price tolerance in Purchasing preferences (default 5%). Correct the bill or adjust the tolerance.
Permissions
These permission keys control access (granted to roles in Administration → Roles & Permissions):
- purchase.orders.read
- purchase.orders.create
- purchase.orders.update
- purchase.orders.approve
Automation
- Confirming emits the approval request; receiving emits purchase.receipt.confirmed; billing emits purchase.bill.posted.