> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tight.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Dimensions

> Track profitability across multiple dimensions

## Overview

Many businesses need to track profitability across multiple dimensions beyond just account categories, e.g. by location,
job code, product line, project, or department. Tight's dimensions functionality is a major improvement on class
tracking functionality offered by legacy accounting providers, enabling multi-dimensional reporting without requiring
your users to maintain complex account structures.

Your platform can define the dimensions (including hierarchies) made available to the businesses on your platform, and
the businesses can define the values against those dimensions. Your users can assign dimensions to transactions,
invoices,
and expenses, then generate Profit & Loss reports segmented by dimension to understand which locations, products, or
projects are most profitable. This is particularly valuable for platforms serving multi-location businesses,
project-based services, or any vertical where profitability analysis by segment drives business decisions.

The dimension tracking integrates seamlessly with Tight's accounting engine, so businesses get accurate profitability
reporting by segment while maintaining a clean, simple Chart of Accounts structure.

## Use Cases

### Platform defines dimensions

Your platform defines the dimensions that businesses on your platform can use to label their transactions. These labels
serve as the framework for multi-dimensional reporting (e.g., Region, Location, Department). By standardizing these
dimensions at the platform level, you create vertical-specific tracking capabilities that align with your users'
business models.

For example, a construction platform might define labels like "Project," "Phase," and "Job Type," while a retail
platform might define "Location," "Product Category," and "Sales Channel." Once you define these labels through
the [dimensions API](/api-reference/templates/save-dimensions), all businesses on your platform can
populate their own specific values under each label dimension.

This approach gives you control over the reporting structure while giving your users flexibility in how they apply it.
Dimensions can be hierarchical, allowing for nested categorization (e.g., Region → Location → Department).

<Tip>The Tight API lets you define which labels are required, enforcing consistency across your platform's data</Tip>

### Businesses set dimension values

