,

Substantive Testing in Internal Audit: Procedures and Design

Sooner or later every internal auditor is told to substantively test something: an accrual, a reserve, a revenue cutoff, the cash a driver says he turned in. Most of us learned the phrase from external audit and carry a shorthand version around: pick forty items, vouch them, tick, conclude. That version collapses under the first hard question a reviewer or an audit committee member asks. How do you know the population was complete? What did you decide an exception was before you found one? What do two exceptions in forty say about the three million dollars you did not look at? A test that cannot answer those questions is not evidence about the balance; it is evidence that forty invoices existed.

This guide is the method. It gives you an assertion-by-assertion table of substantive procedures with a worked example and the evidence each one yields (22 rows), a test design template, a fully worked accrued-liabilities cutoff test with a monetary-unit sample of 40, two exceptions, a projection and an upper misstatement limit, a worked substantive analytical procedure on fleet fuel with an expectation, two thresholds and an investigation, and a failure table built from review notes. It was rewritten in September 2026 to reflect the Global Internal Audit Standards, effective 9 January 2025, and it sits alongside the guides on audit evidence and tests of design versus operating effectiveness, which cover the control side of the same engagement.

In this guide

What substantive testing is, and what a test of controls cannot tell you

A substantive test is a procedure whose object is the number: you examine a transaction, a balance or a disclosure and come away with a statement about whether it is misstated, by how much and in which direction. A test of controls has a different object, an activity, and produces a statement about whether the activity operated. The two get confused because they often look at the same document. Pulling a June invoice to check for the approver’s signature is a test of controls; pulling the same invoice to establish that the service was received before June 30 and sits in the June accrual is a substantive test. The design versus operating effectiveness guide covers the first; this one covers the second.

The distinction matters because the two fail independently. A control can operate exactly as designed on a population that is wrong: at MidState Beverage the controller reviewed and signed every depot accrual form that reached her desk, and five of the twelve depots never sent one. A balance can also be right in the absence of any control, which is why “no exceptions” in a substantive sample says nothing about next quarter. When you need both statements, run both tests and write two conclusions.

DimensionTest of controlsSubstantive test
Question answeredDid the control operate as designed throughout the period?Is the amount misstated, by how much, and in which direction?
Object examinedAn activity: an approval, a review, a reconciliation, a three-way matchA number: a transaction, a balance, a disclosure, or the physical quantity behind it
PopulationOccurrences of the control (every settlement review, every accrual form)Items making up the amount, or the source events that should have produced it
What an exception meansThe control did not operate for that occurrence; you project a deviation rateThe item is misstated; you project a misstatement amount
Sample size logicAttribute sampling: tolerable and expected deviation rates give the familiar 25, 40 and 60Value-based: population value, a confidence factor and a threshold, plus 100 percent strata for large items
What a clean result provesThe control operated at the tested frequency during the periodThe amount is not misstated by more than the threshold, in the direction tested, at the stated confidence
What it cannot proveThat the amount is rightThat the control operated, or that the amount will be right next period
How the conclusion reads“0 deviations in 40 occurrences; the control operated effectively in FY26.”“Unrecorded liabilities at June 30, 2026 are not expected to exceed $125,000 at 80 percent confidence.”

Substantive procedures come in two families. Tests of details examine individual items: inspection of documents, confirmation with third parties, physical observation, recalculation, reperformance, and vouching or tracing between a record and the event behind it. Substantive analytical procedures examine a relationship: an independent expectation of what the amount should be, compared with what was recorded, with the difference investigated. The unit of evidence, an item versus a relationship, drives how each is designed, sized and evaluated.

External auditors size substantive work from the risk of material misstatement. Internal auditors do not opine on financial statements, but the same arithmetic decides when you should be testing substantively at all, and five situations account for nearly all of it: ICFR support, where the external auditor relies on your work under SOX 404 and the test has to meet their methodology; quantifying a failed control, because a deficiency’s severity turns on the magnitude of misstatement that could result (see control deficiency evaluation); fraud allegations, where the only question is what happened to the money; operational engagements where the “balance” is hours-of-service logs, keg deposits or route settlements; and any engagement where management is about to act on a number nobody has independently tested. The Global Internal Audit Standards put it plainly in Standard 14.1: the information you gather must be relevant, reliable and sufficient. When control evidence is thin, substantive procedures are how you reach sufficient.

Assertions and the procedure that answers each one

An assertion is the specific claim a recorded number makes, and it is the most useful design tool you have because it tells you which direction to test. The seven used below follow AU-C 315 and ISA 315 (Revised 2019), which separate assertions about transactions (occurrence, completeness, accuracy, cutoff, classification) from assertions about balances (existence, rights and obligations, completeness, valuation); the PCAOB’s AS 1105 compresses them into five. Internal auditors are bound by neither, and the habit matters more than the taxonomy. “Test accounts payable” is not a test. “Establish that liabilities incurred on or before June 30 are recorded at June 30” is one, with a direction, a population and a stopping rule.

Direction of testing is the most common design error I see in review. To test existence or occurrence you start from the recorded item and go outward to the thing that proves it happened; that is vouching. To test completeness you start from the event and go inward to the record; that is tracing. A sample drawn from the ledger can never test the completeness of the ledger, because whatever is missing from the ledger cannot be in the sample. MidState’s route cash engagement learned this the hard way: sampling cash receipts postings found nothing wrong, because the $18,400 the Dayton driver diverted over five months was never posted. The test that found the pattern started from signed delivery tickets and customer remittance stubs and asked where each one landed.

