Set up branches
A branch is a location or division of your shop — its own techs, its own customers, its own view of the numbers. A single-location shop never needs this: branch pickers and branch fields stay hidden everywhere in the app until a second branch exists. The moment you add one, Thermal starts scoping data and defaults by branch, and branch fields appear on staff, customers, and reports.
Create a branch
Open Settings → Branches and choose New branch.
- Branch name — required (e.g. "Tulsa").
- Code — a short dispatch/reporting code (e.g.
TUL). Optional but worth setting for any shop that reports across branches. - Timezone — leave it on Inherit org timezone unless this location is genuinely in a different one.
- Country, Address line 1 / 2, City, State / province, Postal code — the branch's physical address.
- Set as default branch — check this if new records with no branch chosen should land here. Exactly one branch is always the default; the first branch you create becomes it automatically.
Choose Create branch. A shop can have as many branches as it needs — create the rest the same way.
Managing branches
Each branch is a card in the list. Edit changes any of the fields above in place. Set default moves the default flag to that branch (only one branch holds it at a time). Archive hides a branch from every branch picker in the app without deleting its history — an archived branch stays listed here, badged Archived, with a Restore action to bring it back.
Branch defaults
Open a branch card's Defaults section to override org-wide settings for that branch alone. Every field is independent, and anything left blank falls back to the org's value from Settings (see Set up your shop and Set your pricing and business rules):
- Scheduling — default job duration, and the policy for assigning a tech with no scheduled time.
- Business hours — this branch's own opening/closing hours.
- Automation — this branch's quiet-hours window, and a ceiling on each automation module's level (Smart scheduling, PM auto-generation, PM route optimization, AR collections, quote follow-up, agreement renewal, equipment health watch, KPI watch, upsell suggestions). A branch can only narrow below the org's level for a module, never raise it above.
- Not-to-exceed (T&M) — warn threshold and enforcement, set independently of the org default.
- Invoicing — a branch-specific tax rate.
- Price Book — margin floor and Member/Commercial tier deltas for this branch. Rounding strategy stays org-wide and can't be overridden per branch.
This is how a multi-branch shop runs one price book and one set of automation rules org-wide, but still lets an individual location run a tighter (never looser) version where its market or manager needs it.
What branch scoping controls
Once a shop has more than one branch, every role gets a default view:
- Technician defaults to seeing only their home branch's work.
- Owner, Dispatcher, and Office all default to seeing every branch — dispatching, invoicing, and reporting across the whole shop is normal for those roles.
A technician's home branch is set when they're added to Staff — see Manage staff and roles. It's the only place a staff member's branch is assigned; there's no separate branch-transfer step, just editing their record.
Anyone can also override their own default view from Settings: the Account section shows a Branch view toggle — All branches or home branch only — that only they control, for their own sign-in. It's invisible on a single-branch shop, and it's how, for example, an owner who normally sees everything can narrow their own view to one location, or a technician who needs to see across branches can widen theirs. If nobody has set an override, the role default above applies.
Reference
- Default branch visibility by role — generated from the same resolver the app enforces — is in Roles & permissions.
- Who can reach Branches — Owners and Office users. See the same reference for the full matrix.