Eleven return categories. That number tells you more about the complexity of tobacco field distribution than any operational description could.

Pricing Error, Customer Order Error, Richland Order Error, Stock Swap Credit, Grocery Return, Mispicked Stock, Lost in Transit, Faulty or Mouldy, Damaged in Transit, Rebates, Other — each one represents a different cost centre, a different liability, and a different corrective action. Collapsing all returns into a free-text "comments about the return" is the operational mistake that makes end-of-month reconciliation a multi-day exercise in retroactive detective work.

The Return Reason Field Is Actually a P&L Analysis Tool

When a return is logged as Mispicked Stock, the liability is with the warehouse. When it is logged as Customer Order Error, the liability is with the retail account. When it is Pricing Error — that one triggers a review upstream.

Running a filter on Reason for Requested Return across a full cycle immediately shows the distribution of return causes across the territory. If Mispicked Stock is accounting for 40% of all returns in a given period, that is not a field sales problem — it is a warehouse pick-and-pack problem that the data is now making visible. Before this field existed, the rep was having the same conversation with the account manager every Monday morning, and nobody could quantify it.

This is also how you separate systemic from idiosyncratic. One Damaged in Transit event is weather or handling. Four across three consecutive runs on the same regional route is a carrier problem that needs to be escalated with actual numbers rather than anecdote.

The Invoice Architecture Under the Return Layer

The sale record structure — quantity, AUD price, calculated line value for each of 23 SKUs, plus TOTAL PACK QUANTITY and TOTAL INVOICE aggregates — runs identically to the standard invoice template. The return layer is additive, not disruptive to the invoicing logic.

What this means in practice: a single record can capture both the sale and the return flag. If a rep sells 12 Reef 25 Lagoon at $21.40 each (line total: $256.80) and the customer identifies that three packs are Faulty or Mouldy at point of delivery, the return reason is captured in the same record that logged the sale. The TOTAL INVOICE reflects the full delivery value; the return reason field flags what needs to be credited. The correction happens at the reconciliation level with the reason code attached, not as an orphaned credit note that nobody can trace back to the original transaction.

The Date/Time stamp ties the return reason to the specific delivery event. Not the date the paperwork was processed. The date the rep stood at the counter with the store owner and confirmed the faulty stock.

At Scale, the Return Pattern Becomes Predictive

An account that has logged Stock Swap Credit on three consecutive visits is telling you something about their order behavior. They are over-ordering against promotional expectations and returning the surplus. That pattern, visible in the Reason for Requested Return field sorted by account, is an account management conversation that should happen before the fourth swap credit.

Lost in Transit against a specific delivery route becomes visible when you filter by date range and cross-reference the account postcodes. The Damaged in Transit cluster that coincides with December — peak volume, third-party carrier overflow — is a procurement planning data point.

The free-text Comments field handles what the return categories do not capture. "Three packs of Manitou 20 Organic were refused by store manager citing colour variation on packaging — not a quality defect per se but customer unwilling to accept." That nuance belongs in Comments. The reason code for that transaction is probably Grocery Return or Other, but the commentary preserves the specific context that the code alone cannot convey.

The return reason taxonomy is the part of this template that most reps do not think about until the first time they need to defend a credit request to an account manager who is looking at six transactions flagged "Other."