Groups collect entities. A Malta licence, a UK licence, an affiliate network as its own company, a holding company on top, a new brand that needed its own vehicle. Treasury has to see all of them at once, and it is usually the last team whose tools catch up.
Here is how to run it without a separate login for each.
One login, the right context
Each treasury user has one login and switches between the companies they are assigned to. Their role, data and screen change with the switch. Someone can be Admin in the holding company, Approver in Malta and Viewer in the UK. Notifications and approval queues are scoped to the entity they are in.
Above the entities sits the group view: balances by currency across the group, pending approvals and FX exposure, with one click into any single entity. Start the day here.
Hub and spokes
Each entity holds operating accounts per payout currency. The group holds one treasury hub account, usually at the holding company. Two things make this work:
- Intercompany transfers with approvals and a full audit trail, so funding a subsidiary is a governed action, not an ad hoc payment.
- Scheduled sweeps that move surplus above a ceiling into the hub, or top up below a floor.
Where a licence needs it, funds are ring-fenced per entity, including segregated player accounts, and kept out of the sweep.
Write policies once
Do not write approval rules, roles and sensitivity settings separately for every entity. Define templates for the group, then override only where a licence or local rule demands it. Malta might need a locally resident director as final approver; the override handles that, the template does not need to know.
Every action is logged with the user and the entity it was taken in, so audit separation holds even when the people overlap.
Two integrations worth doing early
- SSO and SCIM, so joiners, leavers and entity assignments come from your identity provider, not a spreadsheet.
- Accounting sync. API calls and webhooks carry entity identifiers, and the Xero, QuickBooks and NetSuite integrations map each account to the right ledger. Nobody tags transactions by hand.
The daily routine
- Group balances. Compare each currency's total with today's expected outflows.
- Exceptions. Drop into any entity with an unusual movement or alert.
- Rebalance. Fund shortfalls from the hub. Leave surpluses for the scheduled sweep unless they are large.
- FX. Convert against your threshold policy. Account-to-account FX holds a live rate for five minutes and settles straight into the destination account. Big trades go through approval.
- Approvals. Clear what is waiting on you in every entity you approve for.
The weekly routine
- Reconcile every entity through the accounting integration or an export.
- Check the intercompany ledger: every transfer has a reason and a matching entry on both sides.
- Look at the sweep schedule. If the hub keeps topping up the same entity, its floor is wrong.
- Read the approval log for rules that never fire or fire constantly, and adjust.
Adding an entity
Create it, assign users with the roles they need there, apply the template with any local override, open its currency accounts, add it to the sweep schedule, map it in accounting. That is an afternoon, and the same afternoon every time. Growth stops being a treasury project.



