Skip to main content

Create a purchase order

A purchase order (PO) is the commitment to a supplier — "we order X at price Y, deliver by date Z". Shillinq tracks the PO from creation through approval, dispatch to the supplier, goods receipt, and three-way matching against the supplier's bill.

Goal

By the end you will have a PO in Sent state at a supplier, with the right approver having signed it off, ready to be three-way-matched against the goods-receipt note and the supplier's bill when both arrive.

Prerequisites

Steps

  1. Open Purchases → Purchase orders and click New PO. The PO form opens.

    New PO form

  2. Pick the supplier (counterparty). Shillinq pulls the supplier's address, KvK, default payment terms, and delivery address. Set the order date and the expected delivery date.

    PO header filled in

  3. Add lines. For each line set the description, quantity, unit price, VAT rate, and pick the expense account the line will be coded against (used for the budget check and later for the bill's posting). Shillinq computes line totals, VAT, and the grand total live as you type.

    PO lines with budget check

  4. Save. The PO enters the approval chain matching its amount band. The approver(s) see the PO with the budget impact, the supplier's risk profile, and any active contract with this supplier. Each approval/rejection lands on the audit trail.

    PO awaiting approval

  5. Once approved, send the PO to the supplier — by email (PDF + UBL Order), by Peppol BIS Order, or both. The PO moves to Sent. When the goods arrive, record a goods-receipt note against the PO; when the supplier's bill arrives, three-way-match it against the PO + goods-receipt to detect price or quantity discrepancies before posting.

    PO sent and ready for three-way match

Verification

The PO shows in Purchase orders with status Sent, the audit trail naming the approver(s), and the supplier acknowledging receipt (when the Peppol/email channel returns an ack). The PO contributes its committed amount to the budget burn-down. Once the supplier's bill is matched against this PO, the bill shows the PO reference; mismatches are surfaced.

Common issues

SymptomFix
Budget warning blocks the saveThe PO exceeds the remaining budget for the picked expense account — either pick a different account, reduce the PO, or have the budget owner top it up.
PO stays on Approved but doesn't dispatchThe supplier has no email and no Peppol participant ID — add one of those and click Send again.
Three-way match flags a discrepancy you acceptTolerance bands can be set on the supplier (or globally) — within tolerance, the bill posts; outside, it's held for review.
Same line on two POsPOs are independent records; if you're consolidating, raise a new PO and void the old ones.
Screenshots may be missingApp not yet installed in the test environment; rerun npm run test:e2e:docs once it is.

Reference