NetSuite for multi-entity operators.
The chart of accounts has been copied into a second QBO file. The intercompany spreadsheet sits next to the trial balance. The consolidated close takes a week, and the controller is the bottleneck. Below: a pattern-and-automation approach that turns multi-entity into a numbered flow, and the engagements (full implementations, SuiteFlow automation, post-go-live stabilization) it slots into.
Capability · chart of accounts
Chart of accounts as a pattern.
One chart-of-accounts pattern authored once, replicated across subsidiaries with controlled variation. Native classes, departments, and locations replace the parallel spreadsheet the controller is currently maintaining.
Step 01
One chart of accounts as a pattern
A single chart-of-accounts pattern is authored once — segmented by entity role, currency, and reporting group. Subsidiaries inherit the pattern with controlled variation; nothing is a copy of a spreadsheet.
Step 02
Native classes, departments, locations
NetSuite classes carry the operating unit, departments carry the cost center, locations carry the legal entity. The dimensional model is configured in the system, not maintained in an Excel tab next to the trial balance.
Step 03
Account-mapping matrix
Where legacy QBO or Xero files diverge, an account-mapping matrix translates source GL accounts into the consolidated chart. Cross-period audits stop reading line-by-line through half a dozen exports.
Authoring happens during the full-implementation engagement (engagement 01) — the matrix is a deliverable, not tribal knowledge. Auditors read it on day one of field work.
Capability · intercompany automation
Intercompany SuiteFlow automation.
The invoice → bill → intercompany JE cascade, the shared-service fee allocation, and the elimination ticket routing — all wired as SuiteFlow + SuiteScript, not maintained as a hand-reconciled schedule.
Step 01
Invoice → bill → intercompany JE
SuiteFlow watches the intercompany invoice post in the originating subsidiary and auto-generates the matching bill plus the intercompany JE in the receiving subsidiary. The JE carries the FX rate the contracted invoice locked at — not the rate trading on cash-receipt day.
Step 02
Shared-service allocation
A SuiteScript user-event allocates shared-service fees (legal, finance, IT) across the operating subsidiaries each month on the configured key. Costs land in the right P&L before the close, without a quarterly true-up spreadsheet.
Step 03
Elimination ticket routing
Every intercompany line routes to an elimination ticket with the originating and receiving entity pre-populated, the contract reference attached, and the elimination entry drafted. The controller approves by exception — there is no manual JE book at month-end.
Built as part of engagement 04 — SuiteFlow automation as a fixed-scope deliverable, with the SuiteScript user-event extensions in your repository rather than locked behind a partner login.
Capability · consolidation
Consolidated close. One tree, one close.
OneWorld consolidates the entity tree, eliminates the intercompany flows from the previous section, and hands the controller a saved-search-backed report pack — without a foreign-currency spreadsheet, without a parallel elimination schedule.
Step 01
OneWorld consolidation
OneWorld consolidates the entity tree with the elimination entries generated from the intercompany flow above. Currency translation runs on the configured rate type — period-average, month-end, or both. The consolidated trial balance closes in hours.
Step 02
Audit-ready report handoff
The controller hands the auditor a saved-search-backed report pack — TB, eliminations, FX translation, segment contribution, and a sales-by-entity view — rebuilt from the system every close. There is no parallel spreadsheet to keep aligned.
Step 03
Post-go-live stabilization
A thirty-day stabilization window catches the small intercompany leaks — late-posted service allocations, mis-mapped account numbers, FX-rate-edge cases — before they are part of an audit finding. Engagement 05 is scoped for that exact handoff.
What Boldbard delivers is the system the Big Four leaves behind at the end of an integration — the chart-of-accounts pattern, the intercompany automation, the consolidated close. Where a Big Four hands off an Excel artifact, Boldbard hands off a configured account and a versioned script.
Sample artifact
An intercompany flow, drawn before files are moved.
Below: the intercompany cascade for an agency group — a USD operating parent billing a Netherlands holding for shared services, with a UK operating subsidiary receiving an intercompany invoice downstream. Every hop is a SuiteFlow trigger; every box is a saved-search segment.
diagram · sample
intercompany flow · series B+ agency group
Parent · USD operating (Class: PARENT)
│
│ Bill shared services → INV 1001/EUR 28,000 (FX locked at contract signing)
▼
Netherlands holding · EUR (Class: HOLD-NL)
│
│ SuiteFlow trigger: intercompany-invoice-posted
│ → auto-create Bill 2001 in NL ledger
│ → intercompany JE in EUR at locked rate
│ → elimination ticket #ICR-0421 routed
│
│ Re-bill management fee split → INV 1002/GBP 6,000
▼
UK operating · GBP (Class: OPS-UK)
│
│ SuiteFlow trigger: intercompany-invoice-posted
│ → auto-create Bill 2002 in UK ledger
│ → intercompany JE in GBP at locked rate
│ → elimination ticket #ICR-0422 routed
│
▼
Consolidation · OneWorld
│
│ Period-end: currency-translation, elimination sweep
│ → Saved search · Consolidated TB by Class
│ → Saved search · Intercompany Eliminations Detail
│ → Saved search · FX rate ladder (locked vs period-avg vs month-end)Drawn during a scoping conversation for engagement 01, refined during the engagement 04 SuiteFlow build. The same diagram is the controller's mental model at month-end — and the saved-search artifact the auditor reads at field work.
Next step
Book a discovery call.
Send a four-field note — number of entities in scope, current ERP per entity, current close cadence, and the single biggest reporting gap — and we'll send a Calendly link back inside a minute. If there is a fit, the next step is a signed scope; if there isn't, we'll tell you that on the same call.