xMatix
Sign in Request demo
xMatix
PRODUCTS
SalesField Sales & SFACRMRewardsClaimsInventoryProcurementWarehouse ManagementField ServiceServiceSupportTelephony & MessagingFinance & AccountingPayrollExpense ManagementCommercePortalsAnalytics & ReportingData StudioMobile AppSee all products →
PLATFORM
Platform overviewApp BuilderAutomationIntegrationsSecurity & GovernanceChange ManagementDevelopers
SENSE AI
Sense AI overviewSense AssistSense ControlSense VisionAI StudioTrust & governanceIn Claude & ChatGPTUse cases
SOLUTIONS
Auto DMSConsumer Goods DMSSales Force Automation (SFA) FMCG & DistributionManufacturing & Dealer NetworksAutomotive & DealershipsPharma & HealthcareConsumer DurablesAgri-InputsBuilding MaterialsService NetworksWarehousing & 3PLFinancial AccountingERP SoftwareIndia GST ComplianceUAE VAT & e-InvoicingSaudi ZATCA & VATAll solutions →
RESOURCES
Knowledge CenterDeveloper & CLIBlogGuidesWhat is xMatix?Company facts
COMPANY
AboutCareersPartnersEventsContactAuthorsLegal
Sign in Request demo
Home/Docs/Finance & Accounting/Business units (finance divisions)
HOW-TO · Last reviewed

Business units (finance divisions)

A business unit is a division of a company — a product line, a region or a line of business — that the ledger can be read by, so you can see a profit and loss, balance sheet or budget for one division instead of the whole company. You set business units up once, when you design the company's reporting structure, link each branch to the unit it belongs to, and from then on every journal that posts at that branch carries the unit automatically.

Overview

A business unit is a reporting dimension, like branch, GSTIN and cost centre. It has no workflow of its own: there is nothing to submit, approve or post on the business unit record itself. What matters is which postings end up carrying it, because every statement, budget and balance that is read "by business unit" is read from those postings.

The business unit you set up here is a finance record. It is not the business unit under Setup → Access Control, which is part of record security and decides who can see which records. The two share a name only; they are separate lists and nothing links them. For the security one, see Roles, teams and business units.

When to use it

  • Division-wise results. You want a profit and loss or balance sheet per division as well as for the company.
  • Budgets per division. You plan and control spending separately for each division.
  • Several divisions in one company. One legal company runs distinct businesses — for example sales, service and spares — out of shared or separate branches.

If your company reports only as a whole, you do not need business units; every statement works without them.

