The Settings page is organized around how owners think about their business, not around the database schema. Sections from top to bottom:
Branding
- Name, phone, website, email, address. Used on invoices, quotes, email templates, and the customer portal.
- Brand color. Drives accent colors on customer-facing surfaces. Pick a color that matches your trucks or existing logo.
- Logo URL. Shown at the top of every email, invoice PDF, and portal page.
Communication
- Default locale. Language for new clients where no per-client preference exists.
- Supported locales. Multi-select of all languages you support. Clients can only pick from this set.
- Timezone. Affects scheduled reports and when cron-based automations (e.g., 6pm daily digest) fire for your tenant.
Reviews
- Google review URL. 4- and 5-star reviewers are redirected here.
- Yelp review URL. Fallback if Google is unset.
If you leave both review URLs blank, 4-5 star reviewers land on a simple "thanks" page and their rating is stored privately for your records. Most shops set at least Google.
Notifications
A checkbox grid with one box per message template trigger. Toggles control whether the system fires that trigger at all. Checked = automation runs; unchecked = no message, ever.
Common patterns:
- Shops that prefer a phone call for collections turn off
invoice.reminder. - Shops testing a new "on the way" script temporarily turn off
visit.on_the_waywhile they edit the template. - Everything is on by default on a new tenant.
Seasonal
- Tag name. The client tag that marks "seasonal" clients. Default:
seasonal. - Active months. A 12-month checkbox grid. Tagged clients auto-pause in months you do NOT check.
See Seasonal auto-pause for how this works in detail.
AI
- Brand voice glossary. Free-text. Appended to every AI system prompt. Use it to teach Claude your tone. Examples: "We sign off as 'Jane.'", "Always refer to our company as 'Green Line', never 'the company.'"
- AI credit cap (monthly). Maximum AI calls per calendar month. Defaults per plan tier. When the cap is reached, AI calls short-circuit to fallback and log an audit row.
Changes are audit-logged
Every settings change writes a row to /audit-log with the before and after values and the user who changed it. See The audit log.
Supported locales must always include your default locale. If you try to remove the default from the supported set, the form prevents it. Change the default first, then remove the old one.