Now accepting guest editorial from SAP, Oracle, Workday and ServiceNow practitioners.Pitch a guide
The Sign-Off Table

Lesson 2 of 6

Tolerance and materiality

10 min

Listen to this lesson

0:00 / 24:46

No migration of real size is perfect on the first mock, and some differences are unavoidable: rounding when amounts are translated, a test posting nobody reversed, a customer with a balance of three cents. The question is not whether differences exist but which ones are acceptable, who decides, and when. The answer is a written tolerance and materiality policy, agreed before the first load, not invented on cutover Sunday.

Tolerance is not materiality

Materiality is an audit concept: the size of a misstatement that could influence decisions of users of the financial statements. External auditors set materiality for their audit and a lower performance materiality for their procedures. Tolerance is your program's rule for a specific reconciliation check: how big a difference may be before it blocks acceptance. Tolerances must sit well below the auditor's materiality, because many small accepted differences add up.

Auditor materialitySet by the external auditor for the financial statements as a whole; not disclosed in detail to the program, but its order of magnitude informs the policy
Program aggregate thresholdTotal of all accepted, unresolved differences across the migration; must stay far below materiality
Check-level tolerancePer check: G/L account balance, customer balance, asset value; often zero
Rounding allowanceOnly where the method itself creates rounding, such as currency translation; documented and explained
From audit materiality down to the tolerance on each check.
The Sign-Off Table · thesignofftable.com/academy/sap-fin-401

Setting tolerances

Good tolerances depend on what the check measures. Where data is moved, not calculated, the tolerance is normally zero: a G/L balance, an open item amount in transaction currency or a record count either matches or it does not. Tolerances above zero belong only where a calculation creates legitimate differences, and each one needs a stated reason.

A tolerance above zero needs a calculation that can legitimately differ; anything that is simply moved must match exactly.
The Sign-Off Table · thesignofftable.com/academy/sap-fin-401
CheckContoso tolerance (Wave 2)Reason
Record counts per object (customers, open items, assets)ZeroEvery record is either in or out; exclusions are listed separately
G/L balances per account in MXNZeroBalances are moved, not calculated
Open AR and AP per customer or supplier in transaction currencyZeroEach item is moved with its amount
Local currency of foreign currency items (USD invoices in 1910)Up to MXN 1.00 per item, total under MXN 500.00Translation at the agreed rate can round differently from legacy
Asset net book value per asset and depreciation areaZero after migration; any recalculation differences explained individuallyValues are transferred; differences point to wrong dates or keys
Sample attribute checks (due dates, payment terms, depreciation keys)Zero errors in critical attributes; error rate below 1% in non-critical onesCritical attributes drive payments and depreciation

An example tolerance table for Wave 2. Values are Contoso's program decisions, not SAP defaults; set your own with finance and audit.

Tolerance decides whether a difference blocks acceptance, never whether it is logged and explained.
The Sign-Off Table · thesignofftable.com/academy/sap-fin-401

Agree it before the loads start

The policy should be reviewed by the finance process owner, the controller, internal audit and the external auditor before the first mock load. Auditors would rather comment on a plan than discover one after the fact, and an agreed policy prevents a cutover-weekend argument about whether a MXN 4,000 difference is "small".

  1. PrepareDraft policyDan drafts tolerances per check with the migration lead
  2. ExploreReviewInternal audit and the external auditor review; thresholds adjusted
  3. RealizeApprovePolicy signed and stored in SAP Cloud ALM with the test strategy
  4. Mock 1 to dress rehearsalApply and tuneResults compared to tolerances; any change needs the same approvals
  5. CutoverApply unchangedNo new tolerances on cutover weekend; exceptions go to risk acceptance
When the tolerance policy is drafted, reviewed, approved and applied.
The Sign-Off Table · thesignofftable.com/academy/sap-fin-401

What would you do?

On cutover Sunday, the AP reconciliation for 1910 shows a difference of MXN 3,912.55 on one supplier. The migration lead says it is far below materiality and suggests accepting it. The policy says zero tolerance for supplier balances in transaction currency. What should Dan do?

Key points
  • Materiality is the auditor's threshold for the statements; tolerance is the program's rule per check.
  • Moved values (balances, amounts, counts) normally have zero tolerance; only calculated values get an allowance.
  • Every difference is logged and explained, even inside tolerance.
  • Agree the policy with finance, internal audit and the external auditor before the first mock load.

Check your understanding · not graded

Lesson check

  1. 1. Which check normally has a tolerance of zero?

  2. 2. Why must check-level tolerances sit well below audit materiality?

  3. 3. When should the tolerance policy be agreed?

  4. 4. The local currency of USD items in 1910 differs from legacy by MXN 0.60 on one item. How is it treated?