AssertionSubstantive procedureMidState Beverage exampleEvidence obtained and its weight
Existence (inventory)Observe the count; test-count floor to sheet and sheet to floorJune 30 count at the Columbus depot: 60 SKUs counted each way, breakage and out-of-code product notedAuditor’s own observation; the strongest evidence there is, but only for that date and place
Existence (receivables)Confirm directly with the debtor, the auditor controlling the request and the reply addressThe 45 largest chain-account balances at June 30 ($4.1 million of $9.7 million); every difference resolved to invoice levelThird-party response received by the auditor; strong for existence, weak for valuation because customers do not confirm they will pay
Existence (cash)Obtain bank statements or confirmations directly from the bankJune 30 statements for the 14 depot deposit accounts pulled under the auditor’s own read-only bank login and agreed to the reconciliationsExternal evidence obtained directly; silent on deposits in transit
Existence (fixed assets)Physically verify items selected from the register30 vehicles selected from the fleet register and sighted; VIN, plate, condition and location recordedAuditor observation; also yields valuation evidence for idle or wrecked units
Occurrence (revenue)Vouch recorded sales to delivery evidence and to the settlement of the cash40 invoices vouched to the signed delivery ticket, the handheld scan record and the route settlement in which the cash or check came inInternal documents with an external element (the customer’s signature); moderate
Occurrence (journal entries)Vouch manual entries to the business event and the approvalAll 23 manual entries over $25,000 in the June close vouched to their calculation and the event behind themStrong where the entry ties to an external document, weak where the support is the poster’s own spreadsheet
Completeness (liabilities)Search subsequent invoices and disbursements for liabilities incurred before period-endThe worked example below: 2,361 invoices and payments from July 1 to August 7 screened for June service datesVendor invoices and service tickets; strong when the service date comes from a document rather than the invoice date
Completeness (revenue)Trace from source records into the ledger40 signed delivery tickets pulled from depot files and traced to the invoice and the revenue postingDirection is the point: starting outside the ledger is the only way to find what it lacks
Completeness (cash receipts)Trace receipts to the deposit and to the postingFor 30 depot-days, driver settlement sheets and customer remittances traced to the validated deposit slip and the receivables postingBank validation plus internal records; strong, and the test that would have caught the Dayton diversion inside a month
Completeness (records)Sequence-check the numbered documentsFY26 delivery ticket range tested for gaps and duplicates across 100 percent of records; every void over $500 inspectedSystem data; strong for the record set, weak for the validity of the voids
Completeness (payables)Reconcile vendor statements to the subledger plus accrualsJune statements from the 25 largest non-product vendors reconciled to accounts payable plus accruals at June 30External document; strong, but only for vendors that send statements
Accuracy (depreciation)Recalculate independentlyFY26 depreciation for all 342 fleet units recomputed from cost, in-service date and policy lives, and compared by unitAuditor recalculation; strong; differences are usually policy-life or in-service-date errors
Accuracy (pricing)Reperform against the authorized master data40 invoices re-priced against the price file in effect on the invoice date; volume discounts and container deposits recomputedMaster data plus recalculation; strong if the price-file change log has been tested
Accuracy (payroll)Recompute gross pay from source hours and rates40 driver pay records recomputed from handheld route hours, approved overtime and the rate in the HR systemRecalculation from system data; strong, subject to the reliability of the time source
Cutoff (revenue)Test the last and first transactions around period-end to delivery datesThe last 25 delivery tickets before and the first 25 after June 30, each agreed to the period the goods left the depotCustomer-signed dates; strong; test both sides of the date or you have tested one direction only
Cutoff (purchases and inventory)Match receiving reports either side of period-end to inventory and payablesReceiving reports dated June 26 to July 5: goods received by June 30 confirmed in both inventory and the goods-received-not-invoiced accrualReceiving documents plus postings; strong; the classic error is goods in inventory but not in payables
Cutoff (accruals)Search subsequent invoices for service periods that predate the cutoff dateThe worked example belowService tickets and timesheets; the invoice date is not evidence of the service period
Valuation (receivables)Test the allowance inputs and look at subsequent cashAging recomputed from invoice dates; 40 balances over 90 days checked for collection through August 15; allowance compared with the uncollected remainderSubsequent cash is external evidence of collectability; strong; recomputing the aging catches re-dated invoices
Valuation (inventory)Identify damaged, out-of-code or slow stock and compare with the reserveSKUs past their best-by date and damaged cases listed at the count and priced at cost ($218,000) against the $140,000 obsolescence reserveObservation plus recalculation; strong; it produces a number the reserve has to answer to
Rights (inventory)Separate owned stock from supplier-owned itemsBrewer-owned kegs, pallets and coolers at depots confirmed excluded from inventory; supplier agreements readContracts; strong; counting supplier-owned assets overstates inventory and equity together
Obligations (leases)Read the agreements and recompute the liabilitySix fleet leases: term, payments and rate agreed to the ASC 842 schedule and the June 30 liability recomputedContracts plus recalculation; strong
Classification (repairs versus capital)Test large repair invoices against the capitalization policyThe 30 fleet maintenance invoices over $5,000 in FY26 classified under the policy: engines and transmissions capitalize, tires and brakes expenseInvoices plus policy; strong; expect the errors to run in one direction

