Table of Contents
What Is Declarative Business Plan Format?
The Declarative Business Plan Format is the JSON source model used by the calculator. It describes business assumptions in structured sections, then the frontend calculation engine derives financial outputs from those assumptions.
The canonical source payload is stored in businessplanSourceData.
Why Declarative?
The plan data says what the business assumptions are, not only what the final numbers should be.
For example, the source data can declare:
- The plan starts in a specific month and runs for a defined number of periods.
- A product has a price, unit cost, return percentage, and monthly customer assumptions.
- Seasonality changes monthly demand.
- Headcount rows have job titles, salaries, start months, and cost categories.
- Investments have timing and depreciation behavior.
The calculator then derives:
- Visitors, customers, and sales volume.
- Cost price and list price tables.
- Net sales, COGS, gross margin, and EBIT.
- Investments required and cash flow.
- Analytics and export data.
Canonical Version
The current canonical payload version is:
{
"fedirPlanDataVersion": 2
}
Older payloads can be upgraded by the frontend PayloadVersionService. Supported compatibility migrations include:
netSaletonetSales- root
safetyPillowtoinvestmentsRequired.safetyPillow - legacy array
costPricestocostPrices.tableData - legacy array
pricestolistPrices.tableData
Root Sections
The v2 source object includes these major sections:
| Section | Role |
|---|---|
businessplanSetting | Timeline, currency, inflation switches, and metadata. |
aboutVisitorsCustomers | Audience, visitor, and conversion assumptions. |
portfolio | Product/service rows and commercial assumptions. |
advancedInflationSettings | Inflation year scaffolding and multipliers. |
costPrices | Calculated unit cost table container. |
listPrices | Calculated unit list price table container. |
seasonality | Monthly demand multipliers. |
acceleration | Growth-curve assumptions. |
headcountAndPayroll | Staffing and payroll assumptions. |
salesTeamProductAssignment | Optional sales-team-to-product allocation matrix. |
discountsAndReturns | Discount and return rules. |
cogs, opex, rnd, marketing, otherOperatingIncomeLoss | Expense and income rows. |
investmentAndCapex | Investment and depreciation assumptions. |
investmentsRequired | Funding, safety buffer, tax, and ROI controls. |
cashFlow | Calculated cash-flow output container. |
netSales | Net-sales timeline controls such as month shift. |
For the detailed field contract, see FEDIRPLANDATA_V2_DECLARATIVE_BUSINESSPLAN.md.
Source Data vs Calculated Data
The application intentionally separates source assumptions from calculated outputs.
| Storage | Meaning |
|---|---|
businessplanSourceData | Mandatory source of truth for plan assumptions. |
businessplanPrecalculatedData | Optional cached calculation state and calculated section data. |
If precalculated data is missing, the calculator can regenerate it from source data. This keeps the saved business plan compact and avoids treating derived values as user input.
The JSON viewer in the editor reflects this split:
- Business Plan tab: source section data.
- Calculation tab: derived calculation state for that section.
