Structure & Integration
Analytical accounting lets you allocate revenues and expenses by custom business dimensions like departments, projects, regions, or product lines. It exists in many accounting systems, such as Odoo, Netsuite, Exact Online, or QuickBooks Online, and is fully supported in our unified API. In Chift, this functionality revolves around Analytical Plans (dimensions) and Analytical Accounts (values within a dimension).What are Analytical Plans / Accounts?
An Analytical Plan (also called a dimension or axis) defines a business perspective for analysis. Each plan includes multiple Analytical Accounts (or values) that can be used to tag entries. Here’s an example of plans / accounts scheme:Analytical Plan | Analytical Accounts |
---|---|
Department | Sales, HR, Marketing |
Project | Project A, Project B |
Fixed vs. Dynamic Plan Models
Depending on the accounting system:- Some systems use a fixed number of analytical plans — For insatnce, in Exact Online, exactly 2 dimensions with predefined meanings: cost centers and cost units.
- Others (e.g., Odoo, Netsuite) allow dynamic or unlimited plans, which can be created and managed freely by the user.
Analytical plans in Chift
We distinguish two modes of operation:Single vs. Multi Analytical Plan Modes
- Single Analytical Plan Mode:
In mono mode, you can only assign one analytical account per line (no distribution or percentage is possible).
- Multi Analytical Plan Mode: In this mode, multiple analytical plans can be used (e.g., project, department, region). You must explicitly define, for each line, the analytical plan and corresponding accounts with their distribution.
Analytical plans are attached to accounting entries (lines) — this is where analytical allocations happen. They are relevant in the context of:
- Journal Entries (
journal_entries
) - Invoices (
sales_invoices
,purchase_invoices
) — specifically, the invoice lines that will generate accounting entries.
Analytical plans do not apply to purely financial data or summaries; they are tied to the accounting side of the transaction.
Endpoints to manage Analytical Plans in Chift’s API
Method | Endpoint | Short description |
---|---|---|
GET | /analytic_plans | Get Analytic Plans (list of plans) |
POST | /analytic_accounts | Create analytic account (single) |
POST | /analytic_accounts/multiple | Create analytic account (multiple plans) |
GET | /analytic_accounts | Get analytic accounts (list) |
GET | /analytic_accounts/ | Get analytic account (detail) |
PATCH | /analytic_accounts/ | Update analytic account |
GET | /analytic_accounts/multiple/ | Get analytic account (multiple plans) |
PATCH | /analytic_accounts/multiple/ | Update analytic account (multiple plans) |
GET | /analytic_accounts/multiple | Get analytic accounts (multiple plans) |
Example of an invoice entry using multiple analytical plans in our API
Let’s illustrate by an example:- The purchase invoice line for “Consulting Services” has a total amount of 1000.
- This cost is analytically split:
- Projects: 70% to
project_alpha
, 30% toproject_beta
. - Departments: 40% to
sales
, 35% tomarketing
, 25% toengineering
.
- Projects: 70% to
- This enables detailed cost tracking across both projects and departments, in parallel to the general ledger account
610
.