A distributor reports 4,000 units sold and 1,200 in stock, but the supplier's shipments into the market say 3,000 and the last known stock was 900. Each number is plausible; together they do not add up. Distributor reconciliation works when opening stock, receipts, sales, returns and closing stock balance through one equation, with timing and adjustment differences kept visible instead of absorbed.

This guide defines the stock equation for distributor data, names the source event behind every term, walks a worked bridge and sets the timing, returns, tolerance and exception rules that keep the reconciliation defensible.

The key point A distributor bridge balances when every term has a source event and every remaining difference is a named exception. The equation is the reconciliation; the tolerance is a decision, not a rounding convenience.

The stock equation

Opening stock + receipts − sell-out − returns − damages − shrinkage = closing stock. Give every term a source: opening and closing stock from distributor reports or counts, receipts from delivery notes or purchase orders, sell-out from the distributor sell-out file, returns from credit notes and damages and shrinkage from adjustment documents. If you have any five terms, the sixth is implied.

The equation is the reconciliation. Compute the implied closing stock from the flows and compare it with the reported closing stock. The difference is a movement the equation cannot see, not a rounding error. A term without a source becomes a hidden residual.

The source event behind each term

Each term records a different event, so the same difference can have different causes. Sell-out records sell-through to the customer; receipts record product entering the distributor's warehouse; stock records what remains. Compare at a grain all three sources support, product-distributor-month at a minimum, and state the grain and the calendar before comparing.

If a source reports at a different grain, standardize it through a canonical schema first rather than forcing the comparison at a level the data does not reach.

A worked bridge

The table shows one product and one distributor for a month. Each term has a source and the implied closing stock is compared with the reported stock.

TermValueSource
Opening stock900Distributor stock report at the start of the month
Receipts3,000Delivery notes in the month
Sell-out2,400Distributor sell-out file
Returns100Credit notes
Damages and shrinkage40Adjustment report
Implied closing stock1,360900 + 3,000 − 2,400 − 100 − 40
Reported closing stock1,320Distributor stock report at the end of the month
Difference40Open exception

The equation implies 1,360, but the report says 1,320. Forty units become an open exception with a movement hypothesis. The bridge turned a vague mismatch into a single visible term with a source for every other part of the flow.

Timing and the boundary

Distributor reporting weeks can differ from the supplier's calendar, and a delivery booked near the cutoff can appear in the sell-out of the next month. As with reporting cutoffs, these are calendar effects: carry them forward with evidence and expect them to clear in the following period.

A timing difference that does not clear has stopped being a timing issue. Investigate it only then, because at that point it is a movement or a data-quality problem wearing a calendar costume.

Returns and damages as their own terms

Returns to the supplier and damages in the warehouse move stock without any sell-out record. Give each its own term with its own source, so they are not absorbed into the residual. If the implied closing stock sits systematically above the report, the likely cause is a movement category missing from the equation.

A clean bridge depends on the movement list being explicit and versioned. Add a category when the evidence points to it instead of widening the residual.

Tolerance as a decision

Tolerance is a stated, documented decision: when the difference at a grain is within tolerance, it is signed off with the reason recorded. Set tolerance by materiality and history, not by habit. An unexplained difference above tolerance is an exception; one below tolerance is still recorded and reviewed.

Sign-off when the equation balances within tolerance is the control. If it does not balance, the documented residual is the decision, not the number.

The exception workflow

Give every open difference a record: category, owner, status, evidence and the first and last month seen. Use a cause-based taxonomy, not a symptom-based one: timing or carry-forward, missing movement, identifier gap, genuine variance and source quality are categories; unmatched and unclear are symptoms.

Aging and recurrence tell you when a correction becomes a process fix. Publish a short monthly exception report with count and value by category, owner and status, so the same differences are resolved rather than rediscovered.

Practical takeaway

Reconcile distributor inventory and sales through one stock equation at a stated grain. Name the source event for every term, keep timing, returns, damages and tolerances explicit, and run the difference through a visible exception workflow. The result is a bridge the supplier, the finance team and the distributor can read the same way.

Marksyte's data reconciliation and controls service can design the stock equation, the source mapping, the tolerances and the exception workflow across distributor, sell-out and stock sources.

Frequently asked questions

How do you reconcile distributor inventory and sales data?

Through one stock equation at a stated grain: opening stock plus receipts minus sell-out, returns, damages and shrinkage equals closing stock. Every term needs a source event, and the remaining difference becomes a classified exception.

What should balance in distributor inventory reconciliation?

Opening stock, receipts, sales, returns and closing stock. If you have any five terms, the sixth is implied; the implied closing stock should match the reported one within a stated tolerance.

What causes distributor stock and sales to disagree?

Usually a movement category missing from the equation, such as returns, damages or shrinkage, or a timing difference across calendars. Adding the term or carrying the timing difference forward explains the gap.