Dimensions & Analytics
Set up custom analysis dimensions to slice financial data by department, project, location, cost center, and more
ON THIS PAGE · 30
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