An accounting period within a FiscalYear (fiscalYearId plus periodNumber and start/end dates), keyed to its owning company via partnerAccountId. Status runs Open, Closed, Locked: journals may only post into Open periods, Closed blocks posting but can be reopened, and Locked is terminal - the handler rejects any edit that moves a period out of Locked, and only Open periods may be deleted. Server actions drive the state machine (ClosePeriod, ReopenPeriod, LockPeriod) and the ledger balance-cache integrity checks (VerifyLedger, RebuildLedgerBalances). Journals, currency revaluations, revenue-recognition schedule lines, TDS transactions and payroll periods all pin themselves to a specific period.
Fields
| Field | Label | Type | Required | What it does |
CreatedById | Created By | Lookup → UserAccount | Yes | |
CreatedDateTime | Created Date | DateAndTime | Yes | |
EndDate | End Date | Date | | |
FiscalYearId | Fiscal Year | Lookup → FiscalYear | | |
GLAccountName | Name | Text, unique | Yes | |
Id | Id | Guid | Yes | |
Label | Label | Text | | |
ModifiedById | Modified By | Lookup → UserAccount | Yes | |
Name | Name | Text | | |
OwnerId | Owner | Lookup → UserAccount | Yes | |
PartnerAccountId | Partner Account | Lookup → Account | | The company (partner Account) whose fiscal calendar this period belongs to - periods are maintained per company, so filter by the right company as well as by date when resolving a period. |
PeriodNumber | Period Number | Number | | |
RecordTypeId | Record Type | Guid, hidden | | |
StartDate | Start Date | Date | | |
Status | Status | PickList | | Open, Closed or Locked. Open is the only state that accepts journal posting and the only state a period can be deleted in; Closed can be reopened; Locked can never be left - the handler blocks the transition in validation, not just in the UI. Values: Open. |
UIProps | UI Props | Text | | |
UpdatedDateTime | Modified Date | 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 |
ClosePeriod | Close Period | ServerAction (ClosePeriod) | Moves an Open period to Closed, blocking further journal posting into it. Refused with a validation error when the period is not currently Open. Closing is reversible - use ReopenPeriod to undo it. |
Delete | Delete | Delete | Delete |
DeleteInList | Delete | Delete | Delete in a list page |
Edit | Edit | Edit | Edit |
EditInLine | Edit | EditInline | EditInLine |
EditListRow | Edit | Edit | EditListRow |
LockPeriod | Lock Period | ServerAction (LockPeriod) | Finalizes the period: an Open period is closed and locked in one step, a Closed period is locked directly. Locked is terminal - validation blocks any later status change away from it - so lock only once statements for the period are final. |
New | New | New | New |
RebuildLedgerBalances | Rebuild Balances | ServerAction (RebuildLedgerBalances) | Rebuilds this period's balance caches from the posted ledger via the ledger verification service and returns the result - the sanctioned resync after drift. Balances themselves only ever change by posting journals; direct edits to balance rows are rejected. |
ReopenPeriod | Reopen Period | ServerAction (ReopenPeriod) | Moves a Closed period back to Open so posting can resume. Only Closed periods qualify; a Locked period is refused because locking is terminal. |
VerifyLedger | Verify Ledger | ServerAction (VerifyLedger) | Runs the ledger verification service for this period and returns its findings, comparing the period's balance caches against the posted ledger. A detection step: use it to spot drift before trusting cached balances or before closing. |