Defining the entity hierarchy
You manage your entity structure from the Company menu in the left navigation (the company icon at the bottom of the left nav) → Companies. Each entity (company) has a name, functional currency, fiscal calendar, its own chart of accounts (or a shared chart of accounts template), and its own approval workflows. You define parent-child relationships between entities by assigning a parent company. The top-level parent is the consolidation entity. The API exposes entities at/public/v2/companies/, where you can list, filter, and retrieve entity details programmatically.
Each entity operates as a self-contained set of books. You can grant users different permission scopes per entity, so an accountant may have full access to one subsidiary and read-only access to another.
Changing a subsidiary’s parent
You can reassign a subsidiary’s parent freely before any transactions have been posted to that subsidiary. Open the company record and pick a new parent. DualEntry updates the hierarchy immediately, and future consolidations roll the subsidiary up under the new parent. Once transactions are posted to the subsidiary, changing its parent is restricted. This preserves the integrity of historical consolidated financials, elimination entries, and intercompany balances that were computed against the original hierarchy. If you need a different hierarchy after posting has started, the supported workaround is:- Create a new subsidiary under the target parent.
- Redirect new activity (integrations, recurring transactions, users) to the new subsidiary.
- Inactivate the original subsidiary.
Intercompany transactions
You record transactions between entities using intercompany journal entries (IJEs). An IJE includes lines that span at least two companies and must balance in aggregate across all entities involved. For example, when a parent company charges a management fee to a subsidiary, you create an IJE with a debit in the subsidiary and a credit in the parent. IJEs have their own approval workflows, separate from single-entity transactions. This gives you control over who can initiate and approve cross-entity entries. DualEntry automatically creates the offsetting intercompany receivable and payable balances on each entity’s books.Cross-company (intercompany) billing
Beyond intercompany journal entries, invoices and bills can carry line items assigned to a different company than the document header. When a line’s company differs from the header company, DualEntry treats it as a cross-company (intercompany) line. On posting, it automatically generates the matching entries on the counterparty entity, including intercompany receivable and payable balances (Due To / Due From), along with the corresponding elimination transactions, all linked back to the source record. This lets a shared-services or parent entity bill costs or revenue to another entity directly from a single invoice or bill, without hand-keying both sides. Payments follow the same model: cross-company vendor and customer payments post the intercompany accounting automatically, including any foreign-exchange gain or loss, which books to the entity that holds the original invoice or bill. The counterparty amounts post as intercompany AR/AP and elimination entries rather than as a separate standalone document; the source invoice or bill keeps its own document and PDF.Configuring eliminations
Intercompany balances have to be eliminated so they do not inflate consolidated figures. DualEntry does this with a dedicated elimination company rather than with rules evaluated at report time. You designate a company as an elimination company on its record under Configuration → Company → Companies. An elimination company sits beneath a parent alongside that parent’s trading subsidiaries and exists only to carry the offsetting entries. It cannot hold default AR or AP accounts, since it is not a trading entity. DualEntry blocks deactivating it while its parent still has active non-elimination children. This prevents you from removing the offsets while the balances they cancel are still live. Elimination entries are posted when the intercompany transaction is recorded, not generated at consolidation time. An intercompany journal entry or a billable expense billed across companies writes its elimination entry then and there, so a consolidated report is already net of eliminations because they are ordinary posted entries in the ledger. The practical consequence is that eliminations are auditable the same way any entry is: you can open them, see what produced them, and reconcile them. It also means a missing elimination is a posting problem to trace at the source transaction, not a rule to correct in a settings screen.Removing an entity from consolidation
When a subsidiary is dissolved, divested, or no longer managed, deactivate the company rather than deleting it. An inactive company is excluded from consolidated reporting, while all of its historical transactions, balances, and audit trail are preserved and remain drillable for prior periods. Deleting a company is only possible when no posted records reference it, so deactivation is the standard treatment once an entity has transaction history. Before deactivating, post final closing or transfer entries and run any eliminations for the entity’s last consolidated period.Consolidated reporting
You run any standard financial statement at the consolidated (parent) level. DualEntry aggregates each child entity’s data, applies the configured elimination entries, and presents the consolidated view. You can also run reports at any intermediate level in the hierarchy, consolidating a regional parent with its subsidiaries, for example, without rolling up to the global parent. The consolidation process is on-demand. You select the parent entity, the reporting period, and run the consolidation. Results are available immediately in the reporting module. Consolidated reports include a breakdown column that shows each entity’s contribution alongside the elimination entries, so you can trace how the consolidated totals are derived from the individual entity figures.Currency translation for consolidation
When child entities have different functional currencies than the parent, DualEntry translates their financials to the parent’s currency during consolidation. You configure translation rules per entity:- Current rate method. Balance sheet items translate at the period-end rate; income statement items translate at the average rate for the period.
- Temporal method. Monetary items translate at the period-end rate; non-monetary items translate at historical rates.