Two things in the last column deserve emphasis. Evidence has weight, and the weight comes from who produced it and who handed it to you: a confirmation you received, a statement you pulled yourself and a contract outrank an invoice held by the auditee, which outranks an accrual form, which outranks an explanation; the audit evidence guide sets out the hierarchy. And every population you select from and every schedule you foot is information produced by the entity, so a test built on an unvalidated report inherits every error in that report. Completeness of the population is an assertion in its own right, and the IPE testing guide covers proving it before you select a single item.

Designing a test that holds up: seven decisions and a template

Seven decisions, made in this order and written down before the first item is pulled. A workpaper that cannot show all seven does not hold up, however carefully each item was examined, because a reviewer cannot tell whether the conclusion follows from the work. GIAS Standard 13.6 expects the procedures in a work program before fieldwork; the work program guide shows the house format, and the seven decisions are what its substantive rows need to contain.

1. Objective and assertion. One sentence, one direction. “Determine whether liabilities for goods and services received on or before June 30, 2026 are recorded in accounts payable or accrued liabilities at June 30, 2026” tests completeness and cutoff in the understatement direction. If the sentence needs “and” between two assertions, check that one procedure really answers both; existence and completeness almost never share a procedure, because they run in opposite directions.

2. Population and its completeness. Define the frame you will select from, reconcile it to a control total that did not come from the same report, and name what the frame cannot contain so you can cover it separately. For a subsequent-disbursements search that means the invoice register tied to subledger activity, plus the wire log, plus the tray of invoices that were received but never entered. The item that hurts you is the one that never made it into the file you sampled from.

3. Threshold. The amount of misstatement at which your conclusion changes, fixed before selection and written into the planning memo. In ICFR support it sits below the external auditor’s performance materiality, so that anything you find is something they would care about; in an operational engagement it is the amount that would change a decision. A useful check is whether the CFO would book an adjustment of that size without argument; if not, the threshold is too high. Under GIAS Standard 13.4 this is your evaluation criterion, and the reader of the report is entitled to know it.

4. Selection method and size. Examine 100 percent of any item large enough to breach the threshold on its own, and usually everything above a lower cut, because a 100 percent stratum needs no projection. Sample the rest by value or at random with a documented method (the free mySampler tool, or an Excel workbook you retain with the seed), never by hand from a printout. Size the sample with the value-based formula most methodologies use: population value, multiplied by the confidence factor for zero expected misstatements, divided by the threshold. The 25, 40 and 60 sizes are attribute sizes for tests of controls; importing 25 into a value test of a $3 million population is a reliable way to produce a test that cannot support its own conclusion. If you expect misstatements the zero row is too small; the AICPA Audit Sampling guide’s tables expand it, and the sampling techniques guide walks through the choices.

Misstatements found in the sample95 percent confidence90 percent confidence80 percent confidence75 percent confidence
03.002.311.611.39
14.753.893.002.70
26.305.334.283.93
37.766.695.525.11
Sample size for a $3,066,100 stratum, $125,000 threshold, zero expected misstatements (value × zero-row factor ÷ threshold)74574035

The factors are Poisson upper limits rounded up to two decimals, the same numbers published in the AICPA guide and built into every monetary-unit sampling tool. Use 95 percent when the test is the only evidence on the assertion; 90 or 80 when a 100 percent stratum, an analytic or tested controls carry part of the assurance and the workpaper says which part; never below 75 for a balance you intend to write a conclusion about. State the confidence level in the conclusion itself.

5. Procedure. The steps, the documents, and the definition of “agreed” for each attribute, including which document wins when two disagree: a service ticket signed by the depot manager beats the invoice date, a bill of lading beats the invoice line, a bank validation beats a deposit slip. Write it so that a colleague who has never seen the process could perform it, which is also what makes the workpaper reperformable at review.

6. Exception definition. Written before the first item, because the urge to reclassify the first exception as “not really an exception” is strong and always sounds reasonable in the moment. State what counts (any misstatement in the tested direction, of any amount), what does not (an over-accrual when you are testing understatement, a misspelled vendor name, a document that is late but correct), and how partial misstatements are measured (the unrecorded portion, not the whole invoice). Log the non-exceptions anyway; they are often findings of another kind.

7. Evaluation and projection. Decide in advance how the result will be evaluated: known misstatement from the 100 percent strata, projected misstatement from the sampled strata, an allowance for sampling risk, and the comparison with the threshold. Decide the response tree too: pass, expand the sample, ask management to sweep the population, or fail. An evaluation method chosen after the results are known was chosen to fit them.

Substantive test design: [account or balance], [period-end date]. Engagement [reference]. Prepared by [name], [date]. Reviewed by [name], [date].

Objective and assertion. Determine whether [population] is [complete / recorded in the correct period / accurately stated / existing] at [date]. Direction tested: [overstatement / understatement]. Assertions not addressed by this test: [list].

Population and completeness. Frame: [report, system, parameters, run date, run by]; [count and value]. Reconciled to [independent control total], difference [amount], explained by [reason]. Items the frame cannot contain and how they are covered: [list]. IPE validation at [workpaper reference].

Threshold. [Amount], derived from [performance materiality / the decision the number supports / a regulatory limit], agreed with [name] on [date], planning memo reference [reference].

Selection. Items at or above [cut] examined 100 percent: [count, value]. Remaining stratum [count, value] sampled by [monetary-unit / random] selection at [confidence] percent using [tool, seed or random start]: sample of [n], interval [amount].

Procedure. For each item: (1) obtain [document]; (2) establish [attribute] from [source of truth, in order of precedence]; (3) agree to [record]; (4) record the evidence reference. “Agreed” means [definition, including any tolerance].

