Skip to content

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: XbrlValidationResult rows per rule, with severity, passed, message, relatedElements. Filing transitions to VALIDATION_PASSED (no ERROR-severity failures) or VALIDATION_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_PREPARER does not.

Steps

  1. Open the filing → Validation tab.
  2. Click Run validation. The handler enqueues run-xbrl-validation. The UI shows a polling indicator.
  3. After ~5–15 seconds the tab refreshes with three panes:
    • ErrorsERROR-severity failing rows. Blocks export.
    • WarningsWARNING-severity failing rows. Does not block but should be inspected.
    • Info — informational rows. Pass / fail recorded.

How to know it worked

  1. XbrlValidationResult rows exist for every rule applicable to the filing's entry point.
  2. Filing status badge shows VALIDATION_PASSED or VALIDATION_FAILED.
  3. Activity log shows xbrl.validation.run with rule + severity counts.

Reading a failure

Each error row carries:

  • ruleId — e.g. BR_totalling_001
  • categoryarithmetical | totalling | cross_statement | mandatory | sign_convention | format
  • message — human-readable explanation, often with concrete numbers
  • relatedElements — 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:

  1. Click into each error row; identify the offending line items / mappings.
  2. Fix at the mapping level (or at the source statement if the underlying figure is wrong).
  3. 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 ForbiddenYou don't hold RUN_XBRL_VALIDATIONXBRL_PREPARER cannot run validation — pass to a reviewer or senior
Same rule fails across 3+ iterationsThe rule expression may be misinterpreting your dataEscalate to Senior Accountant. See Validation loops
A warning you disagree withInspect; warnings don't block but ACRA can still rejectDocument your rationale on the filing log. See Warning disagreement
Filing stayed at MAPPING_IN_PROGRESS after runSome line items had confirmedById = NULL and rule(s) require themConfirm everything first; re-run

Internal use only — BreezyCorp