Skip to main content

Purchasing worked examples

Use a training tenant with invented data. These exercises record operational/financial documents, so do not practise posting on a live supplier account.

Prepare once​

Use the prerequisite checklist: Bright Home Supplies, Main Warehouse, eligible Northstar Wholesale, Ceramic Mug and Cotton T-shirt products, and the required role permissions. Use Omar and Nadia as separate accounts for manual approval.

For the stock checkpoints, the application owner must verify the variant/location integration first. The current browser forms do not expose those selectors. If stock processing does not have the required references, record the limitation and stop that checkpoint; do not fabricate a successful inventory result.

Example IDs below are placeholders. Record the actual order, receipt, invoice and payment IDs returned by your tenant.

Exercise 1: two deliveries, two invoices, two payments​

1. Omar creates the order​

Select Create order:

Header fieldValue
PO numberPO-BHS-2026-017 (use an unused training number)
Supplier / Business unit / WarehouseNorthstar / Bright Home Supplies / Main Warehouse
Order date / Exchange rate date07/11/2026 / 07/11/2026
Transaction currency / Base currency / RateGBP / GBP / 1
Order type / Procurement method / PriorityStandard / Direct / Normal
Requested / Promised delivery10/11/2026 / 10/11/2026
Payment term codeNET30
All header charges / prepaid0 or unused
LineProductOrdered quantityUnit priceTaxDiscountPartial receipts
1Ceramic Mug2002.5000Allowed
2Cotton T-shirt506.0000Allowed

Select Save order. Check: Draft, total GBP 800, received/accepted/invoiced all zero. Note the order ID, say 101.

2. Omar submits for review​

Select Submit, tick Route to approval queue, then Confirm. This deliberately exercises manual approval even though the routine 800 order could be auto-approved.

Check: Pending approval. Omar trying Approve is refused as the submitter.

3. Nadia approves; Omar records issue​

Nadia opens the order, checks its revision and total, selects Approve, adds Routine November replenishment checked, then Confirm.

Check: Approved; Load approvals shows the decision.

Omar selects Issue, reference BHS-SENT-017, Confirm; then Acknowledge, reference NW-ACK-204, Confirm. Check: Acknowledged. Supplier communication itself happens outside these actions.

4. Ali records the first delivery​

Select Receive goods:

HeaderValue
Receipt numberGR-BHS-2026-041
Receipt date10/11/2026
Supplier delivery referenceNW-DN-501

Select both lines. Enter:

LineReceivedAcceptedRejectedDamaged
Mugs10010000
T-shirts202000

Select Save draft receipt. Check: Draft; PO posted quantities have not changed. Review, then Post receipt.

Select View refreshed purchase order:

LineReceived / AcceptedRemaining to receiveRemaining invoiceable
Mugs100 / 100100100
T-shirts20 / 203020

Inventory checkpoint, when integration is correctly supplied: stock rises by accepted quantities 100 and 20 at the actual referenced variant/location, with PURCHASE_RECEIPT movements. If absent, follow verification rather than posting again.

5. Farah creates and posts invoice 1​

On the posted receipt, Create invoice:

FieldValue
Invoice date10/11/2026
Due dateBlank to derive from NET30
Supplier invoice numberNW-INV-8801

Select Create draft invoice. Record its actual ID, say 201.

Check: Draft invoice, 100 × 2.50 + 20 × 6.00 = 370.00, paid 0, due 370, derived due date 10/12/2026. PO invoiceable balances for this delivery become zero already at draft creation. The PO still has undelivered commitment.

After reconciling against the training supplier bill, select Post invoice. Check: Posted. No extra receipt stock should be created by invoice posting.

6. Farah records and allocates payment 1​

Select Post payment for this vendor, enter payment date 12/11/2026 and reference BANK-BHS-221, and check amount 370 and prefilled vendor/currencies. Select Post payment.

Check: payment Posted, Allocated 0, Available 370. Invoice remains due 370.