How xMatix handles it

  • The branch decides the unit. Each branch can name the business unit it belongs to. When a journal posts, every line that has a branch but no business unit takes the branch's unit. Linking your branches is therefore the main way business units reach the ledger.
  • The order xMatix fills a line's unit. At posting, each journal line keeps the business unit it already has; otherwise it takes the journal header's unit; otherwise the unit of its branch (the line's branch, or failing that the journal's branch, or failing that the GL account's branch); and only as a last resort the GL account's Default Business Unit. The same order applies when an expense claim, expense advance, expense voucher or revenue recognition schedule is saved.
  • Manual journals do not ask for it. The journal and journal line forms have no Business Unit field. A posted line shows its unit in the page header of the journal line's record page.
  • Posting does not check Is Active. A unit with Is Active cleared is still carried onto postings and still offered in pickers. Is Active is a marker for your own lists.
  • Journals that span units can balance per unit. When the lines of one journal carry two or more different business units (lines with no unit count as one more group), and the company has a GL account whose control type is the inter-business-unit clearing control, xMatix adds one clearing line per unit so that each unit balances on its own. The lines are named after the journal with an -IBU suffix and carry the narration Inter-business-unit clearing (due-to/due-from). Without that account the journal posts as it is — it still balances overall, but a single unit's balance sheet will not.
  • The hierarchy is for your reference. Parent Business Unit records which unit sits under which. No statement, budget or report adds child units into their parent; each posting belongs to exactly one unit.
  • Balances are kept per unit. The period balances behind the statements are kept per GL account, branch, business unit, GSTIN and cost centre, so a statement by unit is read from the same ledger as the company statement.

Prerequisites

  • The company (partner account) exists. See Tenants and companies.
  • You can open the Finance Setup app, and your security profile can create Business Unit records.
  • To link branches, the branches exist. See Branches.

Procedure

Step 1 — Open the business units list

Open the Finance Setup app and, under Company Structure, open Business Units. Two views are available: All Business Unit (Name, Business Unit Code, Partner Account, Is Active, Created By, Created Date, Modified Date) and All Business Units (Name, Business Unit Code, Description, Is Active).

Step 2 — Create a business unit

  1. Select New. The create dialog opens.
  2. Enter a Name. It must be unique across your whole organization, not just within the company.
  3. Enter a short Business Unit Code if you use codes in reports.
  4. Choose the Partner Account — the company the unit belongs to.
  5. Make sure Is Active is ticked.
  6. Open Additional Information to choose a Parent Business Unit and enter a Description.
  7. Select Save.

The business unit's record page opens. Its header shows the Partner Account and Business Unit Code, with Edit and Delete buttons. The Related tab lists the unit's branches, and the Details tab shows Name, Business Unit Code, Is Active and Description.

You can do this from either side:

  • From the business unit. On the Related tab, select New in the branches list to create a branch that belongs to this unit.
  • From the branch. Open the branch (Platform app → Branches), select Edit and choose its Business Unit. The branch create form does not show this field; set it when you edit the branch.

From now on, journals posted at that branch carry the unit on every line that has no unit of its own.

Step 4 — Set a default unit on GL accounts (optional)

Open a GL account, select Edit, and on the System Details tab choose a Default Business Unit. It is used only for lines that still have no unit after the journal header and the branch — for example a branchless journal. See GL accounts.

Step 5 — Tag other records with the unit (optional)

The create forms of these records have their own Business Unit field: Budget, Budget Line, Budget Commitment, Cost Center, Employee, Expense Claim, Expense Advance, Expense Voucher, Project, Interest Run, Financial Projection, Revenue Recognition Schedule and Inventory Valuation Policy. What each one does with the value is described under Business rules below.

Step 6 — Read the statements by unit

On the Profit and Loss and Balance Sheet statements (including their Schedule III versions), Financial Ratios and Risk Ratios, set Compare to By business unit. The statement shows one column per business unit, plus a Total column when there is more than one. Leave Business units empty to see every unit that has posted activity — at most twelve columns, ordered by name — or choose the units you want. To see a single division, choose just that unit. The field app's statement screens offer the same Business Unit comparison. See Financial statements.

Step 7 — Group units for consolidated reporting (optional)

A consolidation group is a named set of business units that is read as one scope, so a statement covers, say, all your trading divisions together without the others. It is a reporting scope over the same postings, not a second set of books, and you can have as many groups as you need: a statutory grouping and a management grouping can name different units, and one unit can sit in several groups.

The seeded apps have no menu entry for consolidation groups. An administrator adds Consolidation Group to an app first (see Configuration below). Then:

  1. Open Consolidation Groups in that app and select New.
  2. Choose the Partner Account, enter a Label such as Trading divisions, and leave Is Active ticked.
  3. Select Save. The group's record page opens with the Partner Account in its header and Edit and Delete buttons. The group gets an automatic number in the series CG (for example CG-11102026-000001), and that number is what the All Consolidation Group list shows in its Name column. Enter a Description on the Details tab so the group is easy to recognise in the list.
  4. On the Members tab, select New and choose a Business Unit. Repeat for every unit in the group. Each member row has Edit and Delete in its row menu. Each member gets its own automatic number in the series CGM (for example CGM-25102026-000001) when it is saved. You can leave its Name empty, because anything typed there is replaced.

The standard statement screens do not offer a consolidation group: Compare offers business unit, branch, GSTIN and cost centre, and you can choose several business units side by side. A group scope is used in two places:

  • Published statements. The Published Statement form has a Consolation Group field (that is the label on screen). When you publish a Profit and Loss, Balance Sheet or Trial Balance with a group chosen, the snapshot is computed across the group's member units. Published Statement is not in a seeded app either. See Published statements.
  • The data API. The fiscal year statement actions accept a consolidationGroupId argument, for example POST /api/1.0/data/FiscalYear/{id}/GenerateProfitAndLoss with the body { "args": { "consolidationGroupId": "…" } }. When the statement is requested as print-ready HTML ("format": "html-vertical"), its heading names the scope Consolidated (group). See Data API.

Step 8 — Change or retire a unit

Select Edit on the record page to change any field, including Parent Business Unit, in the edit dialog. To stop using a unit, first re-point the branches and GL accounts that name it, then clear Is Active so your lists show it as retired. Clearing Is Active alone changes nothing at posting, and a unit that is still a member of a consolidation group stays in that group's figures until you delete its member row on the group's Members tab.

Fields

FieldWhat it meansNotes
NameThe unit's name, as shown in pickers, statement columns and lists.Required. Unique across the organization, ignoring case and surrounding spaces.
Business Unit CodeA short code for the unit.Optional. Not checked for uniqueness.
Partner AccountThe company the unit belongs to.Optional. Hidden when your organization runs a single company. Nothing checks that a branch and its unit belong to the same company.
Is ActiveWhether the unit is in use.New units are active. Not checked by posting, and inactive units still appear in pickers.
Parent Business UnitThe unit this one rolls up to in your structure.Optional; on the create and edit dialog only, under Additional Information. Informational — nothing adds child units into the parent.
DescriptionFree text about the unit.Optional.

Consolidation group fields

FieldWhat it meansNotes
Partner AccountThe company the group is set up for.Optional. Hidden when your organization runs a single company. A statement always runs for the company of its fiscal year, and this field is not checked against it.
LabelThe group's display name, such as Trading divisions.Optional, but enter one. The list view does not show it.
Is ActiveWhether the group is in use.New groups are active. Not checked when a statement uses the group.
DescriptionFree text about the group.On the Details tab of the record page, not on the create dialog. Shown in the All Consolidation Group list.
NameThe group's number.Filled automatically from the series CG, the date and a six-digit counter.
Business Unit (member)One business unit in the group.Added on the Members tab. A member row with no unit adds nothing. Adding the same unit twice does not count it twice. The unit's Is Active flag is not checked, so remove a retired unit from the group yourself.
Name (member)The member's number.Filled automatically from the series CGM, the date and a six-digit counter, and replaces anything typed. The All Consolidation Group Members view shows it under the column heading GL Account Name.

Business rules

  • Unique name. Saving a unit whose name another unit already has fails with Name '…' already exists.
  • Unit on journal lines is filled at posting in this order: the line's own unit, the journal header's unit, the branch's unit, the GL account's Default Business Unit. It is not checked against the journal's company.
  • Inter-unit clearing lines are added only when one journal spans several units and the company has an inter-business-unit clearing GL account. The Control Type list on the GL account form does not offer this value and no chart template sets it, so an administrator sets it (the stored value is InterBusinessUnit) through the Setup Copilot or a data import.
  • Budgets. Only one active budget can exist for the same company, business unit and fiscal year; a second fails with An active budget already exists for this scope and fiscal year. When a budget has a business unit, the Actual column of Budget vs Actual counts only postings that carry that unit. See Budgets and budget control.
  • Employees and payroll. An employee's Business Unit is stored on the employee only. A payroll run does not pick employees by unit, and the payroll journal header carries the branch only. See Employees and salary structures.
  • Expenses. An expense claim's or advance's unit is copied onto the open item it creates. It is not filled from the employee.
  • GST on invoices and bills. The tax transactions an invoice or bill creates carry no business unit; the posted journal lines do (from the branch).
  • Inventory valuation policies. A policy scoped to a business unit matches stock movements at every branch whose Business Unit is that unit. It is the least specific scope key, so a branch, item group or item policy beats it. See Inventory valuation policies.
  • Clone is not on the business unit's record page. Where it is run, the copy takes the original's name followed by (Copy).
  • Consolidation groups expand to their units. A statement run for a group reads exactly the postings whose business unit is one of the group's members. Postings with no business unit are never part of a group's figures, even though they are part of the company statement.
  • An empty group is refused. If a group has no member with a business unit, a statement or publish run against it fails with Consolidation group has no business units. xMatix does not fall back to the whole company.
  • Groups move nothing. Creating, changing or deleting a group changes no posting and no business unit. A published statement keeps the figures it was published with, even if the group's members change later.

Example

A dealer company sells two-wheelers and runs a workshop from the same three locations. It wants a separate profit and loss for vehicle sales and for service.

  1. The finance lead creates two units — Vehicle Sales (code VS) and Workshop Service (code WS) — both for the company.
  2. The company has separate sales and service branches at each location: City Centre Showroom, Ring Road Showroom and Highway Showroom are linked to Vehicle Sales; City Centre Workshop, Ring Road Workshop and Highway Workshop are linked to Workshop Service.
  3. A rent journal with no branch is posted against the Rent account. Its Default Business Unit is Vehicle Sales, so the line carries Vehicle Sales.
  4. An administrator has tagged an Inter-division clearing GL account with the inter-business-unit control. A journal with no branch moves 12,000 of spare parts from Showroom consumables (no branch, Default Business Unit Vehicle Sales) to Workshop consumables (no branch, Default Business Unit Workshop Service). The two lines land in different units, so xMatix adds two clearing lines and each unit balances on its own.
  5. At month-end the finance lead opens Profit and Loss, sets Compare to By business unit, and sees three columns: Vehicle Sales, Workshop Service and Total.
  6. The company later adds a third unit, Insurance Desk, and the lenders want a statement for the two core divisions only. The finance lead creates a consolidation group labelled Core automotive with Vehicle Sales and Workshop Service as members. At year end they publish a Balance Sheet with Consolation Group set to Core automotive. The snapshot covers both divisions and leaves out Insurance Desk and any branchless postings that carry no unit.

Training

Practice exercise

In a sandbox, create a business unit called Training Division for your company. Link one branch to it. Post a small manual journal at that branch — for example 500 from an expense account to a bank account — with no business unit anywhere on the journal. Open one of the posted journal lines.

Expected result: the journal line's page header shows Training Division as its Business Unit. The Profit and Loss with Compare set to By business unit shows a Training Division column with the 500 expense.

Quick reference

  • Finance Setup → Company Structure → Business Units.
  • Business units here are finance divisions, not the security business units under Access Control.
  • Link each branch to its unit — postings take the unit from the branch.
  • GL account Default Business Unit is the last resort for a line with no unit.
  • Manual journal forms have no Business Unit field.
  • Names are unique across the whole organization.
  • Is Active is not checked anywhere — re-point branches and accounts to retire a unit.
  • Parent Business Unit is not rolled up in any statement.
  • Statements: Compare → By business unit, up to twelve columns plus Total.
  • A consolidation group is a named set of units read as one scope. Postings with no unit are left out.
  • Group scopes are used by published statements and the data API, not by the Compare control.

Permissions

Access follows the user's security profile: its entity permission on Business Unit decides whether the user can see, create, edit or delete units. The standard System Admin, Standard User, Sales Manager and Sales Executive profiles ship with full access to Business Unit, and the Finance Setup app is granted to System Admin, Standard User and Sales Manager. Review these grants under Setup → Access Control → Profiles → Entity Permissions if only finance staff should maintain the structure; keep read access for users who pick a business unit on budgets, expenses or employees.

Consolidation Group and Consolidation Group Member have their own entity permissions. System Admin, Standard User, Sales Manager and Sales Executive ship with full access to both. Running a statement for a group through the data API needs the same fiscal-year statement action permission as running the statement on screen.

Configuration

  • Business units — Finance Setup → Company Structure → Business Units.
  • Branch to unit — the Business Unit field on each branch (Platform app → Branches → open the branch → Edit). Changing it affects postings made after the change; lines already posted keep their unit.
  • GL account default — Default Business Unit on the GL account's System Details tab.
  • Inter-unit clearing account — one GL account per company with control type InterBusinessUnit, set through the Setup Copilot or a data import. If more than one account in the company has it, xMatix uses the first it finds, so keep exactly one.
  • Showing only active units in a picker — pickers do not filter inactive units. To hide them on a form, add a lookup filter on that form's Business Unit field (for example IsActive == true) under Setup → Design Studio → Entities, open the entity, then Schema → Lookup Filters.
  • Single-company organizations — the Partner Account field on the unit is hidden automatically when the organization runs one company.
  • Consolidation groups in an app — no seeded app lists Consolidation Group or Published Statement. Add them to the app your finance team uses under Setup → Design Studio → Apps, open the app and use Manage Items (see Create an entity). The group's record page already has a Members tab, so the member entity does not need its own menu entry.
  • Group numbering — Consolidation Group Name Setting (series CG) and Consolidation Group Member Name Setting (series CGM), each with a day-month-year date part and a six-digit counter, under Setup → Feature Hub → Platform → Document Settings. See Email templates and document numbering.

Common problems

The statement by business unit shows nothing for a division

The division's postings carry no unit. Check that its branches name the unit, and that the lines were posted after the branch was linked — posted lines keep the unit they were posted with. For branchless journals, set a Default Business Unit on the GL accounts involved.

A division's balance sheet does not balance

A journal moved value between units and the company has no inter-business-unit clearing account, so no clearing lines were added. Ask an administrator to tag one GL account with that control; journals posted afterwards balance per unit.

Saving fails with "Name '…' already exists"

Another business unit — possibly for another company — already uses that name. Business unit names are unique across the whole organization; add the company or a code to the name.

A retired unit still appears in pickers

Is Active is not used to filter pickers. Re-point any branch or account that still names the unit, and ask an administrator to add a lookup filter if the picker must hide inactive units.

Publishing fails with "Consolidation group has no business units"

The group chosen on the published statement has no member, or its member rows have no business unit. Open the group, add the units on the Members tab, and publish again.

A consolidated figure is lower than the company total

That is expected when some postings carry no business unit or belong to a unit outside the group. A group's figures include only postings whose unit is a member. Link the branches to their units (Step 3) or set Default Business Units on the GL accounts so future postings carry a unit.

Common questions

Is this the same as the business unit under Access Control?

No. The finance business unit on this page groups postings for reporting by division. The business unit under Setup → Access Control is part of record security: roles and teams anchor to it, and records can be shared to it. They are separate lists with separate records, and setting one up has no effect on the other. If you need a division's staff to see only that division's records, use the security constructs described in Roles, teams and business units.

Do parent units add up their children's figures?

No. Parent Business Unit only records your structure. Each posting carries one business unit, and statements break out by that unit alone. To see a group of units together, choose those units in the Business units field when you compare by business unit and read them side by side. For a single combined figure, set up a consolidation group (Step 7) and publish the statement for it.

Can I enter the business unit on a manual journal?

Not on the standard journal forms — they have no Business Unit field. Post the journal at a branch that belongs to the unit, or post to a GL account whose Default Business Unit is the unit, and the lines take it at posting. The unit each line received is shown in the header of the journal line's record page.

Does changing a branch's business unit move its history?

No. A journal line keeps the business unit it was posted with. Only journals posted after the change pick up the new unit. If history must move, reverse and re-post the affected journals.