Track revenue, costs and performance of each business line independently within a single legal entity (one ΠΠΠ ΠΠΠ£) β without creating separate companies. Allocation rules, internal invoices, per-line BU tagging and segment reports included.
The existing 2D model (Holding β Company) is extended with an optional third dimension: Business Units within a company. Each BU is a virtual profit center with its own P&L and budget β without a separate ΠΠΠ ΠΠΠ£.
| SAP | Profit Center |
| Oracle / NetSuite | Business Unit |
| 1Π‘ | ΠΡΠ΄ΡΠΎΠ·Π΄ΡΠ» Π· ΡΡΠ½. ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ |
| IFRS / Π(Π‘)ΠΠ | Operating Segment (IAS 8 / Π(Π‘)ΠΠ 29) |
Each module is independently toggled per Business Unit via feature flags. Start with the Core and activate additional modules as your organisation grows.
BU registry with 6 types (production, trading, service, rental, agriculture, admin). Lifecycle management (active β inactive β archived). Optional BU dimension on 16 document tables. BU filter on all list APIs.
Account allow-list per BU β restrict which chart-of-accounts entries can be used. BU-scoped trial balance report. Validation on posting: account β only mapped BUs allowed.
Per-user per-BU role assignments (bu_admin, bu_accountant, bu_manager, bu_viewer). Temporary access with expiry date and audit note. BU context switcher in the header. Super/holding admin bypass.
Automatically distribute shared costs between BUs. 6 methods: fixed %, equal split, manual amount, revenue-based, headcount-based, area-based. Preview before posting. Full reversal support.
Internal invoices between BUs within one legal entity. 6-status workflow: draft β issued β accepted / disputed β settled / cancelled. Balance report shows unsettled inter-BU amounts at period close.
Assign different BUs to individual lines of one invoice or order. Header auto-syncs: single BU if all lines match, NULL (mixed) if they differ. Split-line API divides one line into N proportional parts.
Distribute shared costs (office rent, admin salaries, utilities) between Business Units automatically at period-end or on demand.
Predefined % per BU. Sum must equal 100%. Example: rent 50% Dairy Plant / 30% Crop / 20% Admin.
Divide equally among all target BUs. Remainder goes to the first BU.
Each BU's share proportional to its revenue in the allocation period. Dynamic β recalculated each run.
Proportional to active employee count per BU (via HR Departments). HR payroll and admin costs.
Area-based: proportional to configured floor area (mΒ²). Manual: fixed amount per BU per period β one-off distributions.
Every allocation run is fully auditable and reversible.
Revenue and expenses broken down by Business Unit for any date range. Optional single-BU filter.
GET /accounting/segment-pnl
Compare planned budget against actual postings per Business Unit and account category.
GET /accounting/segment-budget
Shows how much was allocated to each BU per rule per period. Rows Γ columns: rule Γ BU.
GET /companies/:id/allocation/matrix
Outstanding intra-company invoices between BUs. Shows invoiced, settled and pending amounts per pair. Essential for period close.
GET /companies/:id/intra-invoices/balance