Purchasing Models
How to set up and receive each type of supplier purchase. Use this as a reference when onboarding new products.
ABuy by weight, sell by pieceWorks today

Supplier prices per kg. You receive pieces and weigh the total. Piece count and avg weight vary per delivery.

Example: Versig Vleis Rump — R/kg from supplier, sold per piece to consignee.

PO setup
Purchase unit
kg
Purchase price
R per kg
Purchase qty
Total kg ordered
Sellable units
Leave blank / not used
Weight per unit
Leave blank / not used
GRN fields
Physically received (kg)
Actual kg that arrived — drives payable
Piece count override (pcs)
Count the pieces — required for this model
Supplier invoice qty (kg)
What supplier claims — three-way check
System derives
  • Avg weight per piece = received kg ÷ piece count
  • Cost per piece = avg weight × R/kg
  • Payable = received kg × R/kg (short weight → less owed automatically)
Payable: Adjusted for actual weight received. Short delivery reduces payment.
BBuy by box (fixed price, variable piece count), sell by pieceRecently fixed

Supplier charges a fixed price per box. Piece count inside the box varies between deliveries — you count what's actually there.

Example: Organic Oranges (12 KG box) — R260/box, but 49–60 oranges depending on size.

PO setup
Purchase unit
box (or pack, unit, etc.)
Purchase price
R per box
Purchase qty
Number of boxes ordered
Sellable units
Estimated pieces per box (used for dispatch planning only)
Weight per unit
Estimated kg per piece (used as placeholder — actual weight captured at GRN)
GRN fields
Physically received (boxes)
Number of boxes that arrived — drives payable
Piece count override (pcs)
Count the actual pieces — required, overrides the estimate
Actual weight (kg)
Weigh the actual contents — derives avg weight per piece
Supplier invoice qty (boxes)
What supplier claims — three-way check
System derives
  • Cost per piece = box price ÷ actual piece count (NOT the estimated sellable units)
  • Avg weight per piece = actual weight ÷ actual piece count
  • Payable = boxes received × box price (weight doesn't affect what you owe)
Payable: Fixed per box received. Weight shortfall within a box is a quality issue, not a billing adjustment.
CBuy by box (fixed price, guaranteed piece count), sell by pieceWorks today

Supplier charges a fixed price per box and guarantees a specific number of pieces. Count is predictable — you verify weight as a quality check.

Example: New chicken supplier — R/box, 10 chickens per box guaranteed, each 1.1–1.2 kg (box = 11–12 kg).

PO setup
Purchase unit
box
Purchase price
R per box
Purchase qty
Number of boxes ordered
Sellable units
Guaranteed pieces per box (e.g. 10) — this IS the actual count
Weight per unit
Expected kg per piece (e.g. 1.15 kg midpoint of guarantee)
GRN fields
Physically received (boxes)
Number of boxes that arrived — drives payable
Piece count override
Leave blank — sellable units is the correct count
Actual weight (kg)
Weigh the box contents — verify against guaranteed range
Supplier invoice qty (boxes)
What supplier claims — three-way check
System derives
  • Cost per piece = box price ÷ sellable units (guaranteed count — no override needed)
  • Avg weight per piece = actual weight ÷ guaranteed piece count
  • Payable = boxes received × box price
Payable: Fixed per box. Weight outside the guaranteed range is a quality dispute with the supplier — raise separately.