We use cookies to understand which pages and tools are useful, nothing more — no ad tracking across other sites. You can change this later from the footer.

Skip to content
Lekhya.in

Guide5 min readPublished

Matching dispatch, invoice and ledger for revenue testing

The three-way match applied to the sales side: what dispatch, invoice and ledger posting each have to agree on, what breaks the match in a typical Tally client, and why the unmatched population should be quantified by value, not by count.

A revenue three-way match checks that every dispatch has a corresponding invoice, every invoice has a corresponding ledger entry, and every ledger entry has a corresponding dispatch — the mirror image of the purchase-side three-way match between purchase order, goods receipt and invoice. Run across the full population rather than a sample, it surfaces dispatches that were never invoiced, invoices with no dispatch behind them, and ledger entries that do not tie to either, and the size of each gap should be reported by value, not by count, because a handful of unmatched items can carry most of the risk.

The purchase-side mirror

On the purchase side, the standard three-way match ties the purchase order, the goods receipt note, and the supplier invoice, so that the business only pays for what it ordered and actually received. The sales-side equivalent ties the dispatch record, the sales invoice, and the ledger posting, so that the business only recognises revenue for what it actually sent out and billed for, and records every billed sale in the accounts. The logic is symmetrical, but the risk it protects against is the opposite: the purchase match guards against overpayment, the sales match guards against revenue that is missing, premature, or unsupported.

The three legs and what each should agree on

What each leg of the sales three-way match contributes
LegSource documentWhat it confirms
DispatchGate outward register, delivery challan, e-way billGoods or services actually moved, on a specific date, in a specific quantity
InvoiceSales invoiceA billing document was raised for a specific customer, quantity and amount
LedgerSales register / Tally postingThe invoice was actually recorded in the books, on a date and in an amount consistent with the invoice
What each leg of the sales three-way match contributes

What breaks the match in practice

The match rarely fails because of one dramatic cause. It fails in small, specific, recurring ways, and each one points to a different control weakness.

  • Dispatch with no invoice: goods left the gate but no sales invoice was ever generated — a classic missing-revenue pattern, whether from an oversight or a deliberate omission
  • Invoice with no dispatch: common for services, advance billing, or genuine bill-and-hold arrangements, but also the shape a fictitious sale takes
  • Invoice with no ledger entry: the invoice exists as a printed or system document but was never posted, often found when a parallel billing system runs alongside Tally and the two are reconciled manually and incompletely
  • Ledger entry with no invoice reference: a journal entry posted directly to the sales account, bypassing the invoicing workflow entirely, which deserves scrutiny regardless of amount
  • Quantity or amount mismatches between legs that do have matching references, such as an invoice raised for a different quantity than the dispatch note shows

Journal entries posted directly to the sales ledger, with no invoice or dispatch reference at all, are disproportionately high-risk relative to how often they occur in a normal population, because the reason for bypassing the invoicing workflow is rarely documented at the time.

Quantifying the unmatched population by value

A report that says "42 dispatches could not be matched to an invoice" tells you almost nothing about audit risk. A report that says those 42 dispatches total 4% of annual dispatch value, and three of them each exceed the performance materiality threshold on their own, tells you what to do next. Count-based reporting on an unmatched population is close to useless for prioritising follow-up, because unmatched items are rarely a representative sample of the population — they cluster around specific customers, specific months, or specific people processing the entries.

  1. 01Run the match across the full population, not a sampleSampling before matching defeats the purpose, since the unmatched items are precisely the ones a risk-based sample is least likely to pick up on its own.
  2. 02Report each gap category by total value and by count separatelyThe two numbers answer different questions: count indicates how pervasive a control gap is, value indicates how much is actually at stake.
  3. 03Rank unmatched items within each category by valueInvestigate the largest unmatched items individually regardless of how small the category looks in aggregate; a single large unmatched dispatch is worth more audit attention than a hundred small ones.
  4. 04Look for clustering by customer, branch, or billing staffA pattern of unmatched items concentrated in one branch or around one person's entries points to a process failure in a specific location, which is a more actionable finding than a diffuse scatter across the whole population.

Where the match fits in the overall revenue testing plan

The three-way match is a completeness and existence tool more than a cut-off tool, though a well-built match will also surface date mismatches that feed directly into cut-off testing. It works best as the first step in revenue testing, run on the full population, with the exceptions it generates feeding the detailed samples used for recognition and cut-off testing, rather than as a separate exercise done after sampling is already finished.

How we think about this

Tying three documents together by reference number and checking that quantities and dates agree is mechanical matching, and it should be run across every transaction in the year rather than a sample, because the unmatched items are exactly the ones a sample tends to miss. Deciding what an unmatched dispatch or a direct journal to sales actually means for the financial statements is a judgement for the auditor to make once the exception is in front of them.

This is practical guidance written for audit teams, not an authoritative statement of any standard or statute. Standards, forms and timelines change. Check the current text issued by the ICAI and the relevant authority before relying on anything here in an audit file.

Free tools, no signup

Each one reads a file entirely in your browser — or, for two of them, just answers a few questions — and nothing is ever uploaded.