In Allocate to an invoice, check Purchase invoice ID 201, enter allocation date 12/11/2026 and amount 370. Select Load invoice, verify it, then Allocate payment.

Check: payment Allocated, Available 0; invoice Paid, due 0.

7. Ali receives the rest​

Open the current order, then Receive goods. Use receipt GR-BHS-2026-042, date 13/11/2026, delivery reference NW-DN-502:

LineReceived / AcceptedRejected / Damaged
Mugs100 / 1000 / 0
T-shirts30 / 300 / 0

Save, review and post. Check: cumulative received/accepted 200 mugs and 50 T-shirts; remaining delivery quantities zero. Verify Inventory separately when correctly configured.

8. Farah invoices and pays the second delivery​

Create invoice from the second posted receipt, date 13/11/2026, supplier invoice NW-INV-8802. Check: 100 × 2.50 + 30 × 6.00 = 430.00. The PO can now close as its receipt and invoicing commitments are complete, even while this second invoice is Draft.

Post the invoice, then post payment 430 and allocate it to this second invoice's actual ID.

Final reconciliation​

CheckExpected
Original PO200 mugs + 50 T-shirts, total 800
Posted receipts combined200 accepted mugs + 50 accepted T-shirts
Posted invoice totals370 + 430 = 800
Allocations370 to first invoice; 430 to second
Invoice due balancesBoth 0
PO statusClosed when operational completion is reached
InventoryCorrect accepted movements if reference/integration setup supports them; verify, do not assume

Exercise 2: damage and no automatic replacement​

Create a separate training order for 100 mugs at 2.50, zero tax/discount. Receive 100, accept 96, reject 4, damaged 3.

Check: receipt records all 100 received, but only 96 accepted. A generated invoice uses 96 × 2.50 = 240.00. The remaining delivery quantity is zero, not 4. There is no automatic replacement commitment. Agree how to obtain replacement goods with the buyer rather than entering a second 4-unit receipt against a completed line.

Exercise 3: partial payment​

For a separate Posted invoice of 370, post payment A 200 and allocate 200. Check: Partially paid, due 170. Post payment B 170 and allocate 170. Check: Paid, due 0.

Do not try allocating payment A twice to the same invoice. That pair is unique, even when the first allocation did not clear the invoice.

Exercise 4: cancellation and closure​

Create 200 mugs, receive/accept 120, with no further delivery expected. The remaining delivery is 80. Use line Cancel with quantity 80 and reason Supplier confirms remainder unavailable. Check the original ordered and received quantities remain in history, Cancelled becomes 80 and Remaining becomes 0.

Keep invoicing open until the accepted 120 units have their correct invoice. Do not use header cancellation as a way to reverse the delivered units. After creating the valid invoice, operational closure may occur; post and pay the invoice separately.

Exercise 5: approval thresholds and amendments​

Use separate draft orders with Standard / Direct / Normal and an otherwise eligible supplier:

TestExpected
Total exactly 5,000, queue not selectedAuto-approval possible.
Total 5,000.01Pending approval, level 1.
Total 50,000Pending approval, level 2.
Total 800, procurement Quotation, valid quotation referencePending approval despite the low value.
Issued order amended from 800 to 6,000 with a reasonNew revision, approval re-evaluated and issue/acknowledgement reset.
Notes-only amendmentNew revision, commercial state retained under default policy.

Try the refusals​

Try in trainingExpected
Receipt dated before PO dateRefused.
Receive 201 against 200 with no toleranceRefused.
Accepted 100 + rejected 4 against received 100Refused.
Damaged 5 with rejected 4Refused.
Create a second invoice for the same receiptRefused.
Reuse the same active supplier invoice reference for that supplierDuplicate check.
Allocate 400 to a 370 balanceRefused.
Close an order with open receiving/invoicing quantitiesRefused until resolved or explicitly closed.
Cancel a posted receiptNo posted-cancellation action; server rejects it.

For recovery, see Messages and FAQ.