Exception definition. An exception is [definition]. Partial misstatements are measured as [method]. Logged but not counted: [list].

Evaluation. Known misstatement (100 percent strata) plus projected misstatement (sampled strata) plus the allowance for sampling risk at [confidence] percent, compared with the threshold. If the upper limit exceeds the threshold: [expand to n / management sweep / report as a finding].

Conclusion. [Written after evaluation; states the assertion, the direction, the date, the threshold and the confidence level.]

Worked example: accrued liabilities cutoff at MidState Beverage

MidState Beverage’s fiscal year ends June 30. The FY27 audit plan carries an ICFR support engagement and a review of the financial close under turnover, and the two collided in July 2026: the controller who chased the twelve depot accrual forms every month left in May, two depot managers were new, and the June close was run by an assistant controller on a 2013 ERP with accruals assembled from depot spreadsheets. The CFO asked internal audit to perform the search for unrecorded liabilities before the external auditors arrived in September. The design follows the template above; the numbers are the engagement’s.

Objective. Determine whether liabilities for non-product goods and services received on or before June 30, 2026 are recorded in accounts payable (GL 2000) or accrued liabilities (GL 2150 accrued expenses and GL 2160 accrued freight) at June 30, 2026: completeness and cutoff of liabilities, understatement direction. Product purchases were scoped out because they are matched to receiving reports and accrued automatically through the goods-received-not-invoiced account, and receiving cutoff was tested in the warehouse inventory engagement; the scoping decision was written into the objective, not discovered later. Accrued liabilities at June 30 stood at $2,384,600.

Population. The frame came from three sources. The AP invoice register for July 1 to August 7, 2026 (the ledger lock date) listed 3,412 invoices totaling $12,731,900, which internal audit tied to subledger posting activity for the same dates before doing anything else; removing the 1,094 product invoices ($7,819,500) left 2,318 non-product invoices totaling $4,912,400. The treasury log added two manual payments with no AP invoice. The scanning queue added 41 invoices received but not yet entered on August 7, a population that no ERP report will ever contain.

SourceItemsValueTreatment
AP register, non-product invoices posted July 1 to August 7, 2026, at or above $40,000 (stratum A)27$1,846,300Examined 100 percent; no projection
AP register, non-product invoices below $40,000 (stratum B)2,291$3,066,100Monetary-unit sample of 40 at 80 percent confidence
Invoices received but not yet entered at August 7 (scanning queue)41$63,200Examined 100 percent
Manual checks and wires July 1 to August 7 with no AP invoice2$18,400Examined 100 percent
Total frame2,361$4,994,000Register tied to subledger activity; queue counted by the auditor; wires agreed to the bank statement

Threshold and selection. The threshold was $125,000, set in the planning memo below the external auditor’s performance materiality. Internal audit chose 80 percent confidence for stratum B because stratum A, 38 percent of the value, was examined in full and because the vendor statement reconciliations for the 25 largest non-product vendors gave separate evidence on the same assertion. The formula gives the sample, $3,066,100 × 1.61 ÷ $125,000 = 39.5, rounded to 40, and the interval, $3,066,100 ÷ 40 = $76,652.50. A random start of $41,377 was generated and recorded, the stratum was sorted by invoice number with a cumulative value column, and the invoice containing each successive multiple of the interval was selected; the 40 invoices totaled $391,200. Because every item in the stratum is below the interval, none could be selected twice.

  1. Obtain the invoice and any packing slip, service ticket, timesheet or bill of lading attached to it in the imaging system.
  2. Establish the service or receipt date from the attachment, never from the invoice date; allocate an invoice that straddles June 30 by days or by units delivered.
  3. If the date is on or before June 30, locate the liability in the June 30 AP subledger or the accrual schedule by vendor, depot and amount, and record the reference. Recorded in full: no exception. Not recorded, or recorded for less: the misstatement is the unrecorded portion.
  4. If the date is after June 30, the item is a July expense and passes; record the evidence anyway.
  5. Resolve disputes about whether a service was complete by the document that evidences delivery, not by asking the vendor or the depot manager.

Exception definition. Any portion of a liability for goods or services received on or before June 30, 2026 that was not recorded in AP or accrued liabilities at June 30. Over-accruals were logged for the close review but not counted, because the direction tested is understatement. Stratum A produced no exceptions; the queue held three June-service invoices totaling $4,900, all in the accrual; both manual payments were July rent. The sample produced two exceptions, shown with six of the passing items below.

ItemVendor and invoiceAmountService or receipt period (source)Recorded at June 30Unrecorded
1Kessler Refrigeration Service, dated July 9$7,850Compressor replacement, Toledo depot cooler; service ticket signed June 24Not in AP; not on the Toledo accrual form, which was never submitted$7,850 (exception)
2Riverbend Staffing, dated July 6$4,120Warehouse temporary labor, week ended June 28 (timesheets)Accrued $2,600, estimated from the prior week’s invoice$1,520 (exception)
3Buckeye Crossdock Freight, dated July 3$3,940LTL shipments June 26 to 30 (bills of lading)Accrued $3,940 in GL 2160None
4Toledo depot electric utility, dated July 8$2,215Service June 5 to July 6; June portion 26 of 32 daysAccrued $1,800 by pro-rationNone
5Hartwell Tire and Brake, dated July 14$1,285Tires fitted to unit 217 on July 9 (work order)Not recorded; July expenseNone
6Capitol Ridge Property Management, dated July 1$9,500July rent, Springfield depot (lease)Not recorded; July expenseNone
7Marlowe Uniform Rental, dated July 2$612Rental week June 22 to 28 (delivery manifest)Accrued $612None
8Scioto Bulk Fuels, dated July 2$26,9007,400-gallon delivery to the Dayton tank on June 29 (delivery ticket)Accrued $26,900 from the depot fuel receipt logNone

