Skip to content

X-07 · Mark filed with ACRA

SOP: SOP_XBRL_Filing.md §6 / Step 7.0 (EXPORTED → FILED)Actors: XBRL Reviewer (xbrl-reviewer@spade.local) or Platform Admin onlyMARK_XBRL_FILED. Senior Accountant does not hold this permission. Pre-state: Filing at EXPORTED. BizFinx XLSX uploaded to ACRA's BizFinx Preparation Tool (out-of-band); ACRA filing reference received. Post-state: Filing at FILED. filedAt and filedById populated. ACRA filing reference captured.

0. Prerequisites

  • Filing at EXPORTED (see X-05).
  • BizFinx XLSX uploaded to ACRA via the BizFinx Preparation Tool (manual, out-of-band).
  • ACRA filing reference / acknowledgement received.

IMPORTANT

MARK_XBRL_FILED is the most restricted action in the XBRL module. Only XBRL_REVIEWER and PLATFORM_ADMIN hold it. The boundary deliberately matches human accountability with the regulator — whoever marks the filing is the one taking responsibility with ACRA. Even Senior Accountants who can do everything else short of filing cannot do this.

1. Steps

1.1 Submit through BizFinx (out-of-band)

  1. Open the Exports tab on the filing; download the latest BizFinx XLSX.
  2. Open ACRA's BizFinx Preparation Tool. Upload the workbook. Resolve any tool-side prompts.
  3. Submit. Capture the ACRA filing reference from the acknowledgement (a string identifier, e.g. BIZFINX-2026-NNNNN).

1.2 Mark filed in the platform

http
POST /ops/xbrl/filings/<filingId>/mark-filed
Content-Type: application/json
Authorization: Bearer <xbrl-reviewer-jwt>

{ "acraFilingReference": "BIZFINX-2026-12345", "filedAt": "2026-05-15T10:30:00Z" }

(Or click Mark filed on the filing detail page; fill the reference; submit.)

The handler:

  1. Asserts MARK_XBRL_FILED (XBRL_REVIEWER or PLATFORM_ADMIN only).
  2. Asserts filing is at EXPORTED.
  3. Persists the ACRA filing reference and the filedAt timestamp.
  4. Records filedById = <staff user>.
  5. Transitions filing EXPORTED → FILED.
  6. Emits AuditEvent xbrl.filing.marked_filed.

2. Verification

Database

sql
SELECT status, acra_filing_reference, filed_at, filed_by_id
  FROM xbrl_filings WHERE id = '<filingId>';
-- expect status = 'FILED', reference + timestamp populated

Audit log

Event typeNotes
xbrl.filing.marked_filedPayload includes the ACRA filing reference, filedAt, and the actor staff user

UI

Filing detail page shows FILED and the ACRA reference as a read-only field. Edit controls disappear.

3. Negative & edge cases

  • Caller without MARK_XBRL_FILED403 Forbidden. SENIOR_ACCOUNTANT is rejected here even though they can do everything else.
  • Filing not at EXPORTED409 Conflict. The status machine refuses the transition (only EXPORTED → FILED is valid).
  • Missing or empty ACRA reference400 Bad Request reason: "missing_acra_reference". The reference is the audit trail with the regulator; without it the mark-filed is meaningless.
  • Mark-filed before BizFinx upload to ACRA — the platform cannot detect this; the audit trail is the only safeguard. Don't do it.
  • ACRA rejected the filing after marking — back-route the filing: EXPORTED → MAPPING_IN_PROGRESS is allowed (and FILED → MAPPING_IN_PROGRESS is not — the filing must be reverted to EXPORTED first via a manual SQL fix or a future support endpoint). Fix; re-export; re-submit.

Next

Proceed to X-08 · Archive filing.

Internal use only — BreezyCorp