/fa/budgeting

Overview
The hub usesuseTabUrlState to sync the active tab with the URL query parameter ?tab= (valid values: budgets, alerts, scenarios, forecasts, templates). Each tab lazy-loads its content. Legacy direct routes (/fa/budgets, /fa/budget-scenarios, /fa/rolling-forecasts, /fa/budget-templates, /fa/template-library) redirect here with the appropriate ?tab= value.
Who it’s for
Access follows your organization’s role and module configuration. ## Before you start- No prerequisites for viewing. Creating or modifying records within each tab may require additional permissions.
Steps
1
Navigate to the hub
Go to
/fa/budgeting or follow a redirect from any legacy budget route.2
Select a tab
Choose from Budgets, Alerts, Scenarios, Forecasts, or Templates. The selected tab is reflected in the URL.
3
Take action within the tab
Each tab provides its own list view, actions, and navigation to detail pages.
Key concepts
useTabUrlState— Platform hook that reads and writes the?tab=query parameter for shareable, bookmarkable tab state.- Tabs:
budgets,alerts,scenarios,forecasts,templates.
Viewing a budget scenario
The Scenario Details page at/fa/budget-scenarios/:id shows a single budget scenario’s lines and comparisons. (The list path /fa/budget-scenarios redirects to /fa/budgeting?tab=scenarios.) Permission required: fa.budget_scenarios.view.
The page uses a tabbed layout (default: lines), loading the scenario via useBudgetScenario and its lines via useScenarioBudgetLines:
- Lines tab —
ScenarioBudgetLineEditorfor editing per-account budget amounts. - Comparison tab —
ScenarioComparisonViewfor viewing differences.
status to 'active') and deleting it. The scenario name is shown in the breadcrumb.
- Navigate to
/fa/budgeting?tab=scenariosand click a scenario, or go directly to/fa/budget-scenarios/:id. - Review the Lines tab to see the budget line editor.
- Click the Comparison tab to review
ScenarioComparisonView. - To activate, click the Activate action (requires appropriate permission). Status is updated to
active. - To delete, use the delete action and confirm the dialog.
Creating a budget scenario
The New Scenario page at/fa/budget-scenarios/new creates a what-if budget scenario. Permission required: fa.budget_scenarios.create.
The form uses BudgetScenarioForm. On submit, useCreateBudgetScenario is called followed by useCreateScenarioBudgetLine (batch) for any lines. The scenario is created with status: "draft". On success you are redirected to /fa/budget-scenarios/:id.
Before you start: determine the scenario name, type, and optional description; know which base budget (if any) you are modeling from; prepare any scenario assumptions and notes.
- Navigate to
/fa/budgeting?tab=scenariosand select New Scenario, or go to/fa/budget-scenarios/new. - Fill in the scenario name, type, description, and optional base budget.
- Add scenario lines if applicable (account, period, budget amount per line).
- Select Create. Scenario header and lines are saved in a single batch operation.
- You are redirected to the new scenario’s detail page.
scenario_type controls categorization; assumptions is a JSON field; scenario lines are individual budget amounts per account/period/dimension.
Editing a budget scenario
The Edit Scenario page at/fa/budget-scenarios/:id/edit updates an existing scenario’s header and period-level budget lines. Permission required: fa.budget_scenarios.edit.
BudgetScenarioEditPage fetches the scenario via useBudgetScenario and its lines via useScenarioBudgetLines. On submit: (1) updates the header (scenario_name, scenario_type, scenario_description, base_budget_id, assumptions, notes) via useUpdateBudgetScenario; (2) creates new lines, updates changed lines, and deletes removed lines. On success, navigates to /fa/budget-scenarios/:id.
- From the Budgeting Hub scenarios tab, open the scenario and click Edit to go to
/fa/budget-scenarios/:id/edit. - Update header fields (name, type, description, base budget, assumptions, notes).
- Add, update, or remove period budget lines as needed.
- Click Save. On success the page navigates to the scenario detail.
Viewing a budget template
The Template Details page at/fa/budget-templates/:id shows a budget template’s structure, line items, and sharing configuration. (The list path /fa/budget-templates and /fa/template-library redirect to /fa/budgeting?tab=templates.) Permission required: fa.budget_templates.view.
The page loads the template via useBudgetTemplateById and enriched lines via useTemplateWithEnrichedLines. Components include ApplyTemplateDialog, TemplateExportDialog, TemplateSharingBadge, and a DataTable of line items (account number, name, budget amount, notes). Actions: edit, delete, apply, and export.
- Navigate to
/fa/budgeting?tab=templatesand click a template, or go to/fa/budget-templates/:id. - Review the line items table and sharing badge.
- Click Apply to open
ApplyTemplateDialogand apply the template to a budget. - Click Export to open
TemplateExportDialog. - Click Edit to navigate to the edit route (requires
fa.budget_templates.edit). - Click Delete and confirm the alert dialog to remove the template.
account_id, budget_amount, and optional notes; sharing level is displayed via TemplateSharingBadge.
Creating a budget template
The New Template page at/fa/budget-templates/new creates a reusable budget template. Permission required: fa.budget_templates.create. (Note: the alternate route /fa/reports/statements/templates/new opens the Statement Template Designer Wizard — a separate 5-step wizard for financial statement layouts requiring fa.statement-templates.create.)
BudgetTemplateNewPage renders BudgetTemplateForm with fields for template name, description, category, sharing level, and notes. CreateFromBudgetDialog is available to seed the template from an existing budget. On submit, useCreateBudgetTemplate saves the record with an empty template_structure and redirects to /fa/budget-templates.
Before you start: know the template name and category; optionally have an existing budget to use as a starting point.
- Navigate to
/fa/budgeting?tab=templatesand select New Template, or go to/fa/budget-templates/new. - Fill in template name, description, category, sharing level, and notes.
- Optionally use Create from Budget to seed lines from an existing budget.
- Select Create. The template is saved and you return to the template list.
template_structure is a JSON object ({ lines: [], metadata: null }) initialized on creation; sharing_level controls visibility scope.
Editing a budget template
The Edit Template page at/fa/budget-templates/:id/edit updates an existing budget template’s name, description, category, sharing level, and notes. Permission required: fa.budget_templates.edit. (Note: the alternate route /fa/reports/statements/templates/:templateId/edit opens StatementTemplateWizardPage requiring fa.statement-templates.update — a separate flow.)
BudgetTemplateEditPage fetches the template via useBudgetTemplateById and renders BudgetTemplateForm pre-populated. On submit, useUpdateBudgetTemplate is called with template_name, template_description, template_category, sharing_level, and notes. On success, navigates to /fa/budget-templates/:id.
- From the Budgeting Hub templates tab, open the budget template and click Edit to go to
/fa/budget-templates/:id/edit. - Update
template_name,template_description,template_category,sharing_level, andnotes. - Click Save. On success you navigate to the template detail view.
Related
Finance & Revenue
Finance & Revenue core overview.
Governance & parity
This page documents shipped product behavior. It is not medical, legal, or
billing advice. Verify against your organization’s policies and applicable
regulations before using it for clinical, compliance, or billing decisions.
Protected health information (PHI) shown in the product is governed by your
tenant’s access controls and is never exposed in this documentation.
Documentation sources
Documentation sources
- src/routes/fa.tsx
- src/cores/fa/pages/BudgetingHubPage.tsx
- src/cores/fa/pages/BudgetScenarioDetailPage.tsx
- src/cores/fa/pages/BudgetScenarioNewPage.tsx
- src/cores/fa/pages/BudgetScenarioEditPage.tsx
- src/cores/fa/pages/BudgetTemplateDetailPage.tsx
- src/cores/fa/pages/BudgetTemplateNewPage.tsx
- src/cores/fa/pages/BudgetTemplateEditPage.tsx
- src/cores/fa/hooks/useBudgetScenarioDetail.ts
- src/cores/fa/hooks/useBudgetScenarioMutation.ts
- src/cores/fa/hooks/useBudgetTemplateDetail.ts
- src/cores/fa/hooks/useBudgetTemplateMutation.ts
- src/cores/fa/components/BudgetScenarioForm.tsx
- src/cores/fa/components/BudgetTemplateForm.tsx
- src/cores/fa/components/ScenarioBudgetLineEditor.tsx
- src/cores/fa/components/ApplyTemplateDialog.tsx
- src/cores/fa/wizards/statement-template/StatementTemplateWizardPage.tsx