Evaluation. In monetary-unit sampling each exception is expressed as a tainting, the misstated fraction of the item, and each tainting is projected across one sampling interval, on the reasoning that the selected dollar stood for every dollar in its interval. The allowance for sampling risk has two parts: basic precision, which is the upper limit you would have with no misstatements at all, and an incremental allowance for each misstatement found, computed from the change in the confidence factor as the count rises, with the taintings ranked largest first.

StepComputationAmount
Sampling interval$3,066,100 ÷ 40$76,652.50
Tainting, item 1 (Kessler)$7,850 unrecorded ÷ $7,850 invoice100.0 percent
Tainting, item 2 (Riverbend)$1,520 unrecorded ÷ $4,120 invoice36.9 percent
Projected misstatement, item 11.000 × $76,652.50$76,652
Projected misstatement, item 2($1,520 ÷ $4,120) × $76,652.50$28,280
Projected misstatement, stratum B$76,652 + $28,280$104,932
Basic precision at 80 percent1.61 × $76,652.50$123,411
Incremental allowance, item 1(3.00 − 1.61 − 1.00) × 1.000 × $76,652.50$29,894
Incremental allowance, item 2(4.28 − 3.00 − 1.00) × ($1,520 ÷ $4,120) × $76,652.50$7,918
Upper misstatement limit at 80 percent$104,932 + $123,411 + $29,894 + $7,918$266,155
Known misstatement, 100 percent strataStratum A, queue and manual payments$0
ThresholdPlanning memo$125,000
Same sample evaluated at 95 percent, for comparisonFactors 3.00, 4.75 and 6.30$407,933

Decision. The projected misstatement alone, $104,932, is 84 percent of the threshold before any allowance for sampling risk, and the upper limit of $266,155 is more than twice it. The sample does not support a conclusion that unrecorded liabilities are below $125,000, and arguing about the two items does not change that; they are what the population looks like when you hold it up to the light. Management’s first instinct was to book $9,370 for the two invoices and close the point. The projection is the answer to that instinct: the stratum is carrying something like $105,000 of unrecorded liabilities and could be carrying $266,000, against a balance of $2,384,600.

Expanding the sample was considered and rejected, and the arithmetic comes up in every one of these conversations. Another 40 items with no further exceptions would halve the interval to $38,326, cut the projected misstatement to $52,466 and bring the upper limit to about $133,000, still above the threshold. Only a sample of 120 with no exceptions in the additional 80 items would reach roughly $88,700, and a stratum that produced two taintings in 40 is not one where 80 clean items is a good bet. Expansion is the right response to a marginal sample and the wrong one to a clear failure. Internal audit asked management to sweep the population instead: faster, and it fixes the books rather than the sample.

The sweep and the outcome. The AP supervisor and the assistant controller screened all 2,291 stratum B invoices and the 41 queued invoices by service or receipt date in four days. Of the 214 invoices with pre-July service dates, 162 were recorded at June 30, 38 were not recorded at all ($186,200) and 14 were under-accrued ($28,500): an unrecorded total of $214,700, 7.0 percent of the stratum’s value and 9.0 percent of the accrual balance. Internal audit reperformed the screen on 30 items, including the 15 largest that management had classified as recorded, with no differences, and the adjustment took accrued liabilities from $2,384,600 to $2,599,300. Note where the actual sits: twice the projected point estimate and inside the 80 percent upper limit. The point estimate was the center of a wide interval; the upper limit was the number that told the truth. The finding was rated on the site’s severity scale and written with the five Cs: condition, a $214,700 understatement; cause, five of twelve accrual forms not submitted and no screening of July invoices by service date before the ledger lock; effect, liabilities understated and FY26 pre-tax income overstated by the same amount; action, a 12-of-12 form checklist gating the close and a service-date screen of every invoice posted in the first 20 days after period-end.

Conclusion as written in the workpaper. Based on the procedures at W/P 4.2 to 4.6, liabilities for non-product goods and services received on or before June 30, 2026 were understated by $214,700, identified through a management sweep of the full population after a monetary-unit sample of 40 produced a projected misstatement of $104,932 and an upper misstatement limit of $266,155 at 80 percent confidence against a $125,000 threshold. Following the adjustment recorded on August 21, 2026 and internal audit’s reperformance of the sweep on 30 items with no differences, unrecorded non-product liabilities at June 30, 2026 are not expected to exceed $125,000. This conclusion does not extend to product purchases, which were tested in the warehouse inventory engagement, or to the operating effectiveness of the accrual control, which is reported as a finding at 4.7.

Worked example: a substantive analytical procedure on fleet fuel

An analytical procedure is substantive only when four conditions hold: the relationship between the amount and its drivers is plausible and predictable; the inputs are independent of the amount being tested and reliable in their own right; the expectation is precise enough for the threshold you need to support; and every difference above the threshold is investigated and corroborated rather than explained. Comparing this year’s balance with last year’s fails the first condition for most accounts, which is why a fluctuation analysis is a risk assessment tool and not evidence. Fleet fuel at MidState passes all four: miles driven, fuel efficiency and price per gallon determine the expense, and each has a source with nothing to do with the general ledger.

