Multi-branch operations
What field service software works for 100+ technicians across multiple branches?
One that keeps each branch's dispatch, people and money separate where they must be, and adds them up where leadership needs it: a board per branch, permissions that limit each dispatcher and manager to their own region, technicians who can be shared across branches, per-company numbering and accounting where branches are separate legal entities, and one rollup report. At this size the shortlist is usually ServiceTitan (business units, and Enterprise Hub for several tenants), Salesforce Field Service or Dynamics 365 Field Service (territories and org units on a CRM platform), IFS for asset-heavy enterprises, BuildOps for commercial contractors, and configurable platforms such as Fieldproxy. The right pick depends less on technician count than on how different your branches are from each other.
- Decide first: are branches divisions of one company, separate legal companies, or a mix? The setup differs.
- Each dispatcher should see their own branch's board by default, with cross-branch lending one click away.
- Permissions must limit data by branch or region, not just by role.
- One rollup report across branches, without exporting each branch to a spreadsheet.
- Ask how the vendor handles branches you acquire next year, with their own price book and accounting file.
If every branch runs the same residential playbook, most large FSM vendors will do. This page is for groups whose branches differ: acquired brands, commercial and residential mixed, or sister companies sharing technicians.
Facts checked as of November 2026. Sources at the end of the page.
Step by step
How a multi-branch setup works, step by step
Vendors name the pieces differently (business units, territories, organizational units, companies), but the structure underneath is the same.
1. Model the branch structure before anything else
Each branch is either a division of one legal company (one tax registration, one set of books) or its own company (own name on invoices, own numbering, own accounting file). ServiceTitan models divisions as business units, created under Settings, Operations, Business Units, each with an official customer-facing name, license number, trade and division. Dynamics 365 Field Service separates organizational units (who is responsible for the work, used to control access) from territories (where the work happens).
2. Route incoming work to the right branch automatically
A call, email or portal request lands on the branch that covers the site. ServiceTitan does this with zones made of ZIP codes or cities, including wildcards such as 912* for every ZIP starting with 912. Salesforce Field Service uses service territories, each tied to one time zone and its own operating hours.
3. Give each dispatcher a board for their branch
A dispatcher with 30 technicians cannot work a board of 150. Microsoft's own guidance for the Dynamics 365 schedule board is to show no more than 25 to 50 resources at once and to create separate board tabs for different teams or territories.
4. Lock data down by branch, not just by role
A branch manager sees their own jobs, margins and technicians; the regional director sees several branches; finance sees all. Field roles see only what they need. This is the permission question buyers at this size ask most, usually phrased as 'can users only see certain trades or regions?'
5. Keep money per branch or per company
Price books, labor rates, quote and invoice numbering, and the accounting file or class each branch posts to. Groups built by acquisition usually need per-company settings for at least a transition period, because each acquired brand arrives with its own price list and its own books.
6. Share technicians and stock across branches
Specialists (a controls engineer, a high-voltage tech) cover several branches. The system should let one branch book another's technician while the labor cost lands on the branch that bills the job, and show stock by warehouse or van so a part can be pulled from the next branch over.
7. Roll everything up for leadership
Revenue, margin, first-time fix, overdue work and SLA performance per branch, side by side, from live data. If the rollup needs an analyst exporting each branch to Excel every Monday, the structure is wrong.
Where it breaks
Why multi-branch rollouts go wrong
These are the failure modes buyers described on our sales calls, from a pest control roll-up with several hundred technicians, commercial facility maintenance, renewable energy O&M across 16-17 sites, an equipment maker with regional service teams, and a commercial HVAC group with sister companies.
Every acquired brand still runs its own system
Roll-ups often end up with three or four FSM tools at once, each with its own customer list and integrations. The heavy integration burden falls on the buyer's own team, and nobody can report across the group without exports.
One shared board for everyone
Without per-branch boards, dispatchers scroll past other branches' technicians all day, and jobs get booked on someone 200 miles away. Microsoft's troubleshooting guide lists board filters that exclude a resource's territory, or two filters with no resources in common, as reasons technicians vanish from a Dynamics 365 board, so territory setup has to be right before go-live.
Permissions by role only
A role called Dispatcher that sees every branch's customers and prices is a problem when branches compete for bonuses or when one is a separate legal company. An equipment maker we spoke to needed tickets segregated by region, with customer and engineer names hidden from other regions.
Changing the branch structure on a live account
Restructuring branches after go-live is risky. ServiceTitan's own best-practice guide for business units says to test the setup in a sandbox first, then make the change in the live account after hours with a contingency plan for on-call technicians, because setup changes can interrupt jobs.
Branches that should have been separate tenants (or the reverse)
Splitting into several accounts keeps branches clean but makes group reporting and shared customers hard; ServiceTitan built Enterprise Hub for groups running two or more tenants, with central configuration and shared templates. Merging everything into one account is simpler to report on but harder when companies keep separate books.
No audit trail
With 100+ users, 'who moved this job?' comes up weekly. Several buyers asked us specifically whether the activity log records when a job is moved or deleted, after their current tool could not answer it.
The options
How the main vendors handle branches
| Vendor | How branches are modeled | Good fit | Watch for |
|---|---|---|---|
| ServiceTitan | Business units inside one tenant; zones route by ZIP; Enterprise Hub links two or more tenants | Residential and light commercial HVAC, plumbing, electrical groups | Enterprise Hub is requested through your Customer Success Manager; check pricing with ServiceTitan |
| Salesforce Field Service | Service territories with their own operating hours, one time zone each | Groups already running Salesforce for sales and service | Usually needs a Salesforce partner to implement and maintain |
| Dynamics 365 Field Service | Organizational units for responsibility and access; territories for where work happens | Microsoft-stack enterprises | Territory filters are not hierarchy-aware without customizing the board |
| IFS Cloud | Sites and maintenance organizations in an ERP-grade suite | Asset-heavy enterprises with ERP, service and EAM in one | Long implementations; confirm multi-company setup with IFS directly |
| BuildOps | Says it supports parent/child accounts, multi-branch dispatching and cross-location reporting | Commercial mechanical, electrical and plumbing contractors | Priced per user per month |
| Fieldproxy | Branches as business units or as separate companies in one account, with per-company branding, numbering, price books and accounting file | Groups whose branches run different processes, or that keep adding acquired brands | Smaller vendor than the others; ask for a reference at your scale |
As of November 2026, from each vendor's own documentation (sources below). Vendors change packaging often; confirm the module and plan you would need in writing.
Worked example
A worked example: 130 technicians, 4 branches, 2 companies
Say a commercial HVAC and plumbing group has four branches. Two are the original company; two were acquired and still file their own accounts. Made-up numbers to show the structure, not results.
| Branch | Technicians | Legal entity | What it keeps separate | What it shares |
|---|---|---|---|---|
| North (HQ) | 45 | Company A | Board, price book | Customers, specialists, reporting |
| South | 35 | Company A | Board, price book | Customers, specialists, reporting |
| Coastal (acquired 2025) | 30 | Company B | Board, price book, invoice numbering, accounting file, logo on documents | Specialists, reporting |
| Inland (acquired 2026) | 20 | Company C | Board, price book, invoice numbering, accounting file, logo on documents | Specialists, reporting |
Four boards of 20 to 45 technicians each stay inside Microsoft's suggested 25 to 50 per board view. One rollup report shows all four side by side.
On a Tuesday, a Coastal customer calls with a chiller fault. Coastal's two controls technicians are booked, so the Coastal dispatcher borrows one from North for the afternoon. The job stays a Company B job: the quote uses Coastal's price book, the invoice carries Company B's number and logo and posts to Company B's accounting file. The North technician's hours show on the job, so the group report can show labor lent between branches.
On Monday, leadership opens one report: revenue, margin, open jobs past due, and SLA breaches per branch for last week. Nobody exported anything. When the group buys a fifth branch next year, it is added as a new company with its own price book, rather than a fifth system.
Before you buy
What to check before you buy
Good signs
- The vendor asks how your branches differ before showing a demo.
- You can see a board filtered to one branch, then book a technician from another branch on it.
- A user can be limited to their branch's jobs, customers and prices, and you can see that in the demo by logging in as them.
- Per-company numbering, branding, price books and accounting file, if any branch is a separate legal entity.
- One report across branches from live data, without an export.
- An audit log that shows who moved, changed or deleted a job.
- A written plan for adding the next acquired branch.
Red flags
- The answer to 'can a manager see only their branch?' is a custom development project.
- Group reporting means exporting each branch or tenant into a BI tool.
- Every branch must adopt one price book and one process on day one.
- The implementation estimate assumes one branch and multiplies.
- No customer reference at a comparable number of technicians and branches.
In Fieldproxy
Setting it up in Fieldproxy
Fieldproxy is set up around how each company already works, by the Fieldproxy team, and is live within a day; migration from your current systems is free and assisted. For a multi-branch group the setup looks like this.
Branches and companies
Divisions of one company are business units set on the job type; separate legal companies are set up as companies in the same account, each with its own branding, quote, job and invoice numbering, price book and accounting file. You can mix both. See /solutions/multi-company-field-service.
Permissions by branch
Role-based permissions per table, with audit logs. A dispatcher or branch manager is limited to their branch's records (e.g. a branch field on jobs, customers and technicians that the role filters on), and record history shows who changed which field, from what to what.
A board per branch, with lending
Each dispatcher opens the board for their branch (e.g. a saved branch filter). The Dispatch agent (/agents/dispatch-agent) suggests the right technician by distance, skills and certifications, inventory and cost, and can be set to look across branches when the home branch has nobody free (e.g. for specialists only).
Overdue work and SLAs per branch
The Watcher agent (/agents/watcher-agent) flags overdue and missed visits and SLA risk, and the Scheduler agent (/agents/scheduler-agent) emails each branch manager their own daily list and leadership the weekly rollup (e.g. revenue, open jobs past due and SLA breaches by branch).
Accounting and ERP
Two-way sync with QuickBooks Online, Desktop and Enterprise, Xero and Sage, with each company mapped to its own file or class; NetSuite and SAP integrations turn orders into jobs and send completed work back. Help desk tickets from ServiceNow, Zendesk or Freshservice can become jobs at the branch that covers the site.
Languages and AI access
27 languages, chosen per person, for branches in different countries. Leadership can ask questions across branches from Claude or ChatGPT through the MCP server (/mcp), limited by the same permissions as the app.
Pricing
One price per company with unlimited users, so adding a branch's office staff and technicians does not add seats. See /pricing.
How switching works
How switching to Fieldproxy works
We move your data over and set the system up to the way you already work. Fieldproxy replaces the old tool; it does not run alongside it.
Map your branches
Tell us each branch, whether it is a division or a separate company, what it keeps separate (price book, numbering, books) and what it shares (customers, specialists).We build it on your real structure
Companies, business units, roles and boards are set up from your documents, so the demo shows your branches, not a sample company.Log in as a branch manager
In the demo, sign in as a branch user and check they see only their branch, then lend a technician across branches and run the group report.Move branches over
Customers, sites, equipment, open jobs and contracts come across from each branch's current system. Branches can go live one at a time or together.
FAQ
Questions people ask
- Can a field service platform handle 400-500 technicians?
- Several can. Technician count is rarely the limit; board size, permissions and reporting across branches are. Ask for a reference at your scale and test a board with one branch's real technicians.
- Should each branch have its own account or one shared account?
- One account with business units or companies is simpler to report on and lets branches share customers and technicians. Separate accounts suit branches that share nothing; ServiceTitan's Enterprise Hub exists for groups that already run two or more tenants.
- Can users only see certain trades or regions?
- They should be able to. Ask the vendor to show a user limited by region or branch, not just by role, and log in as that user during the demo.
- How do we handle a branch we acquire next year?
- Add it as a new company or business unit with its own price book and, if needed, its own accounting file, then migrate its data from its current tool. Avoid platforms where adding a branch means a new implementation project.
- Can technicians work for more than one branch?
- Yes, if the system books shared technicians across branch boards and keeps each job's labor with the branch or company that bills it.
- Does it track who moved or deleted a job?
- Ask to see the audit log in the demo. In Fieldproxy, record history shows who changed which field and deleted records go to a recycle bin that can be restored.
- How long does a multi-branch rollout take?
- Published timelines run from weeks to months for the large platforms; see /field-service-software-implementation for vendor-by-vendor figures. Fieldproxy is live within a day per branch, with the setup and migration done for you.
Sources
Competitor details on this page come from the vendors' own pages and documentation, checked as of November 2026. Plans and prices change, so check the vendor's current page before you decide.
- ServiceTitan Help: add and edit business units: https://help.servicetitan.com/docs/add-and-edit-business-units
- ServiceTitan Help: best practices for managing business units: https://help.servicetitan.com/docs/best-practices-for-managing-business-units
- ServiceTitan Help: set up and use zones: https://help.servicetitan.com/how-to/zones
- ServiceTitan Help: manage tenants in Enterprise Hub: https://help.servicetitan.com/how-to/manage-tenants-in-enterprise-hub
- ServiceTitan blog: Enterprise Hub: https://www.servicetitan.com/blog/enterprise-hub
- Salesforce Help: set up service territories, operating hours and shifts: https://help.salesforce.com/s/articleView?id=sf.fs_set_up_territories_oh.htm&language=en_US&type=5
- Microsoft Learn: service territories in Dynamics 365 Field Service: https://learn.microsoft.com/en-us/dynamics365/field-service/set-up-territories
- Microsoft Learn: troubleshoot schedule board latency: https://learn.microsoft.com/en-us/troubleshoot/dynamics-365/field-service/scheduling/schedule-board-performance
- Microsoft Learn: resources missing from the schedule board: https://learn.microsoft.com/en-us/troubleshoot/dynamics-365/field-service/scheduling/schedule-board-missing-resources
- Microsoft Learn: filter the schedule board by territory hierarchy: https://learn.microsoft.com/en-us/dynamics365/common-scheduler/developer/territory-hierarchies
- IFS: service industry software: https://www.ifs.com/en/industries/service
- BuildOps: for owners (multi-location FAQ): https://buildops.com/department/owners
- BuildOps: enterprise: https://buildops.com/enterprise
Related
Keep reading
- Two business units, one account, multi-location invoicing
- Enterprise field service software evaluation checklist
- Replacing several field service tools with one system
- How long field service software takes to implement
- What is the best field service software for a 5-10 person HVAC team?
- Cheaper ServiceTitan alternatives for small plumbing and HVAC companies, without payment processor lock-in