Generate BizFinx XLSX
Who does this: XBRL Reviewer · Senior Accountant · Platform Admin When: Filing is at
VALIDATION_PASSEDand you want the multi-sheet workbook for upload to ACRA's BizFinx Preparation Tool. Result: An.xlsxartifact in S3 + a signed URL.XbrlOutputArtifactrow inserted withkind = BIZFINX_XLSX. Filing transitions toEXPORTED(first time only).
The export gate
Before any byte is written, assertExportAllowed() re-runs:
| Reason raised | Condition |
|---|---|
NO_LINE_ITEMS | Filing has no line items |
NO_VALIDATION_RUN | No validation results exist |
VALIDATION_ERROR_PRESENT | One or more severity = ERROR AND passed = false rows |
UNCONFIRMED_TAG_MAPPING | One or more XbrlTagMapping.confirmedById IS NULL |
HTTP 422 with the typed reason. No artifact is produced.
Before you start
- [ ] Filing at
VALIDATION_PASSED. - [ ] Every mapping confirmed (validation enforces this implicitly; gate re-checks).
- [ ] You hold
EXPORT_BIZFINX.
Steps
- Open the filing → Exports tab.
- Click Generate BizFinx. The handler enqueues
generate-bizfinx-xlsx. The UI shows a polling indicator. - The worker re-runs the gate (defence in depth). On pass, builds an
exceljsworkbook with sheets:- Income Statement
- Balance Sheet
- Cash Flow
- Equity Changes
- Filing Information
- Persists to S3 at
xbrl/<clientId>/<filingId>/bizfinx-v<n>.xlsx. Returns a signed URL.
How to know it worked
- Download the XLSX from the Exports tab.
XbrlOutputArtifactrow inserted:{kind: 'BIZFINX_XLSX', versionNo, generatedAt}.- Activity log shows
xbrl.export.generated. - Filing badge moves from
VALIDATION_PASSEDtoEXPORTED(first export only).
Common situations
| If you see… | It means… | What to do |
|---|---|---|
422 reason: "UNCONFIRMED_TAG_MAPPING" | At least one mapping is unconfirmed | Open Mappings; filter for unconfirmed; confirm. See Export blocked: unconfirmed |
422 reason: "VALIDATION_ERROR_PRESENT" | At least one ERROR-severity row remains | Open Validation; address. See Export blocked: validation |
422 reason: "NO_VALIDATION_RUN" | You forgot to validate | Run validation |
422 reason: "NO_LINE_ITEMS" | The filing has no line items | Re-upload the source document |
403 Forbidden | You don't hold EXPORT_BIZFINX | XBRL_PREPARER is rejected — pass to a reviewer |
| Re-exporting produces a new file | Each export bumps versionNo; all versions retained | Expected; download the latest |