Expectation. Expected fuel expense for each month equals telematics miles for the 342 legacy fleet units, divided by 6.8 miles per gallon, multiplied by the regional average diesel price for the month less the $0.06 per gallon discount in the fuel card agreement. Miles come from the telematics platform’s monthly export by vehicle, reconciled to the fleet register. The 6.8 came from the FY24 and FY25 fleet averages (6.77 and 6.83) and was checked against the manufacturers’ figures for the two truck classes. The price came from a public regional diesel series averaged by month; the figures in the table are the example’s inputs, not a quotation of any published series. Recorded expense is GL 6210 by month, tied to the trial balance. The two acquired distributors run their own fleets on their own ledgers and were excluded, and the exclusion is stated in the conclusion.

Thresholds. Two gates. Each month was compared against $15,000, about 4.7 percent of an average month’s expectation and roughly the size of the model’s own noise: a 0.1 mile-per-gallon error in the efficiency assumption moves the annual expectation by about $57,000 and a five-cent price error moves it by about $53,000, so a precision of a few percent per month is the best this model can do. Dividing the $125,000 engagement threshold across twelve months would have given $10,400 and flagged noise every other month. The second gate is the annual net difference against $125,000, which catches the monthly gate’s arithmetic weakness (twelve months at $14,999 in the same direction would be $180,000). Both gates were set before the comparison was run.

MonthTelematics milesExpected gallons (÷ 6.8)Net price per gallonExpected expenseRecorded (GL 6210)DifferenceStatus against $15,000
July 2025641,20094,294$3.65$344,174$348,374+$4,200Within
August 2025652,80096,000$3.62$347,520$344,420−$3,100Within
September 2025612,40090,059$3.60$324,212$331,012+$6,800Within
October 2025598,90088,074$3.56$313,542$310,842−$2,700Within
November 2025571,30084,015$3.53$296,572$298,472+$1,900Within
December 2025583,60085,824$3.49$299,524$294,124−$5,400Within
January 2026548,20080,618$3.52$283,774$287,374+$3,600Within
February 2026559,70082,309$3.58$294,666$296,766+$2,100Flagged on the first pass at −$17,906; cleared after 38,000 duplicate miles were removed
March 2026576,90084,838$3.66$310,508$285,608−$24,900Flagged; investigated
April 2026601,30088,426$3.73$329,831$352,431+$22,600Flagged; investigated
May 2026628,40092,412$3.70$341,924$347,024+$5,100Within
June 2026645,10094,868$3.75$355,754$352,854−$2,900Within
FY26 total7,219,8001,061,735$3.62 weighted$3,842,001$3,849,301+$7,300 (0.19 percent)Annual gate of $125,000 met

Dollar and gallon figures are computed from unrounded inputs, so a column may differ from its total by a few units. The first pass flagged February at −$17,906, and the problem was in the model, not the ledger: nine trucks had their telematics units replaced in February and both the old and the new device reported for most of the month, adding 38,000 miles that were never driven. The vendor’s device inventory export listed the duplicate identifiers with their active dates, the fleet manager’s monthly report had not de-duplicated them, and removing the miles cut the February expectation by $20,006, leaving a residual of +$2,100. This is the normal experience with a first analytic: the first thing it finds is a flaw in your own inputs. Fix the model, document the fix and the fact that it was made after seeing the difference, and never absorb the difference into an explanation.

March and April were the genuine flags, opposite in sign and similar in size, which is the signature of a cutoff error between months. The fleet manager’s explanation was that a bulk delivery had been “invoiced late.” That is a hypothesis, and it was corroborated with two documents that do not depend on him: the Scioto Bulk Fuels delivery ticket for 7,500 gallons to the Dayton depot tank dated March 27, and the depot’s tank gauge log showing the receipt that day. The $27,400 invoice was dated April 2 and posted on April 6 with no March accrual. Moving it back leaves residuals of +$2,500 for March and −$4,800 for April, both within the gate. For the year, recorded expense of $3,849,301 sits $7,300 (0.19 percent) above the expectation of $3,842,001, the absolute monthly residuals after investigation sum to $45,100, and both gates are met. The conclusion, scoped to the legacy fleet and the $125,000 threshold, was that FY26 fleet fuel expense is fairly stated.

Two observations came out of a test that passed. The March delivery was not accrued at month-end, while the June 29 delivery of 7,400 gallons to the same tank was accrued correctly at year-end (item 8 in the cutoff sample): year-end closes get attention that monthly closes do not, and an analytic run on annual totals alone would have shown +$7,300 and never revealed it. And the duplicate devices had been inflating the fleet manager’s miles-per-gallon reporting to operations for a month, which went to the fleet and DOT advisory engagement in the FY27 plan. Analytics built from drivers rather than from last year’s number are the fastest route to this kind of operating insight.

When to test the whole population with analytics

Sampling exists because examining every item was once impossible. For any attribute that is machine-readable in complete, validated data it no longer is, and a full-population procedure removes sampling risk for that attribute. The conditions are strict, and each is a place where the procedure quietly stops being substantive: the data must be validated as IPE, the attribute must be codable without judgment, the exception definition must be a rule the code can apply, and the flagged items must still be examined by a person. What the procedure proves is exactly the attribute you coded, and nothing adjacent to it.

