Dimensions & Analytics
Set up custom analysis dimensions to slice financial data by department, project, location, cost center, and more
Dimensions & Analytics
Dimensions are custom analysis axes that let you slice and dice financial data in multiple ways beyond the standard chart of accounts. They enable multi-dimensional reporting so you can answer questions like "How much revenue came from the Engineering department in the West region on Project Alpha?"
Why Dimensions Matter#
Without dimensions:
- Revenue: $1,000,000
- Where did it come from? Which department? Which region? Which project? (Unknown)
With dimensions:
- Revenue: $1,000,000
- By Department: Engineering ($400K), Sales ($350K), Marketing ($250K)
- By Location: US ($600K), EU ($300K), APAC ($100K)
- By Project: Project Alpha ($500K), Project Beta ($300K), Other ($200K)
- By Business Segment: B2B ($700K), B2C ($300K)
Another example:
- Salary Expense: $100,000
- Department: Engineering -- $60,000
- Department: Sales -- $40,000
- Full visibility across any combination of dimensions
Key Benefits#
- Multi-dimensional analysis -- analyze by any combination of dimensions
- Hierarchical structure -- parent/child relationships (USA > West > California)
- Cross-entity flexibility -- shared or entity-specific dimension values
- Report flexibility -- slice data multiple ways without restructuring your chart of accounts
- Complete audit trail -- track all dimension changes
Architecture Overview#
Dimensions use two levels of the Master + Entity Override pattern:
Dimension Types (Organization-wide)
department, project, location, cost_center
|
v
Dimension Values (Under each type)
department: ENG, SALES, MKT, HR, FIN
location: USA > West > California > Los Angeles
project: PROJ-001, PROJ-002, ...
|
v
Entity-Specific Overrides (Sparse)
Entity 9 hides: department "HR" (not applicable)
Entity 13 renames: "Sales" to "Revenue Operations"
Entity 10 adds: "APAC" location (entity-only)
|
v
Effective Views (What each entity sees)
Resolved types and values per entity
Dimension Types#
Dimension types define the categories of analysis available in your organization.
Standard Dimension Types#
| Dimension | Purpose | Typical Examples |
|---|---|---|
| Department | Organizational structure | Engineering, Sales, Marketing, HR, Finance |
| Project | Project-based tracking | Project Alpha, Client Onboarding |
| Location | Geographic analysis | New York, London, Tokyo |
| Cost Center | Cost allocation | CC-100 (Admin), CC-200 (Operations) |
| Business Segment | Revenue classification | B2B, B2C |
Dimension Type Properties#
| Property | Required | Description | Example |
|---|---|---|---|
| Name | Yes | Internal name (lowercase, underscores) | department, cost_center |
| Display name | Yes | User-facing label | Department, Cost Center |
| Applies to | Yes | Which record types can use this dimension | ["account", "transaction"] |
| Description | No | Purpose description | Track departmental expenses |
| Hierarchy depth | No | Maximum hierarchy levels (1-5) | 3 (e.g., USA > West > CA) |
| Is required | No | Mandatory on applicable records | true or false |
| Shared across entities | No | Whether values are shared | true (default) |
Applies-To Options#
| Value | Meaning |
|---|---|
| account | Can assign to GL accounts |
| customer | Can assign to customers |
| vendor | Can assign to vendors |
| transaction | Can assign to transaction lines |
Each dimension type specifies which record types it can be assigned to. For example, "department" might apply to accounts and transactions, while "location" applies to customers and vendors.
Naming Rules#
- Must be lowercase
- No spaces (use underscores)
- Alphanumeric characters only
- Examples:
department,cost_center,product_line
Dimension Values#
Dimension values are the specific entries within each dimension type.
Value Properties#
| Property | Required | Description | Example |
|---|---|---|---|
| Dimension type | Yes | Parent dimension type | department |
| Code | Yes | Unique code within type | ENG, SALES, USA |
| Name | Yes | Display name | Engineering, Sales |
| Parent code | No | Parent for hierarchies | USA (parent of WEST) |
| Description | No | Value description | Engineering department |
| Level | Auto | Hierarchy level (calculated) | 1, 2, 3 |
| Full path | Auto | Complete path (calculated) | USA/WEST/CA |
| Sort order | No | Display order | 1, 2, 3 |
| Metadata | No | Custom JSON fields | {"manager": "John"} |
Hierarchical Dimensions#
Dimensions support parent/child relationships for structured analysis:
Example: Location Hierarchy#
Location (hierarchy_depth: 3)
|-- USA (Level 1)
| |-- West (Level 2)
| | |-- California (Level 3)
| | +-- Oregon (Level 3)
| +-- East (Level 2)
| +-- New York (Level 3)
+-- Europe (Level 1)
|-- UK (Level 2)
+-- Germany (Level 2)
Example: Department Hierarchy#
Department (hierarchy_depth: 3)
|-- Technology Division (Level 1)
| |-- Engineering (Level 2)
| | +-- Frontend Team (Level 3)
| +-- IT Operations (Level 2)
+-- Business Division (Level 1)
|-- Sales (Level 2)
+-- Marketing (Level 2)
Auto-Calculated Fields#
When you create a hierarchical value with a parent code:
- Level is automatically determined from the parent's level
- Full path is automatically built (e.g.,
USA/WEST/CA)
Hierarchy Rules#
- Parent must exist -- cannot reference a non-existent parent code
- Depth limit -- respects the dimension type's maximum hierarchy depth (1-5)
- No circular references -- A cannot be parent of B if B is parent of A
- Full path auto-calculated -- no manual entry needed
Entity-Specific Overrides#
Each entity can customize dimension types and values without affecting other entities:
Hiding a Value#
Entity 9 can hide the "HR" department dimension if it's not applicable to that entity. Other entities continue to see it.
Renaming a Value#
Entity 13 can see "Revenue Operations" instead of "Sales" for the same dimension value code. Other entities see the master name.
Entity-Only Values#
Entity 10 can add an "APAC" location that only appears for that entity. No override records needed for other entities.
Bulk Import#
Import dimension types and values from templates, legacy systems, or CSV files.
Dimension Type Import#
Import multiple dimension types at once with validation:
- Field validation (name format, applies-to values, hierarchy depth)
- Duplicate detection by name
- Industry templates for common setups (manufacturing, professional services, etc.)
Dimension Value Import#
Import dimension values with hierarchy support:
- Parent-child relationships resolved automatically
- Level and full path calculated during import
- Duplicate detection by code within type
Dimension Hierarchy Import#
Import complete hierarchies including parent-child relationships in a single operation.
Import Options#
| Option | Description | Default |
|---|---|---|
| On duplicate | Skip, update, or error | Skip |
| Batch size | Records per batch (1-1000) | 100 |
| Stop on error | Halt on first error | Continue |
| Validate only | Dry run without changes | No |
Transaction Dimensions#
Dimensions can be assigned at the transaction line level for granular financial analysis.
How It Works#
When posting a transaction (invoice, journal entry, bill), each line can carry dimension assignments:
- Line 1: Revenue $5,000 -- Department: Engineering, Project: Alpha
- Line 2: Revenue $3,000 -- Department: Sales, Project: Beta
This enables reports like:
- "Total revenue by department and project"
- "All expenses for Project Alpha across all accounts"
- "Cost center P&L for Q1"
Required vs. Optional Dimensions#
Dimension types marked as "required" must be specified on applicable transaction lines. Optional dimensions can be added for additional analysis when available.
Budget Dimensions#
Dimensions integrate with the budgeting system to enable dimensional budget tracking:
- Set budgets by department, project, or cost center
- Track actual vs. budget by any dimension combination
- Alert when spending exceeds dimensional budgets
Approval Workflows#
| Operation | Default Lane |
|---|---|
| Create dimension type | Green (auto-approved) |
| Update dimension type | Green |
| Delete dimension type | Yellow (requires approval) |
| Create dimension value | Green (auto-approved) |
| Update dimension value | Green |
| Delete dimension value | Yellow (requires approval) |
Current Statistics#
A typical organization setup includes:
- 4 master dimension types (department, project, location, cost center)
- 90+ dimension values stored once at the master level
- Entity-specific overrides only where customization is needed
- Full visibility across all entities through effective views
Subscribe to new posts
Get notified when we publish new insights on AI-native finance.