Trace an order

TL;DR

Follow one order from import to the margin figure on screen, naming every transformation on the way.

Goal: given an order number, explain every figure shown against it and where each came from.

Prerequisites: access to the sales order screens. Read the pipeline first if you have not.

Steps

1. Find the order. /transactions/salesorders. If it is not there, widen the date filter before concluding anything: the default is roughly the last three months.

2. Establish its provenance. Orders before 2022 came from verkoopdump, from 2022 onward from NetSuite. Acquisition data follows a different seam. This decides which fields you should expect to be populated at all.

3. Open the detail view. Header, lines and non-inventory lines. The lines are what most rules act on.

4. Read its classifications. These are what rules filter on: bundles, combideals, engraving, private label, payment method, source and medium. Any flag you do not recognise is at /dictionary/classifications.

5. Look at its impacts. Each is money a rule booked against an account, and the account's group decides which part of the margin chain it lands in.

6. Reconstruct the margin. gp = revenues + cogs, cm1 = gp + voc, cm2 = cm1 + vmc. Every component is added with its stored sign. Check the sign convention before comparing with a displayed total.

7. Compare against expected. Expected margin uses synthetic downstream transactions, so a difference is normal on an order that is not complete.

Expected result

Every figure on the screen traced to a rule, a source, or a deliberate absence.

Troubleshooting

SymptomLikely cause
Order not foundThe date filter, not a missing order
No margin at allClassification or calculation has not run yet, or the order predates the modern era, in which case it never will
An unexpected signCheck the base, rate and display convention before changing the rule
Expected and realised far apartExpected was not refreshed, or returns arrived
Acquisition data emptyThe GA4 gap for that period

Evidence

Chain and provenance as cited in the linked documents. Basis: code-checked against the current implementation. Not verified: this walkthrough against a real order on a live screen, which needs the running application.

About this document
  • Type
    guide
  • Status
    active
  • Updated
    2026-09-14
  • Created
    2026-09-13