An encumbrance row: budget reserved against a GL account by an approved commitment document (purchase order or requisition) before any actual has posted, so the same money cannot be committed twice between approval and invoicing. BudgetCommitmentService sums CommittedAmount minus ConsumedAmount over rows in Open or PartiallyConsumed status for a company, fiscal year and GL account, and subtracts that open exposure on top of posted actuals in its availability check. Note the current state of the platform: no first-party handler yet creates, consumes or closes these rows — the purchase-order wiring that would populate them is not built, so in practice the table is empty and the actuals-only gate in BudgetControlService is what production code exercises.
Fields
| Field | Label | Type | Required | What it does |
BusinessUnitId | Business Unit | Lookup → BusinessUnit | | Optional business unit for the reservation. It is applied as a filter only when the caller's availability check itself specifies a business unit; an unscoped check counts commitments across all units. |
CommitmentDate | Commitment Date | DateAndTime | | When the budget was reserved. It is recorded for audit and reporting but is not a filter in the encumbrance calculation, which buckets purely by fiscal year — so a commitment dated outside its FiscalYearId still counts fully against that year. |
CommittedAmount | Committed Amount | Currency | | The gross amount reserved when the commitment document was approved. It is never reduced as the document is invoiced; the relief is recorded separately in ConsumedAmount, which keeps the original reservation auditable. |
ConsumedAmount | Consumed Amount | Currency | | How much of the reservation has since been invoiced and posted as a real actual. Open exposure is CommittedAmount minus this value, floored at zero so an over-consumed row cannot create negative encumbrance; the difference is what the availability check subtracts on top of posted actuals, preventing the same spend being counted twice. |
CreatedById | Created By | Lookup → UserAccount | Yes | |
CreatedDateTime | Created Date | DateAndTime | Yes | |
DocumentNumber | Document Number | Text | | The human-readable number of the originating commitment document, denormalised so a commitment can be reviewed and reconciled without loading its source record. |
FiscalYearId | Fiscal Year | Lookup → FiscalYear | | The year the encumbrance is charged to, and the bucket the open-commitment sum groups by together with company and GL account. A commitment with a null or mismatched fiscal year is invisible to the availability check even though the row exists. |
GLAccountId | GL Account | Lookup → GLAccount | | The account whose budget is being reserved. The encumbrance query is keyed on this account, so the reservation only ever offsets budget lines for the same GL account — it does not cascade to parent accounts in the chart of accounts. |
Id | Id | Guid | Yes | |
ModifiedById | Modified By | Lookup → UserAccount | Yes | |
Name | Name | Text | Yes | |
OwnerId | Owner | Lookup → UserAccount | Yes | |
PartnerAccountId | Partner Account | Lookup → Account | | The company whose budget is encumbered, not the supplier on the commitment document. It is a required part of the encumbrance lookup key (company + fiscal year + GL account), so the supplier belongs elsewhere on the source document. |
RecordTypeId | Record Type | Guid, hidden | | |
SourceEntityName | Source Entity Name | Text | | Name of the entity the commitment document lives in (a purchase order or requisition, for example), stored as free text alongside SourceRecordId to form a polymorphic back-pointer with no foreign key. It is descriptive only — the exposure query never filters on it. |
SourceRecordId | Source Record | Guid | | Identifier of the commitment document within the entity named by SourceEntityName. |
Status | Status | Text | | Lifecycle state with the vocabulary Open, PartiallyConsumed, Closed and Cancelled. Only Open and PartiallyConsumed rows are included in the encumbrance sum — Closed and Cancelled rows stop consuming budget entirely, regardless of their committed and consumed amounts. |
UIProps | UI Props | Text | | |
UpdatedDateTime | Modified Date | DateAndTime | Yes | |
Actions
| Action | Label | Type | What it does |
BulkDeleteHeader | Delete | Delete | DeleteHeader |
Clone | Clone | ServerAction (Clone) | Create a copy of this record |
DeleteEntity | Delete | Delete | DeleteEntity |
DeleteHeader | Delete | Delete | DeleteHeader |
DeleteRow | Delete | Delete | DeleteRow |
EditEntity | Edit | Edit | EditEntity |
EditInLine | Edit | EditInline | EditInLine |
EditInLineHeader | Edit | EditInline | EditInLineHeader |
EditRow | Edit | Edit | EditRow |
NewHeader | New | New | NewHeader |