An immutable filed snapshot of a computed financial statement, the artifact that survives any later reclassification of the chart of accounts. Publishing recomputes the statement from the ledger once, freezes the result as JSON with a content hash, and stamps the publish time; after that the row cannot be edited or deleted, only superseded. It records the exact dimension scope it was generated for, so a later re-run is comparable rather than merely similar. Some statutory packs depend on it: an AOC-4 filing and a DPT-3 return both require this year's balance sheet to already be published.
Fields
| Field | Label | Type | Required | What it does |
AsOfPeriodId | As Of Period | Lookup → FiscalPeriod | | The cut-off period the snapshot was computed to. Publishing resolves it to a period number before computing, and leaving it empty publishes the whole fiscal year rather than failing. |
BranchId | Branch | Lookup → Branch | | One axis of the dimension scope the snapshot was computed under. Empty means the statement was simply not narrowed to a branch, not that the company has none. |
BusinessUnitId | Business Unit | Lookup → BusinessUnit | | Narrows the snapshot to exactly one business unit. It contrasts with the consolidation group on the same record, which expands to many units instead of pinning one. |
ConsolidationGroupId | Consolation Group | Lookup → ConsolidationGroup | | When set, the statement was computed across the group's member business units rather than for a single unit. This is what distinguishes a consolidated filing from a single-unit one at the same company and year. |
ContentHash | Content Hash | Text | | A SHA-256 hex digest of the frozen statement JSON, computed at publish time, so later tampering with the stored snapshot can be detected without re-running the ledger. |
CreatedById | Created By | Lookup → UserAccount | Yes | |
CreatedDateTime | Created On | DateAndTime | Yes | |
FiscalYearId | Fiscal Year | Lookup → FiscalYear | | The accounting year the snapshot covers. It is required to publish, alongside the company, and both are validated before any computation is attempted. |
GSTRegistrationId | GST Registration | Lookup → GSTRegistration | | Scopes the snapshot to a single tax registration, for companies that report per registration rather than only at company level. |
Id | Id | Guid | Yes | |
Label | Label | Text | | |
ModifiedById | Modified By | Lookup → UserAccount | Yes | |
Name | Name | Text, unique | Yes | |
OwnerId | Owner | Lookup → UserAccount | Yes | |
PartnerAccountId | Partner Account | Lookup → Account | | |
PublishedById | Published By | Guid | | |
PublishedDateTime | Published Date Time | Date | | Stamped in UTC by the publish action at the moment the statement was frozen. It is never typed in, so a draft always has it empty. |
RecordTypeId | Record Type | Guid, hidden | | |
StatementJson | Statement Json | Text | | The frozen computed statement, serialized once at publish time and never recalculated on read, which is what lets the record survive a later reclassification of the chart of accounts. The auditor-appointment notice type is the exception: while still a draft this same field holds the filer's typed answers rather than a computed result, and publishing replaces them with the computed notice that echoes those answers back. |
StatementTypeName | Statement Type Name | Text | | Which statement was frozen, restricted to the types the publisher can actually compute: balance sheet, profit and loss, trial balance, risk report, the AOC-4 filing pack, the DPT-3 return and the ADT-1 auditor-appointment notice. Anything else is refused deliberately, because an unrecognized value once fell through and filed a trial balance under the wrong name as an undeletable artifact. |
Status | Status | Text | | One of Draft, Published or Superseded. Publishing is a one-way door enforced on save: a published row may only move to Superseded, cannot otherwise be edited, and cannot be deleted at all. |
UIProps | UI Props | Text | | |
UpdatedDateTime | Updated On | DateAndTime | Yes | |
Actions
| Action | Label | Type | What it does |
BulkDelete | Delete | Delete | Delete the selected records. |
Clone | Clone | ServerAction (Clone) | Create a copy of this record |
Delete | Delete | Delete | Delete |
DeleteInList | Delete | Delete | Delete in a list page |
Edit | Edit | Edit | Edit |
EditListRow | Edit | Edit | EditListRow |
New | New | New | New |
PublishStatement | Publish | ServerAction (PublishStatement) | Recomputes the statement named on the record once, freezes the result as JSON with a SHA-256 hash, marks the row published and stamps the publish time, after which the row is immutable and cannot be deleted. Company and fiscal year must both be set or it refuses, and an unsupported statement type is rejected outright rather than quietly filed as a trial balance. Some types carry their own precondition: the AOC-4 pack and the DPT-3 return both require this year's balance sheet to already be published. |