An entered, scenario-based forecast header for a company and fiscal year — the manual sibling of Budget, kept parallel to it rather than merged, with its own scenario and version columns. Its lines carry projected amounts per GL account, and optionally per customer, item and dimension with expected invoice, revenue and collection dates. It feeds two things: the projected income statement, which shows projected full-year value, probability percent, year-to-date actuals and variance per P&L account; and the cash-flow forecast pipeline, which buckets probability-weighted line amounts by expected collection date. Actuals are never stored here — every comparison is against the posted ledger.
Fields
| Field | Label | Type | Required | What it does |
ApprovedById | Approved By | Lookup → UserAccount | | |
ApprovedOn | ApprovedOn | DateAndTime | | Timestamp captured when the projection was signed off, paired with ApprovedById. It is an audit record only — no service gates the projected income statement or the cash-flow forecast on the projection having been approved. |
BranchId | Branch | Lookup → Branch | | |
BusinessUnitId | Business Unit | Lookup → BusinessUnit | | |
CreatedById | Created By | Lookup → UserAccount | Yes | |
CreatedDateTime | Created Date | DateAndTime | Yes | |
FiscalYearId | Fiscal Year | Lookup → FiscalYear | | The year the projection plans for. The projected income statement takes it from here in preference to the caller's request, falling back to the request only when it is null, and uses it to decide which posted periods form the year-to-date actual column. |
Id | Id | Guid | Yes | |
IsActive | IsActive | Boolean | | The one flag the consuming pipelines honour: the cash-flow forecast includes a projection when this is true or null and excludes it otherwise. Deactivating is therefore how a superseded scenario or an older version is taken out of the forecast without deleting its lines. |
Label | Label | Text | | |
ModifiedById | Modified By | Lookup → UserAccount | Yes | |
Name | Name | Text | Yes | |
OwnerId | Owner | Lookup → UserAccount | Yes | |
PartnerAccountId | Partner Account | Lookup → Account | | The company being forecast, not a customer — customers belong on the lines' PartyAccountId. The projected income statement prefers this over the requested company, and the cash-flow forecast matches projections to the company being forecast on this column alone. |
PeriodFrom | Period From | Date | | Start of the window the forecast covers, recorded on the header for context. It does not drive any bucketing — the cash-flow forecast places money using each line's expected collection date, so a line dated outside this window is still forecast. |
PeriodTo | Period To | Date | | End of the header's forecast window, the counterpart to PeriodFrom. Like it, this is descriptive: line-level expected dates, not this range, determine which period or bucket a projected amount lands in. |
ProjectionType | ProjectionType | Text | | Classifies the forecast as Revenue, Expense or CashFlow. The cash-flow forecast branches on it: a projection typed Expense sends its weighted line amounts into the payments (outflow) buckets, and every other value — including CashFlow — is treated as a collection (inflow), so the comparison is effectively Expense versus not-Expense. |
RecordTypeId | RecordTypeId | Guid | | |
Remarks | Remarks | Text | | |
ScenarioType | ScenarioType | Text | | The what-if variant this version represents: Base (the default), Optimistic, Pessimistic or Revised. Be careful when several scenarios are active at once — the cash-flow forecast pipeline selects every active projection for the company regardless of scenario, so leaving an optimistic and a pessimistic version both active double-counts the same expected cash. |
Status | Status | Text | | Workflow state, defaulting to Draft. It is recorded for review purposes only: neither the projected income statement nor the cash-flow forecast filters on it, so a Draft projection contributes to both exactly as an approved one would. IsActive, not Status, is the switch that keeps a projection out of the forecast. |
UIProps | UIProps | Text | | |
UpdatedDateTime | Modified Date | DateAndTime | Yes | |
VersionNo | VersionNo | Number | | Revision counter for successive re-forecasts of the same period, starting at 1. It is stored for provenance and is not read by the projection services — superseding an earlier version means deactivating it, not merely bumping this number. |
Actions
| Action | Label | Type | What it does |
Clone | Clone | ServerAction (Clone) | Create a copy of this record |
Delete | Delete | Delete | Delete |
DeleteEntity | Delete | Delete | DeleteEntity |
DeleteRow | Delete | Delete | Delete |
Edit | Edit | Edit | Edit |
EditEntity | Edit | Edit | EditEntity |
EditInLine | Edit | EditInline | EditInLine |
New | New | New | New |