Who can use this: Owner has full access. Manager and Accountant have read access on most pages and edit access on a curated subset (see below). Approver does not see settings. URL / Route:
/finance/settings(finance.settings.index). The settings area registers around 79 routes covering general settings, sequences, PDF templates, currencies, exchange rates, workflow, dimensions, custom fields, custom views, API access, and more. Plan / feature gate: the index is open to anyone withsettings.view. Each sub-section adds its own feature flag. Permissions:settings.view,settings.manage. Sub-sections add:settings.currencies.view/manage,settings.exchange_rates.view/manage,settings.sequences.view/manage,settings.pdf_templates.view/manage,settings.workflow.view/manage,settings.taxes.view/manage,custom_fields.manage,custom_views.view/manage_own/manage_shared,dimensions.view/manage/assign,workflow_rules.view/manage,api.view/manage_keys/view_usage.
Purpose
Settings is where you configure the boring-but-load-bearing parts of Solabooks: numbering sequences, PDF templates, multi-currency support, approval workflows, custom fields, dimensions for analytic reporting, and API keys. Most of these only need to be set once per organization.
The settings index at /finance/settings lists every section as a tile; the tiles a user sees are filtered by their permissions and the org's feature flags.
What lives here
General — /finance/settings/general (finance.settings.general)
Edit organization name, registration number, contact details, base currency, locale, decimal precision, and logo. Permission: settings.view to read, settings.manage to edit.
Plan & modules status — /finance/settings/plan-status (finance.settings.plan-status)
Shows your active plan, every feature flag with its current state, and any plan limits (e.g. max scheduled reports). Owner can toggle optional modules at finance.settings.plan-status.modules.toggle.
Precision and lock — /finance/settings/precision-lock (finance.settings.precision-lock)
Per-currency decimal precision and the global lock-date for posting. Permission: settings.view / settings.manage.
Account defaults — /finance/settings/account-defaults (finance.settings.account-defaults)
Default ledger accounts for: sales, sales returns, AR, AP, COGS, inventory, undeposited funds, exchange-rate gain/loss, rounding. These flow into new transactions to save you re-picking accounts every time.
Document sequences — /finance/settings/document-sequences (finance.settings.document-sequences)
The numbering rules for invoices, quotes, sales orders, credit notes, sales receipts, bills, bill payments, debit notes, expenses, journal entries, etc. Each row carries a prefix, padding, current next-number, and optionally a per-fiscal-year reset. Permission: settings.sequences.view / manage.
A second screen at /finance/sequences (finance.sequences.index) provides a deeper editor.
PDF templates — /finance/pdf-templates (finance.pdf-templates.*)
Feature flag: pdf_templates_enabled (default: enabled).
Manage the PDF templates that print on invoices, quotes, statements, journal entries, etc. Includes a gallery (finance.pdf-templates.gallery), live preview (preview and preview-html), apply-preset (apply-preset), duplicate, and set-default. Permissions: settings.pdf_templates.view / manage.
Currencies — /finance/currencies (finance.currencies.*)
Feature flag: multi_currency_enabled (default: off).
Manage the list of currencies your organization can transact in. Permissions: settings.currencies.view / manage. Exchange rates live alongside at finance.currencies.rates.index, rates.fetch (auto-fetch from a rate provider), rates.manual (record a rate by hand), rates.lookup. Permissions: settings.exchange_rates.view / manage.
Approval workflow — /finance/workflow (finance.workflow.*)
Feature flag: workflow_enabled (default: off). Plus tracker.sales_approval_workflow and tracker.purchase_approval_workflow for the sales/purchase variants.
Define the approval steps that a quote, invoice, bill, or payment must pass before it can post. Each step has a name, an approver, and an amount threshold. Permissions: settings.workflow.view / manage. Sales-specific rules sit at /finance/settings/sales/workflow (finance.settings.sales.workflow.*).
Workflow rules — /finance/admin/workflow-rules (workflow-rules.* and finance.admin.workflow-rules.*)
Feature flag: tracker.workflow_rules (default: off).
Define generic if-this-then-that rules: when a document matches a condition, perform an action (assign approver, send a notification, set a tag). Permissions: workflow_rules.view / manage.
Taxes — /finance/settings/taxes (finance.settings.taxes.index)
Feature flag: vat_enabled (default: enabled).
Cross-links to tax codes, tax rates, and the VAT regime. See Taxes and VAT. Permissions: settings.taxes.view / manage, plus the tax.* permissions on the underlying pages.
Tax codes — /finance/settings/tax-codes (finance.settings.tax-codes.*)
The tax code catalog. Permissions: tax.codes.view / tax.codes.manage.
Dimensions — /finance/settings/dimensions (finance.settings.dimensions.*)
Feature flag: tracker.reporting_tags_dimensions (default: off).
Dimensions are analytic tags on transactions — typical examples: Department, Cost Centre, Project, Region. Each dimension has values you can pick on transaction lines. Permissions: dimensions.view / manage. Per-dimension requirements (e.g. "every line on an invoice must carry a Department tag") use dimensions.manage.
Custom fields — /finance/settings/custom-fields (finance.settings.custom-fields.*)
Feature flag: tracker.custom_fields (default: off).
Add bespoke fields to invoices, bills, customers, suppliers, items, etc. Each field has a type (text, number, date, dropdown), required-flag, and order. Permissions: custom_fields.manage (a single permission for all custom-field operations).
Custom views — /finance/settings/custom-views (finance.settings.custom-views.*) and /finance/custom-views/{entity_type} (finance.custom-views.*)
Feature flag: tracker.custom_views (default: off).
Save a list-screen filter as a named view (for example, "All overdue invoices") and pin it to the toolbar. Permissions: custom_views.view, custom_views.manage_own, custom_views.manage_shared.
API access — /finance/settings/api-access (finance.settings.api-access.*)
Feature flag: tracker.api_integration (default: off). Org-level toggle: finance_api_enabled.
Manage API keys for the external /api/v1/* integration surface. Permissions: api.view, api.manage_keys, api.view_usage.
Mileage settings — /finance/settings/mileage (finance.settings.mileage.*)
Feature flag: tracker.track_mileage_expenses (default: off).
Default rate per kilometre, default expense account, and default tax behaviour for mileage logs. Permission: mileage.manage_all.
Sales workflow — /finance/settings/sales/workflow (finance.settings.sales.workflow.*)
Feature flags: workflow_enabled and tracker.sales_approval_workflow. Permissions: settings.view to read; settings.manage to edit.
Comments and collaboration
⚠️ Risk: feature key
tracker.comments_on_transactionsis referenced as an entitlement but is not declared infinance_features.phpfor the org-level features map — may always block.
Per-document comment threads exist app-wide; they don't have a settings page of their own. Permissions: comments.view, comments.create, comments.manage_all, comments.pin. The "Internal Solabooks Comments" thread (finance.comments.* routes) is the append-only audit-style log.
Organization permissions and feature flags (Owner-only)
Three Owner-only screens let an organization Owner override role permissions per role and per user, and toggle organization-level feature flags:
/finance/settings/organizations/{organization}/features(finance.settings.organizations.features.index) — toggle org feature flags. Permission middleware:finance.owner./finance/settings/organizations/{organization}/permissions/roles(finance.settings.organizations.permissions.roles) — per-role overrides on top of the canonical role-permission sets./finance/settings/organizations/{organization}/permissions/usersand…/users/{user}(…permissions.users,…users.edit) — per-user grants and denials.
These are the only places a built-in role's permissions can be customised; the four canonical role keys (Owner, Manager, Accountant, Approver) are otherwise immutable.
Behaviour and rules
- Most settings sub-sections require the matching feature flag to be on. If a tile is missing from the index, check Plan & modules status.
- Currency and decimal-precision changes are forward-only — switching base currency after transactions exist is not allowed in this build.
- Sequence numbers are guaranteed unique per fiscal year if "reset per year" is enabled; otherwise globally unique.
- Custom fields and dimensions become live at save-time and apply to new transactions only — historical postings are unchanged.
- Owner-only override screens are powerful — granting too many permissions to a junior role can defeat the deny-list defaults of the Manager / Accountant roles.
Permissions / restrictions
- View:
settings.view. - Edit:
settings.manageplus the section-specific permissions listed above. - Owner-only sub-sections: organization feature flags, role overrides, user overrides, plan-status module toggles.
Related
- Setup wizard — the one-time initial configuration.
- Taxes and VAT, Multi-currency — tax codes / rates and currency setup.
- PDF templates — design the printed documents.
- Workflow & approvals — approval rules.
- Dimensions & custom fields — analytic tagging.
- Pricing & price lists — price lists, customer-group rules, pricing rules.
- Fiscal years and lock dates — period config.
- Banking — bank rules live in Settings.
- Customers, Suppliers, Products & Services — where dimensions, custom fields, and pricing rules apply.
- Reports — where dimensions and custom fields show up in analysis.
- Customer portal — uses the active PDF template.