Full-population procedureAssertionWhat it provesWhat it does not proveFollow-up still needed
Sequence-gap and duplicate test on FY26 delivery ticket numbersCompleteness of revenue recordsEvery number in the range is accounted for onceThat tickets outside the range were not issued; that voided tickets were legitimateInspect every void over $500 and 25 random voids to the customer’s confirmation of non-delivery
Duplicate payment scan (same vendor and amount within seven days; normalized invoice numbers)Occurrence and accuracy of payablesWhich payments are candidatesThat a candidate is a duplicate; recurring legitimate charges look identicalInspect every candidate to the invoice and the vendor statement; see AP analytics
Journal entry scan: entries after the ledger lock, round amounts, non-accounting posters, weekend postingsOccurrence and classificationWhich entries carry the risk characteristics you definedThat an entry without those characteristics is properVouch every flagged entry and 25 unflagged entries; see journal entry analytics and journal entry testing
Recompute the three-way match tolerance on 100 percent of product invoicesAccuracy of purchasesPrice and quantity variances are within tolerance for every invoiceThat the receiving quantity was right in the first placeTie 25 receiving reports to the physical count records
Service-date versus posting-period comparison on 100 percent of invoicesCutoff of liabilitiesEvery invoice with a populated service date is in the right periodAnything about invoices whose service-date field is blank or defaulted; MidState’s 2013 ERP has no such field, which is why the cutoff test above had to be a sampleSample 40 invoices with blank or defaulted fields to the source document
Re-price 100 percent of FY26 invoice lines against the price file effective on the invoice dateAccuracy of revenueEvery line was billed at the price in the fileThat the price file was authorizedTest 25 price-file changes to their approvals; see revenue recognition

The hybrid design in the last column is the practical answer for most engagements: run the full-population procedure, examine every flag, and pull a small random sample of unflagged items to confirm that “no flag” means “no problem.” That second sample is what separates an analytic from a screen. It is also the design that moves cleanly into a continuous procedure, which the continuous auditing versus monitoring guide covers, provided you remember that a scan that finds nothing has proved only that nothing matched the rule.

Documenting the conclusion so it survives review

GIAS Standard 14.6 requires documentation sufficient to support the engagement results, and for a substantive test that has a precise meaning: a reviewer who has never spoken to you must be able to see the population and how its completeness was established, the threshold and where it came from, the selection parameters (method, confidence, interval, random start or seed), an evidence reference for every item including the ones that passed, each exception with its measurement, the evaluation arithmetic, and a conclusion that follows from it. The workpaper example shows the layout; the order of the seven design decisions is the order of the workpaper. Tickmarks with no document reference behind them are the most common review note on substantive work, and a conclusion that asserts more than the test examined is the second.

Conclusion as draftedWhy it fails reviewConclusion that holds up
“Accrued liabilities are complete at June 30, 2026.”No scope, no threshold, no confidence level; asserts a certainty no sample can deliver, and covers product purchases the test excluded“Unrecorded non-product liabilities at June 30, 2026 are not expected to exceed $125,000 at 80 percent confidence, after the $214,700 adjustment recorded on August 21, 2026.”
“No exceptions noted; the accrual control is operating effectively.”Converts a substantive result into a control conclusion; the items were never examined for whether the control operated“No misstatements were identified in the 40 items examined. This test does not address whether the accrual review control operated; see W/P 3.4.”
“Fuel expense appears reasonable.”“Reasonable” is not a criterion, and “appears” tells the reader the auditor did not decide“FY26 fleet fuel expense for the legacy fleet of $3,849,301 is within $7,300 (0.19 percent) of an independent expectation; no monthly difference exceeded $15,000 after investigation of March and April; the procedure supports the account within the $125,000 threshold.”
“Two errors were found and corrected by management; no further action.”Corrects the known misstatements and ignores what they imply about the population“Two misstatements in a sample of 40 project to $104,932 with an upper limit of $266,155 against a $125,000 threshold; the sample does not support the balance. See the management sweep at W/P 4.6.”

When the test fails, separate the two things you have found. The adjustment is a number, and the report should give both the known and the projected figures with the confidence level, because a committee that hears “$9,370” and one that hears “$214,700 after a full sweep, from a sample that projected $104,932” will react differently, and only the second reaction is warranted. The control weakness is a finding, written with condition, criteria, cause, effect and corrective action, rated on its own merits, and tracked to closure through issue validation. GIAS Standard 14.5 asks for conclusions that weigh the significance of what was found against the engagement objectives; a conclusion that states the assertion, the direction, the date, the threshold and the confidence level meets that bar, and “no exceptions noted” does not.

Common failures in substantive testing

These come from review notes, quality assessments and the occasional restatement post-mortem. Each produces a workpaper that looks finished and proves less than it claims, and the table runs roughly in the order of the seven design decisions, because that is where each failure is introduced.

