What Are Accounts?
The Accounts section defines the chart of accounts -- the complete financial structure of your model. Every line item that appears in the generated Excel model, from top-level totals like "Net Revenue" down to granular details like "Office Supplies Expense", is defined here as an account.
The chart of accounts is the backbone of the model. It determines what financial data is captured, how calculations flow between line items, how reports are structured, and how projections are driven. Getting the account structure right is the most important -- and typically the most time-consuming -- part of building a financial model.
Hierarchical Code Structure
Every account is identified by a hierarchical code that defines its position in the financial structure. The code uses dot-separated numbers that indicate nesting depth:
| Code | Level | Example | |------|-------|---------| | 3 | Top level | Net Revenue | | 3.01 | Second level | Gross Revenue | | 3.01.01 | Third level | Product Revenue | | 3.01.01.01 | Fourth level | Domestic Product Revenue |
The numbering convention follows standard accounting chart-of-accounts practices:
- Level 1 codes (single numbers) represent major financial statement sections.
- Level 2 codes (X.XX) represent categories within those sections.
- Level 3 codes (X.XX.XX) represent individual accounts or sub-categories.
- Level 4+ codes provide further granularity as needed.
The hierarchical structure is significant because parent accounts (e.g., 3.01) can automatically aggregate their children (3.01.01, 3.01.02, etc.) depending on the sheet type configuration.
Sheet Types
The Sheet Type is the most critical property of an account. It determines how the account's values are calculated in the generated model. Each sheet type corresponds to a different computational behavior:
Total
A Total account aggregates its direct child accounts. It is the standard parent-level account type. For example, if account 3.01 is a Total and its children are 3.01.01 and 3.01.02, then the value of 3.01 equals the sum of 3.01.01 and 3.01.02.
Use Total for any account that represents a subtotal or heading in the financial structure. Most level-1 and level-2 accounts are Totals.
Analytic
An Analytic account accepts direct data input. Its values come from imported historical data (for actual periods) and from index-driven projections (for projected periods). This is the most common type for leaf-level accounts -- the individual line items where actual financial data is recorded.
Analytic accounts are where the model meets reality: these are the accounts that hold real numbers.
Sum of
A Sum of account computes its value as the sum of specific referenced accounts, which may be anywhere in the chart of accounts (not just direct children). The referenced accounts are listed in the Arguments field.
Use "Sum of" when an account needs to aggregate accounts that are not its hierarchical children. For example, "Total Operating Expenses" might sum accounts from different branches of the chart.
Percentage of
A Percentage of account computes its value as a percentage of another account. The referenced account is specified in the Arguments field, and the percentage is entered as a value or driven by an index.
Use this for items that are naturally expressed as a ratio: tax provisions (percentage of pre-tax income), royalties (percentage of revenue), commissions (percentage of sales).
Alias
An Alias account mirrors the value of another account. It is a reference, not a copy -- if the source account changes, the alias changes with it. The referenced account is specified in the Arguments field.
Use aliases when the same value needs to appear in multiple places in the financial structure without double-counting.
Price, Quantity, Percentage, Days
These four sheet types are linked to the Key Assumptions worksheet. They define accounts whose values are driven by operational parameters rather than direct financial data:
- Price -- A unit price (e.g., price per unit sold, rate per hour)
- Quantity -- A volume measure (e.g., units produced, hours billed)
- Percentage -- A rate or margin (e.g., gross margin percentage, yield rate)
- Days -- A time-based metric (e.g., days sales outstanding, inventory turnover days)
When these types are used, the model generates entries in the Key Assumptions worksheet where operational parameters are entered. The financial value is then computed from these assumptions (e.g., Revenue = Price x Quantity).
Arguments
The Arguments field specifies which other accounts feed into this account's calculation. It contains one or more account codes, depending on the sheet type:
- Sum of -- List all account codes to be summed (e.g., "3.01.01, 4.01.01, 5.01.01").
- Percentage of -- The single account code that serves as the base for the percentage calculation.
- Alias -- The single account code being mirrored.
- Total and Analytic -- Arguments are typically not used (Total aggregates children automatically, Analytic takes direct input).
Arguments create the formula linkages that make the model a coherent, interconnected financial structure rather than a collection of isolated numbers.
Default Index
The Default Index determines which economic index drives the account's projected values. When the model calculates projected period figures, it applies the growth rate or adjustment from the assigned index.
For example:
- Revenue accounts might be linked to an inflation index, so projected revenue grows with expected price increases.
- Cost accounts in foreign currency might be linked to an exchange rate index.
- Fixed costs might be linked to the Constant index (position 0), keeping them flat across projections.
The Default Index is a starting point. In the generated Excel model, the user can override the index assignment for individual accounts if needed.
Indent
The Indent property controls how the account is visually presented in reports and financial statements. It determines the left margin offset, creating the visual hierarchy that makes financial statements readable.
Indentation is typically set automatically based on the account code level, but you can override it for presentation purposes. For example, you might want a subtotal line to align with its parent even though its code is one level deeper.
Include in Reports
Each account has flags controlling whether it appears in generated reports at different levels of detail:
- Long Report -- The most detailed report, showing all accounts.
- Medium Report -- An intermediate view, showing key accounts and subtotals.
- Short Report -- An executive summary showing only top-level totals.
These flags let the model generate multiple report formats from the same underlying data. A detailed account like "Office Supplies Expense" might appear in the Long report but be excluded from the Medium and Short reports, where only the parent "Administrative Expenses" total is shown.
Key Assumptions Offset and Default Value
For accounts linked to Key Assumptions sheet types (Price, Quantity, Percentage, Days):
Key Assumptions Offset
The Offset determines the row position of this account's entry within the Key Assumptions worksheet. This controls the layout and grouping of operational parameters in the Key Assumptions area.
Default Value
The Default Value pre-populates the Key Assumptions cell with an initial value. This provides a starting point so the model produces meaningful output even before the user enters actual operational assumptions.
For example, a "Days Sales Outstanding" account (Days type) might have a default value of 45, representing a 45-day collection cycle as the baseline assumption.
The Tree Navigation Interface
The application presents accounts in a tree view that mirrors the hierarchical code structure. Parent accounts can be expanded or collapsed to show or hide their children. This makes it practical to work with large charts of accounts (which can easily have hundreds of line items) by letting you focus on the section you are currently editing.
The tree view supports:
- Expanding/collapsing branches to navigate the hierarchy.
- Selecting an account to view and edit its properties in the detail panel.
- Adding new accounts as children of the selected account.
- Reordering accounts within their parent group.
- Deleting accounts (with warnings if other accounts reference them).
How Accounts Connect to Other Sections
- Periods -- Each account has one value per period. The period structure determines the columns in account worksheets.
- Business Units -- Each account has one value per unit per period. Multi-unit models have more columns.
- Indexes -- The Default Index setting links each account to an economic driver for projections.
- Scenarios -- Projected account values change when the user switches scenarios, because scenarios change the index values that drive projections.
- Database -- The Account Code and Account Description column mappings in the Database section connect imported data to the chart of accounts.
- Sources -- Account data can exist in multiple source versions (Budget, Forecast, Actual), each with its own set of values.
Building a Chart of Accounts
Start from the Top
Begin with the highest-level structure: the major financial statement sections. A typical model starts with:
| Code | Name | Sheet Type | |------|------|------------| | 3 | Net Revenue | Total | | 4 | Cost of Goods Sold | Total | | 5 | Operating Expenses | Total | | 6 | Financial Results | Total | | 7 | Taxes | Total |
Then add second-level categories within each section, and detail accounts within those categories.
Use Templates
The Specs Wizard offers pre-built chart of accounts templates (e.g., Industrial, Services, Generic) that provide a standard structure. Starting from a template and customizing it is almost always faster than building from scratch.
Validate References
After defining accounts, use the built-in validator to check that all Arguments references point to valid account codes, that all hierarchies are consistent, and that there are no circular references.
Best Practices
- Follow accounting conventions. Use standard chart-of-accounts numbering that your finance team recognizes. This makes the model intuitive for anyone with an accounting background.
- Set sheet types deliberately. The sheet type is the most consequential setting for each account. A wrong sheet type produces wrong numbers silently.
- Assign indexes thoughtfully. Not every account should use the same inflation index. Match each account to the economic driver that most closely governs its real-world behavior.
- Use the report flags. Configuring Long/Medium/Short report inclusion upfront gives you multiple reporting views without extra work.
- Keep the hierarchy clean. Every child account should logically belong under its parent. Resist the temptation to force accounts into the wrong branch just to make numbers work -- use "Sum of" for cross-branch aggregations instead.
- Validate frequently. Run the validator after every significant change to the chart of accounts. Catching reference errors early prevents compounding problems.
- Document unusual accounts. If an account uses a non-obvious formula (e.g., a complex "Sum of" with many arguments), add a note explaining the logic so future analysts can understand and maintain the model.