Practice interviews

Analytics matched 95,412 of 96,000 invoices. What about the rest?

Testing every invoice doesn’t finish the audit. It tells you where to look.

The question

The audit team ran data analytics on all 96,000 of Wrenhollow’s FY25 sales invoices, matching each to an order, a delivery record and cash received. 95,412 matched on every field. Performance materiality is $750k.

Invoices that didn’t match
ReasoninvoicesShare
Price differs from the price list402
No proof of delivery141
Delivered after December 31, invoiced before45
Total588

Invented data. One reason per invoice.

Value of the exceptions
InvoicesValue ($m)
Price differences4020.31
No proof of delivery1410.52
Delivered after year end451.08
Total5881.91

Invented data. Invoice values; the price differences are the gap to list price.

“The team asks whether 95,412 clean matches out of 96,000 is enough to conclude on revenue. What do you do?”

A strong answer, step by step

Open each step in turn. This is one strong answer, not the only one.

Step 1: Treat exceptions as leads, not a rate

What would you do here? Open the move you’d make.

  • Conclude: a 99.4% match rate is strong evidence revenue is right.

    Tempting, but it misses something. A rate can hide a concentrated problem. The 45 cut-off exceptions alone are worth $1.08m, above performance materiality of $750k.

  • Sort the 588 by kind and value, and follow up each kind.

    The strong move. Full-population testing finds the exceptions for you; the audit work is understanding them.

  • Pick a random sample of 25 exceptions, as you would in a normal sample.

    Tempting, but it misses something. You already have every exception. Sampling them throws away the advantage of testing the whole population.

See how a strong candidate says it

“A 99.4% match rate isn’t the conclusion. The 588 exceptions are where any error would be, so I’d sort them by kind and value and follow up each kind.”

What a strong candidate could say

Why it works: Testing the whole population moves the work from sampling to investigating exceptions.

Step 2: Start with the biggest risk

What would you do here? Open the move you’d make.

  • Start with the 402 price differences: they’re the most numerous.

    Tempting, but it misses something. Most numerous isn’t most risky. They total $0.31m; the 45 cut-off invoices total $1.08m and point to early revenue.

  • Test all 45 delivered-after-year-end invoices against contract terms and delivery dates.

    The strong move. They’re the largest by value, above $750k, and early recognition is the classic revenue risk.

  • Ask the sales team to confirm the 45 were genuine sales.

    Tempting, but it misses something. Genuine isn’t the question; timing is. Contract terms and delivery dates answer it, not the sales team.

See how a strong candidate says it

“The 45 invoices delivered after year end total $1.08m, more than performance materiality. Revenue may be recognized early, so I’d test all 45 against contract terms and delivery dates.”

What a strong candidate could say

Why it works: Cut-off errors move profit between years, and this group is worth more than performance materiality.

Step 3: Get other evidence for the missing deliveries

What would you do here? Open the move you’d make.

  • Book all 141 as a misstatement: no proof of delivery, no revenue.

    Tempting, but it misses something. Missing paperwork isn’t proof that no sale happened. Cash received from the customer is strong evidence that it did.

  • Check for cash received after year end, and confirm the rest with customers.

    The strong move. A customer’s payment is evidence from outside the company that the sale was real; confirmation covers what cash can’t.

  • Accept them because the client says the warehouse scanner was down.

    Tempting, but it misses something. An explanation isn’t evidence. Check it against cash received and customer confirmations.

See how a strong candidate says it

“For the 141 with no proof of delivery, worth $0.52m, I’d look for cash received after year end, and ask customers to confirm the rest.”

What a strong candidate could say

Why it works: Missing paperwork isn’t an error; it needs other evidence, ideally from outside the company.

Step 4: Understand the small ones too

What would you do here? Open the move you’d make.

  • Ignore them: $0.31m is well below performance materiality.

    Tempting, but it misses something. The value is small, but 402 unexplained overrides of the price list may mean pricing isn’t controlled.

  • Check whether they’re approved discounts or rebates, and report any control gap.

    The strong move. It settles the revenue question and tells the client something useful about its pricing controls.

  • Recompute every invoice at list price and book the difference.

    Tempting, but it misses something. Approved discounts are real terms of sale. Recomputing at list price would create an error, not fix one.

See how a strong candidate says it

“The 402 price differences total $0.31m. I’d check whether they’re approved discounts, because 402 overrides of the price list is a control question as much as a revenue one.”

What a strong candidate could say

Why it works: Small differences can point to a control gap even when they don’t add up to much.

The answer, in short

Decision
Don’t conclude on revenue yet: test all 45 cut-off invoices first.
Because
They total $1.08m, above $750k performance materiality, and point to revenue recognized in the wrong year.
What would change it
Contract terms showing that control of the goods passed to customers before year end on those 45 invoices.

Common traps

  • Concluding from a match rate.
  • Sampling exceptions you already have in full.
  • Treating missing paperwork as an error.
  • Ignoring small differences that point to a control gap.

Check your answer

  • Did I treat the 588 as leads, not a rate?
  • Did I start with the exceptions above performance materiality?
  • Did I find other evidence before calling anything an error?
  • Did I say what the client should fix?

Last reviewed Nov 9, 2026