FailureWhat it looks likeWhy it mattersFix
Testing completeness from the ledgerA sample of recorded accruals, each vouched to an invoice, concluding “accruals are complete”Nothing missing from the ledger can appear in a sample of the ledger; the test proves existence and calls it completenessStart from the source: subsequent invoices, delivery tickets, receiving reports, remittances. Write the direction into the objective
Population from an unvalidated reportAn ERP extract used as the frame with no tie to a control total; parameters and run date not recordedEvery filter, date range and permission gap in the report becomes a hole in the population, invisible to the sampleTie the frame to an independent total, record the parameters, and cover what the report cannot contain (the scanning queue, the wire log)
Threshold set after the resultsThe threshold appears only in the conclusion, conveniently above the projected misstatementA conclusion cannot be independent of the result if the criterion was chosen to fit itFix the threshold in the planning memo with its derivation, signed by the manager before selection
Attribute sizes in a value test“Sample of 25 per methodology” against a $3 million stratum with a $125,000 threshold25 items at 95 percent supports a threshold of about $368,000 on that stratum, three times what the conclusion claimsSize from population value, confidence factor and threshold, and put the arithmetic in the workpaper
Invoice date used as the cutoff dateAll July-dated invoices treated as July expenseThe exception in the worked example was dated July 9 for a June 24 service; the invoice date measures the vendor’s billing cycle, not the liabilityEstablish the service or receipt date from the attachment; where none exists, request it and log the item as unsupported
Exception redefined after it is found“Timing difference, not an error” written beside the first exceptionEvery cutoff error is a timing difference; the reclassification empties the test of meaningWrite the exception definition before fieldwork and apply it without discussion; log disagreements for the manager
Known errors corrected, projection ignoredManagement books the two invoices found; the workpaper closes with “corrected, no further action”The sample was there to tell you about the population; two exceptions in 40 are the population speakingProject, add the allowance for sampling risk, compare with the threshold, and follow the response tree agreed at planning
Explanation accepted as corroboration“Per the fleet manager, the difference relates to a late invoice”An explanation is a hypothesis; a plausible one is still unverified, and plausible explanations are what a fraudster suppliesCorroborate with a document independent of the person explaining: the delivery ticket, the device inventory, the bank statement
Expectation built from the number being tested“Fuel expense per gallon purchased” compared with recorded fuel expenseThe expectation and the amount share a source, so they agree by constructionBuild expectations from operational drivers (miles, headcount, cases, days) and external prices
Conclusion drift“No exceptions” becomes “the balance is fairly stated” becomes “controls are effective” by the time the report is draftedEach restatement adds an assertion the test did not examine, and the committee acts on the last versionCopy the workpaper conclusion into the report verbatim, with its scope, threshold and confidence level

Adapting the method: small populations, estimates, interim work and pressure to move on

Small populations. Below roughly a hundred items, or wherever a handful of items carry most of the value, sampling is the wrong tool. Examine everything, or examine everything above a cut and describe the remainder as untested rather than projecting from three items to twenty. MidState’s six fleet leases and 23 large manual entries were never candidates for a sample. The same logic governs the top stratum of any population: a known misstatement in a 100 percent stratum is added to the projected misstatement from the sampled stratum in full, with no projection and no allowance, because there is no sampling risk in a stratum you examined completely.

Estimates. An allowance, a reserve or a model-based accrual has no population of items to sample. The substantive test is of the estimate’s three parts: the inputs (are the aging buckets right, is the obsolescence list complete), the method (does the model do what the policy says, and does it match what the same model produced last year), and the outcome, a retrospective review comparing last year’s estimate with what actually happened. The MidState inventory reserve is an example: the count produced $218,000 of out-of-code and damaged product against a $140,000 reserve, a number the reserve has to answer to in a way that no vouching of the reserve calculation could produce. The management review controls guide covers the control side of estimates; the substantive side is the retrospective review.

Interim testing and roll-forward. Testing at March to save time in July is legitimate only with a plan for the gap: a procedure that covers April to June (a substantive analytic on the activity, a review of the intervening large items), or a year-end sample sized on its own. A cutoff test in particular cannot be rolled forward, because its population is defined by the period-end date; the receiving reports that matter for June 30 did not exist in March.

Non-financial objects and entities off the system. The seven decisions apply unchanged when the “balance” is a set of DOT hours-of-service records, keg deposits or route settlements: define the population and its completeness (every route-day, not every settlement that synced), fix the threshold in the unit that matters, select, define the exception, evaluate, conclude. For the two acquired distributors not yet on the ERP, the frame comes from their legacy ledgers, the consolidation spreadsheet is itself an item to test, and the top stratum is 100 percent because the populations are small and the data unfamiliar. Walk the process before designing any of it; the process walkthroughs guide is where the population definition actually gets written, because the walkthrough is where you learn that the Toledo accrual form is never submitted and that the scanning queue exists.

Pressure to move on. Every failed substantive test produces a version of the same conversation, and it helps to have the sentence ready. To the CFO: “The two invoices are $9,370. The sample says the population is carrying about $105,000 and could be carrying $266,000; a four-day sweep by AP will replace both estimates with a fact, and the auditors will run the same test in September on whatever number we leave them.” To the audit committee: “The adjustment was $214,700, identified because a 40-item sample projected to $104,932 against a $125,000 threshold, which is why we did not accept management’s initial correction of the two items found.” Both sentences contain the projection, the threshold and the outcome, and neither contains the word “reasonable.” That is the whole discipline: a substantive test that holds up is one whose numbers can be said aloud to the people who have to act on them, in the order they were decided, without anyone having to take your word for it.

Related guides

Free PDF · 15 one-page cheat sheets

The Internal Audit Desk Reference, free by email.

GIAS 2024 on one page, the sample-size tables, the risk and control matrix, the five-C finding, the SOX deficiency ladder, the CIA exam at a glance, and nine more. Printable. Written by working auditors.

Free. Confirm your address once; the PDF link follows. Unsubscribe anytime.

Cover of The Internal Audit Desk Reference: fifteen one-page cheat sheets and templates (PDF)
Cover of The Internal Audit Desk Reference: fifteen one-page cheat sheets and templates (PDF)

Free PDF

The desk reference: 15 cheat sheets, one page each.

GIAS map, sample sizes, the RCM, the five-C finding, SOX deficiency ladder, CIA at a glance. Free, printable.

Confirm once; the PDF link follows. Unsubscribe anytime.

Comments

Leave a Reply