What must always be true
These rules can never be violated — a branch can never exist in a state that breaks one of them.A branch belongs to exactly one workspace
Every branch is owned by a single workspace, and it is only visible and editable inside that workspace. You can never see or change a branch that belongs to a different workspace.
A branch name is unique within its workspace
Two branches in the same workspace cannot share a name. The same name is fine in a different workspace.
A branch always has a name
The name is required and must be at least one character.
A branch always has one set of settings
Every branch has exactly one linked set of branch settings — its pricing constants, proposal copy, timezone, and the rest. The branch and its settings are created together, and the link between them is never re-pointed.
A branch always has a color
The color is one of a fixed palette (Accent, Info, Bronze, Success, Warning, Error, Teal, Neutral). When you create a branch without choosing a color, the next color in the workspace’s rotation is assigned automatically (Accent, then Info, then Bronze, wrapping around).
A branch has a valid timezone
The timezone is one of Pacific, Mountain, Central, or Eastern. It drives how dashboard periods (day, week, month) are bucketed for the branch.
Multiplier ranges fully cover pricing from $0 upward
The multiplier ranges attached to a branch must cover every job cost with no gaps and no overlaps. The set must contain at least one range, start at $0, include a range with no upper limit, leave no uncovered band, and never have two ranges overlap. Without full coverage, a proposal whose cost falls in an uncovered band cannot be priced. See Multiplier range overlap for the full coverage rules.
Ranges and work areas belong to the same workspace
Every multiplier range and work area attached to a branch must belong to the branch’s own workspace. A branch can never reference another workspace’s pricing ranges or work areas.
Max open estimates is a whole number from 1 to 100,000
This caps how many open estimates one salesperson may hold in the branch. It must be a whole number, at least 1 and no more than 100,000.
What a new branch sets up automatically
Creating a branch also seeds default supporting data so the branch is usable right away:- Default payment methods — Financing, Cash, Credit Card, and Check, all enabled.
- Default financing terms — “0% for 12 Months”, “8.99% for 5 years”, and “8.99% for 10 years”.
- A task type — if the workspace has no task types yet, a default “Task” type is created and linked.
- Default proposal copy — disclaimer, payment terms, insurance-claims text, and terms-and-conditions text, plus a default proposal email subject and body.
What a save can change
Editing a branch submits the full settings form and rewrites the branch and its settings together:- Name — editable, still subject to the per-workspace uniqueness rule.
- Color — editable. A save that leaves color untouched keeps the existing color.
- Timezone, payroll id, and every pricing and proposal base constant — editable.
- Working hours and the minimum time between appointments — editable. Each day of the week can be turned on or off with its own start and end time. For any day that is turned on, the end time must be later than the start time; the minimum time between appointments, when set, must be a whole number of minutes and cannot be negative.
- Multiplier ranges and work areas — fully replaced on each save, and re-checked for workspace ownership, overlap, and full coverage.
- Address — editable. When the address changes, the branch’s map coordinates are looked up again. If that lookup fails, the existing coordinates are kept rather than cleared. See Geocoding and ZIP.
What a save cannot change
A branch's workspace cannot be reassigned
Ordinary users can never move a branch to a different workspace. Saving the settings form never changes which workspace a branch belongs to.
The settings link is never re-pointed
A save always rewrites the branch’s existing settings in place. It never swaps a branch onto a different set of settings.
Task types are left alone on save
Task types are seeded when the branch is created and are not touched by the branch settings form. Per-branch task-type assignment is managed elsewhere.
Errors you may see
When a rule is broken, the create or save action returns one of these messages.
The numeric base constants also carry their own messages, such as “Base hourly rate must be greater than 0”, “Max discount must be between 0 and 100”, and “Average work day hours must be at least 1”.
Who can read and write
For the full breakdown of what each role can do, see the Permissions roles matrix.Reading a branch
Admins and the operational roles that need branch context can read a branch. Reads are always scoped to your active workspace.
Creating and editing a branch
Creating and editing a branch is gated on workspace-settings access — Admins by default. It also turns off when the workspace-settings feature is unavailable for the workspace.
Per-branch access for members
A member who is not an admin can only act on branches they belong to. Acting on an invalid branch returns “Invalid branch.” Acting on a branch you don’t belong to returns “You do not have access to this branch”.