Once you've defined the dimensions at the platform level, individual businesses populate those labels with
their own specific values. These business-level dimension values represent the actual categories each business uses for
tracking against a given dimension (e.g., under "Location": "NYC Office," "SF Office," "Remote"; under "Department": "
Sales," "Marketing," "
Operations").

Your platform may already track these segments, in which case you can simply have your system push them to
the [dimensions API](/api-reference/dimensions/save-dimension-values). Once created, these segments can be
assigned to transactions, invoices, expenses, bills, and mileage entries. When your users generate financial reports,
they can filter and/or group by any dimension to see profitability broken down by those dimensions, all without
creating separate accounts for each segment.

This gives each business complete flexibility to organize their financial data according to their unique structure,
while your platform maintains consistent reporting capabilities across all businesses.

## Examples

### Toast: Locations, Revenue Centers

Toast is a restaurant management platform that helps food and beverage businesses run operations like ordering,
payments, and reporting from a single system. Toast tracks operations across Locations (the physical restaurant),
Revenue Centers (sub-location groupings like dine-in, bar, patio, or online ordering), Service Periods (breakfast,
lunch, dinner), Order Channels (in-person, delivery platforms, kiosk), and Employees. Together, these dimensions let
restaurant operators understand which parts of their business - which location, which revenue stream, which daypart -
are driving performance.

With Tight embedded into Toast, Toast operators could slice financial reporting across any combination of these
dimensions, e.g., comparing net profit by Revenue Center within a Location, or rolling up P\&L by Service Period across
all
locations. Because Tight would mirror Toast's native dimension structure, operators could get accurate financial
reporting by segment without maintaining a separate Chart of Accounts for each one.

#### Toast Platform Setup

Toast defines the following dimensions at the platform-level:

* **Dimension 1:** Location
* **Dimension 2:** Revenue Center

#### Restaurant Configuration

Toast pushes the existing business configuration from its system into the Tight API. For example, a restaurant group
with 4 locations across two cities creates specific dimension values:

* **Dimension 1:** Location

* **Dimension 1 Values:**
  * Georgetown DC
  * Dupont Circle DC
  * Back Bay Boston
  * South End Boston
  * Mission SF
  * SoMa SF

* **Dimension 2**: Revenue Center

* **Dimension 2 Values**:
  * Dine-In
  * Bar
  * Online Ordering
  * Catering

#### Transaction Tagging

When transactions are ingested, e.g. food costs, beverage purchases, delivery commissions, staff
wages, users can tag each to a Location and/or Revenue Center.
<Tip>Tight learns these behaviors
and [creates rules to automate these tagging behaviors](/ai/categorization/self-learning-transaction-categorization-overview#rule-insertion-flow)</Tip>

#### Restaurant Reporting Outcome

The owner can generate P\&L reports to understand performance:

* Group by Location to compare total profitability across all locations
* Group by Revenue Center to see whether Dine-In or Online Ordering drives better margins
* Filter by both Location and Revenue Center to isolate specific operations (e.g., just Bar revenue at Dupont Circle DC)

### ServiceTitan: BUs, Trades, Divisions

ServiceTitan is a trades management platform that helps home and commercial service businesses run operations like
scheduling, dispatching, invoicing, and reporting from a single system. ServiceTitan tracks operations across Business
Units (the primary organizational unit, e.g. "HVAC Service" or "Plumbing Install"), Trades (the type of trade, e.g.
HVAC, Plumbing, Electrical), Divisions (the type of work within a trade, e.g. Install, Service, Maintenance), Zones (
geographic service areas within a Business Unit), and Job Types (e.g. Service, Estimate, Warranty). Together, these
dimensions let trades businesses understand which parts of their operation - which trade, which division, which service
area - are driving performance.

With Tight embedded into ServiceTitan, ServiceTitan operators could slice financial reporting across any combination of
these dimensions, e.g., comparing net profit by Division within a Business Unit, or rolling up P\&L by Trade across all
zones. Because Tight would mirror ServiceTitan's native dimension structure, operators could get accurate financial
reporting by segment without maintaining a separate Chart of Accounts for each one.

#### ServiceTitan Platform Setup

ServiceTitan defines the following dimensions at the platform level:

* **Dimension 1:** Business Unit
* **Dimension 2:** Trade
* **Dimension 3:** Division

#### Trades Business Configuration

ServiceTitan pushes the existing business configuration from its system into the Tight API. For example, a multi-trade
contractor operating across two regions creates specific dimension values:

* **Dimension 1:** Business Unit

* **Dimension 1 Values:**
  * HVAC Install Residential
  * HVAC Service Residential
  * HVAC Maintenance Residential
  * Plumbing Install Residential
  * Plumbing Service Residential
  * Electrical Service Residential

* **Dimension 2:** Trade

* **Dimension 2 Values:**
  * HVAC
  * Plumbing
  * Electrical

* **Dimension 3:** Division

* **Dimension 3 Values:**
  * Install
  * Service
  * Maintenance

#### Transaction Tagging

When transactions are ingested, e.g. labor costs, material purchases, subcontractor invoices, equipment rentals, users
can tag each to a Business Unit, which is associated with a specific Trade and Division.

<Tip>Tight learns these behaviors
and [creates rules to automate these tagging behaviors](/ai/categorization/self-learning-transaction-categorization-overview#rule-insertion-flow)</Tip>

#### Trades Reporting Outcome

The owner can generate P\&L reports to understand performance:

* Group by Business Unit to compare total profitability across all departments
* Group by Trade to see whether HVAC or Plumbing drives better margins
* Filter by both Trade and Division to isolate specific operations (e.g., just HVAC Install profitability)

### Procore: Cost Codes, Cost Types

Procore is a construction management platform that helps general contractors, owners, and specialty contractors run
operations like project management, budgeting, procurement, and reporting from a single system. Procore tracks
operations across Cost Codes (the specific type of work being performed, aligned by default to the CSI MasterFormat,
e.g. Concrete, Framing, Electrical), Cost Types (the nature of the spend, e.g. Labor, Materials, Equipment,
Subcontracts), Sub Jobs (subdivisions of a project, e.g. a building within a campus or a phase of work), and
Portfolio-level dimensions including Project Type (e.g. Ground-Up, Renovation), Department, Office, and Program (a
grouping of related projects). Together, these dimensions let construction businesses understand which parts of their
operation - which project, which cost category, which office - are driving performance.

With Tight embedded into Procore, Procore operators could slice financial reporting across any combination of these
dimensions, e.g., comparing net profit by Cost Type within a Cost Code, or rolling up P\&L by Office across all active
projects. Because Tight would mirror Procore's native dimension structure, operators could get accurate financial
reporting by segment without maintaining a separate Chart of Accounts for each one.

#### Procore Platform Setup

Procore defines the following dimensions at the platform level:

* **Dimension 1:** Cost Code
* **Dimension 2:** Cost Type
* **Dimension 3:** Sub Job

#### GC Configuration

Procore pushes the existing business configuration from its system into the Tight API. For example, a general contractor
working on a large mixed-use development creates specific dimension values:

* **Dimension 1:** Cost Code

* **Dimension 1 Values:**
  * 03-000 Concrete
  * 06-000 Framing & Rough Carpentry
  * 16-000 Electrical
  * 22-000 Plumbing
  * 09-000 Finishes

* **Dimension 2:** Cost Type

* **Dimension 2 Values:**
  * Labor
  * Materials
  * Equipment
  * Subcontracts

* **Dimension 3:** Sub Job

* **Dimension 3 Values:**
  * Building A
  * Building B
  * Site Work
  * Common Areas

#### Transaction Tagging

When transactions are ingested, e.g. subcontractor invoices, material purchases, equipment rentals, labor timecards,
users can tag each to a Cost Code and Cost Type, with Sub Job added when phase- or building-level detail is needed.

<Tip>Tight learns these behaviors
and [creates rules to automate these tagging behaviors](/ai/categorization/self-learning-transaction-categorization-overview#rule-insertion-flow)</Tip>

#### GC Reporting Outcome

The owner can generate P\&L reports to understand performance:

* Group by Cost Code to compare spend across all work types on a project
* Group by Cost Type to see whether Labor or Subcontracts are the dominant cost driver
* Filter by both Cost Code and Sub Job to isolate specific operations (e.g., just Electrical costs for Building A)
