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

Reference6 min readPublished

Building a risk control matrix (RCM) for audit testing

How to structure a risk control matrix — risk, control objective, control activity, frequency, evidence and test result — map it to financial statement assertions, and keep it a living document rather than one nobody updates after year one.

A risk control matrix structures audit testing by listing, for each significant process, the specific risk of misstatement, the control objective that addresses it, the actual control activity performed, who performs it and how often, the evidence that would show it operated, and the result once tested. Its value depends entirely on being kept current — an RCM carried forward unchanged year after year stops reflecting the entity's actual controls and becomes a document the testing no longer really follows.

The structure, column by column

Different firms use different templates, but the columns below are the ones that actually drive testing. An RCM missing any of these forces the tester to go find the information elsewhere, which is where inconsistency creeps in.

Core columns of a working RCM
ColumnWhat it capturesWhy it matters
RiskThe specific way a misstatement could occur — not a generic category like 'completeness risk' but the actual scenario, e.g. 'goods received but invoice not recorded before period end'A vague risk statement produces a control activity chosen to look responsive rather than one chosen to actually close that risk
Financial statement assertionWhich assertion the risk threatens — completeness, existence, valuation, rights and obligations, presentationThis is the bridge back to the audit opinion; without it the RCM is a process document, not an audit tool
Control objectiveWhat the control is meant to achieve, stated as an outcomeDistinguishes the objective from the activity, so a control can be assessed on whether it meets the objective, not just whether it was performed
Control activityThe specific action performed — 'AP supervisor matches GRN, PO and invoice before approving for payment'Specific enough that a different tester, reading it cold, could go and test the same thing
Control typePreventive or detective, manual or automated, and key or non-keyDrives both the testing approach and how much weight the control carries in the overall conclusion
FrequencyTransaction-level, daily, monthly, quarterly, annualDetermines sample size and spread — a monthly control needs a different sampling approach from a transaction-level one
Control ownerThe specific role or person accountableNeeded to walk through the control and to follow up when it fails
Evidence of operationWhat a tester should expect to find — a signed checklist, a system log, an approval workflow recordWithout this stated in advance, operating effectiveness testing drifts into accepting whatever the client happens to produce
Test resultPass, pass with exception, or fail, with the exception detail and its dispositionThe only column that changes every cycle; everything above it should be relatively stable between cycles
Core columns of a working RCM

Mapping to financial statement assertions

The assertion column is what keeps the RCM anchored to the audit opinion rather than drifting into a general process-improvement document. Every control in the matrix should trace to at least one assertion for at least one significant account; a control that cannot be mapped to any assertion is either mis-scoped into the RCM or is addressing an operational risk that belongs in a different document, such as an operational internal audit finding rather than an IFC control.

  • Completeness: controls that catch transactions that should have been recorded but were not — sequence checks, three-way matching, cut-off procedures.
  • Existence and occurrence: controls confirming a recorded transaction actually happened — physical verification, confirmations, approval evidencing a real underlying event.
  • Valuation: controls over estimates and judgement areas — provisioning methodology, impairment review, rate and price verification.
  • Rights and obligations: controls confirming the entity actually owns the asset or owes the liability recorded — title verification, loan confirmations.
  • Presentation and disclosure: controls over classification and disclosure completeness — related-party identification, segment allocation review.

Keeping it a living document

The most common failure of an RCM has nothing to do with its initial structure. It is maintenance. A matrix built carefully in year one and then copied forward unchanged in years two and three stops describing the entity's actual controls the moment anything changes, and something always changes.

  1. 01Trigger an RCM review on specific events, not just at year endA system change, a process owner leaving, a restructuring, or a prior-year exception that suggests the control design itself needs revisiting — each of these should prompt an update to the relevant RCM rows immediately, not at the next annual refresh.
  2. 02Re-walk a sample of controls each cycle even where nothing is reported to have changedProcess owners under-report change. A short confirmatory walkthrough catches drift that nobody thought to mention.
  3. 03Retire rows for controls that no longer exist, rather than leaving them and marking them 'not tested'A row left in the matrix but not tested invites confusion about whether the control still matters. If it is gone, remove it and record why.
  4. 04Version the RCM and keep the prior versionA reviewer or regulator asking what changed between cycles needs to see both versions, not just the current one with no history.
  5. 05Assign ownership of the RCM itself, separate from who tests itSomeone has to be responsible for keeping it current between testing cycles, or it defaults to being updated only when someone happens to notice it is wrong.

An RCM with the same test results, the same wording, and the same exception count three years running is not evidence of a stable control environment. It is usually evidence that the matrix was copied forward and the testing followed the document rather than the actual process.

How we think about this

An RCM is structured data wearing the shape of a document — rows, columns, a status that changes over time. Treating it as a spreadsheet that gets emailed around and manually reconciled against the prior year is why it rots. Treating it as a dataset that can be diffed between cycles, flagged for review on a trigger event, and linked directly to the evidence gathered for each test result is what keeps it current without relying on someone remembering to update it.

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.