Manav.id
Developer · 4 min read

Segregation of duties exceptions: the compensating control that compensates for nothing

Segregation of duties exceptions: the compensating control that compensates for nothing

Every ERP estate has an exception register. It is the document an ITGC auditor samples first, and it is a list of accepted risks whose mitigations are described in prose and evidenced by nothing.

What does a compensating control actually compensate for?

Frequently nothing testable. A segregation of duties conflict is accepted because the business needs it, and the register records an approver, a date and a free-text compensating control. Whether that control ever operated is not recorded anywhere.

Key takeaways
  • Exception approval is a GRC workflow with text fields. The conflict is rendered as rule codes and the compensating control is an assertion with no operating evidence linked to it.
  • An exception register grows monotonically because nothing forces re-evaluation, and stale exceptions accumulate at the rate of ERP change.
  • Linking each operation of the compensating control to the exception makes the register testable end to end.

Prerequisites

SoD conflict detectedby the toolgoodBusiness justifies itlegitimatelyoften trueCompensating control recordedfree textunverifiedException persistsrenewed annuallyunchecked
The acceptance is documented. The mitigation is asserted.

Step 1 — Age the register

Sort exceptions by approval date and plot the distribution. The shape tells you most of what you need.

Age of exceptionWhat it usually means
Under 6 monthsActive business need, recently justified
6–18 monthsRe-approved at least once, probably without re-examination
Over 18 monthsThe original justification is unverifiable; the person who wrote it may have left
Over 3 yearsStructural — the conflict is how the business runs and the exception is fiction

The bottom two rows are usually the majority. An exception register that only grows is not managing risk; it is recording the accumulation of it.

Step 2 — Test the compensating controls

Take ten exceptions and ask, for each: what evidence exists that the stated compensating control operated during the last quarter?

Common compensating controls and what evidence typically exists:

Stated compensating controlEvidence that usually exists
Monthly review of transactions by the managerA calendar invite, sometimes
Exception report reviewed by financeThe report exists; review is unevidenced
Dual approval on affected transactionsIn the ERP, if configured — frequently it is not
Post-transaction audit samplingInternal audit workpapers, if the sample covered it
Systemic monitoring alertsAlert configuration; nobody checks whether alerts fired or were actioned

Rows one, two and five are where the sampling fails. The control is described as operating and nothing records that it did.

Step 3 — Render the conflict in business terms

An approver signing off an SoD exception is typically shown a rule code and a technical description: SOD-P2P-014: Create Vendor / Post Invoice.

What they need to see is the business consequence: this person can create a vendor and then pay it, without another human being involved. The second formulation produces different approval decisions than the first, and it costs nothing but the description.

Step 4 — The Exception Evidence Standard

{
  "type": "manav-stmt/1",
  "action": "sod_exception_approval",
  "render": [
    "Conflict: [business-language description of what becomes possible]",
    "Ruleset: [id, version]",
    "Individual: [name, role]",
    "Business justification: [text as written]",
    "Compensating control: [named control]",
    "Control cadence: [monthly | per transaction | quarterly]",
    "Expiry: [date]"
  ],
  "approver": "[credential assertion]",
  "control_owner": "[credential assertion]"
}

Two signatures. The approver accepts the risk; the control owner accepts responsibility for operating the mitigation. Today the second person frequently does not know they have been named.

This is the step that makes the register testable. Each operation of the compensating control emits its own receipt referencing the exception.

{
  "type": "manav-stmt/1",
  "action": "compensating_control_operated",
  "exception": "[reference to the approval receipt]",
  "period": "[month covered]",
  "scope": "[transactions reviewed: count, value]",
  "exceptions_found": "[count]",
  "operator": "[credential assertion]"
}

An auditor sampling the register can now follow an exception to its control operations and verify both. That is a different testing experience from reading a spreadsheet and asking for screenshots.

Failure traps

  1. Setting expiry too long. Twelve months means one re-approval per year and re-approvals are rubber-stamped; six months with a business-language rendering produces actual re-examination.
  2. Naming a compensating control nobody owns. If the control owner will not sign, the control does not exist and the exception should be re-evaluated.
  3. Instrumenting the approval and not the control operations. That produces a well-evidenced record of accepting a risk and no evidence of mitigating it.
  4. Keeping structural exceptions in the register. If the conflict is how the business runs, the answer is a process change or a documented risk acceptance at a higher level — not an exception renewed forever.

What a compensating control must have to count

Four properties, and how often they are present
PropertyUsually present?
A named ownerSometimes
A defined operating frequencyRarely
Evidence it operatedAlmost never
A test that would fail if it stoppedAlmost never

A compensating control that nobody can show operating is a sentence in a register. Auditors accept them because the alternative is a finding on every exception, and the acceptance becomes permanent because nothing triggers a review.

Objections and honest limits

“Exceptions are reviewed annually.” The exception is reviewed — whether the conflict is still needed. The compensating control is usually re-copied rather than re-tested.

“Small teams cannot segregate everything.” True, and that is the legitimate case for exceptions. It is an argument for evidencing the mitigation properly, not for accepting an unverifiable one.

Making exceptions evidential

  1. Require a named owner and a frequency. A control without either is a sentence.
  2. Require evidence of operation. Per period, not per policy.
  3. Sign the acceptance, with the mitigation stated. So the approver owns what they accepted.
  4. Expire exceptions by default. Renewal should be a decision, not an inheritance.

Terms used here

Segregation of duties
Splitting a sensitive process so no single person can complete it alone.
Compensating control
An alternative measure accepted where segregation is impractical — and frequently unverified.
Exception register
The record of accepted conflicts, which in most organisations grows and is rarely pruned.

Frequently asked questions

What if the compensating control genuinely cannot be evidenced? Then it is not a control, and the exception is an unmitigated accepted risk. Recording it as such is more honest and escalates it to the right level.

Will this shrink the exception register? Usually, because requiring a control owner's signature surfaces exceptions whose mitigations were nominal. That shrinkage is the point.

Does this replace the GRC platform? No. The receipts sit alongside the platform's records and make them verifiable by a party who does not have access to it.

How does this affect ITGC testing? Sampling becomes verification rather than document review, which shortens testing and strengthens the evidence.

Why are compensating controls rarely tested? Because the register records a description rather than an owner, a frequency and evidence of operation.

Are SoD exceptions inherently bad? No. Small teams legitimately cannot segregate everything. The problem is accepting a mitigation nobody can show operating.

What is the single best change? Expire exceptions by default, so renewal is a decision rather than an inheritance.

Where this fits in Manav

Manav turns an access decision into an artefact: what the reviewer was shown, who they were, what authority they held, signed and verifiable by an auditor without your systems.

See review receipts →

Sources and further reading