Lesson 2 of 6
Tolerance and materiality
10 min
Listen to this lesson
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.
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.
| Check | Contoso tolerance (Wave 2) | Reason |
|---|---|---|
| Record counts per object (customers, open items, assets) | Zero | Every record is either in or out; exclusions are listed separately |
| G/L balances per account in MXN | Zero | Balances are moved, not calculated |
| Open AR and AP per customer or supplier in transaction currency | Zero | Each 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.00 | Translation at the agreed rate can round differently from legacy |
| Asset net book value per asset and depreciation area | Zero after migration; any recalculation differences explained individually | Values 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 ones | Critical 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.
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".
- PrepareDraft policyDan drafts tolerances per check with the migration lead
- ExploreReviewInternal audit and the external auditor review; thresholds adjusted
- RealizeApprovePolicy signed and stored in SAP Cloud ALM with the test strategy
- Mock 1 to dress rehearsalApply and tuneResults compared to tolerances; any change needs the same approvals
- CutoverApply unchangedNo new tolerances on cutover weekend; exceptions go to risk acceptance
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?
- 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. Which check normally has a tolerance of zero?
2. Why must check-level tolerances sit well below audit materiality?
3. When should the tolerance policy be agreed?
4. The local currency of USD items in 1910 differs from legacy by MXN 0.60 on one item. How is it treated?