Run validation
Who does this: XBRL Reviewer · Senior Accountant · Platform Admin When: Every line item has a confirmed mapping and you want to evaluate the 144 ACRA business rules. This is Rule 2 of the cursorrules — without a passing validation, the export gate refuses. Result:
XbrlValidationResultrows per rule, withseverity,passed,message,relatedElements. Filing transitions toVALIDATION_PASSED(noERROR-severity failures) orVALIDATION_FAILED.
Before you start
- [ ] Filing at
MAPPING_IN_PROGRESS. - [ ] Every line item has a confirmed mapping (validation runs on partial confirmations but produces meaningless results — confirm first).
- [ ] You hold
RUN_XBRL_VALIDATION.XBRL_PREPARERdoes not.
Steps
- Open the filing → Validation tab.
- Click Run validation. The handler enqueues
run-xbrl-validation. The UI shows a polling indicator. - After ~5–15 seconds the tab refreshes with three panes:
- Errors —
ERROR-severity failing rows. Blocks export. - Warnings —
WARNING-severity failing rows. Does not block but should be inspected. - Info — informational rows. Pass / fail recorded.
- Errors —
How to know it worked
XbrlValidationResultrows exist for every rule applicable to the filing's entry point.- Filing status badge shows
VALIDATION_PASSEDorVALIDATION_FAILED. - Activity log shows
xbrl.validation.runwith rule + severity counts.
Reading a failure
Each error row carries:
ruleId— e.g.BR_totalling_001category—arithmetical | totalling | cross_statement | mandatory | sign_convention | formatmessage— human-readable explanation, often with concrete numbersrelatedElements— the elements involved in the rule (you can click into them in the Mappings tab)
Example: BR_totalling_001 — Total Equity (500,000) + Total Liabilities (410,500) = 910,500 does not equal Total Assets (988,400). Difference: 77,900. → open Mappings; verify which line items contribute to TotalAssets / TotalLiabilities / TotalEquity; trace the discrepancy in the source statement.
Recovery loop
If VALIDATION_FAILED:
- Click into each error row; identify the offending line items / mappings.
- Fix at the mapping level (or at the source statement if the underlying figure is wrong).
- Re-run validation. Results upsert by
(filingId, ruleId)— prior rows replace.
When all errors clear, filing transitions to VALIDATION_PASSED.
Common situations
| If you see… | It means… | What to do |
|---|---|---|
403 Forbidden | You don't hold RUN_XBRL_VALIDATION | XBRL_PREPARER cannot run validation — pass to a reviewer or senior |
| Same rule fails across 3+ iterations | The rule expression may be misinterpreting your data | Escalate to Senior Accountant. See Validation loops |
| A warning you disagree with | Inspect; warnings don't block but ACRA can still reject | Document your rationale on the filing log. See Warning disagreement |
Filing stayed at MAPPING_IN_PROGRESS after run | Some line items had confirmedById = NULL and rule(s) require them | Confirm everything first; re-run |