Company settings

The company record, its feature toggles, base currency, logos, and tags — the company-wide configuration every module reads from.

Carbon scopes data and configuration to a company. The company record stores identity, address, currency, and logos. Its paired companySettings record stores feature flags and defaults. The app groups settings under Company, Modules, and System. Settings routes require employee access. Billing also requires company ownership in Carbon Cloud; Companies and Backups are internal-only.

The company record

Edited under Settings → Company:

The tenant's identity — one record every document and posting reads from.
FieldType
Company name.
The registered address. addressLine1, city, postalCode, and countryCode are required.
The currency every posted amount is expressed in. See base currency.
Contact details.
Tax registration identifiers printed on documents.
The five logo slots, edited under Settings → Logos: light/dark pairs for UI backgrounds, compact icon variants, and a watermark printed behind documents.
Set when this company is a subsidiary of another.
Marks a consolidation-only company that nets intercompany pairs out of consolidated reports.
Groups related companies for the company switcher.
Which modules this company turned on during onboarding.
The industry chosen at onboarding.
Whether change history is recorded. See audit log.

A user can belong to multiple companies and switch between them with the company picker. Each company has independent settings, currency, and numbering. A company with a parentCompanyId is a subsidiary; see intercompany accounting for consolidation and elimination.

Feature toggles and defaults

companySettings is a single row per company, edited across the Settings → Modules pages. These are the real column names:

FieldType
The first day the company keeps its books in Carbon. Empty until accounting is set up: every posting then writes a Provisional journal that no report counts. Set once by the accounting setup, with accountingActivatedAt and accountingActivatedBy, and never changed after.
Retired. The column still exists, but nothing reads it.
Turns on shop-floor time cards.
Enables MES console (shared-station) mode, where operators pin in with a 4-digit PIN. Business plan; toggled from Settings → People by someone with settings_update, and only through that screen — the API refuses a direct write to this column. See console mode.
Everyone needs an authenticator app to open this company. Edited from Settings → System → Security; locked on in controlled (ITAR) deployments. See two-factor authentication.
Whether material units default to metric.
Whether new materials get an auto-generated readable id.
The release-control policy for item revisions.
Strict backflush: each material is backflushed only from the storage unit on its line. Default off. Edited from Settings → Items. See strict backflush.
With strict backflush on, stops an operation or job that would take its storage unit below zero. Default on. Edited from Settings → Items.
What a Kanban card prints: label, qrcode, or url.
Default label sizes.
The time of day scheduled MRP runs, on the company's time zone. Empty keeps the default, every 3 hours. Edited from Settings → Planning. See planning.
How many days ahead the planning grids show actions and suggested orders, unless an item sets its own. Empty or 0 shows everything. Edited from Settings → Planning. See planning horizon.
How many days an open order may land from the date it is needed before MRP suggests an Expedite or Defer. Default 7. Edited from Settings → Planning. See reschedule tolerance.
The person a planning action is assigned to when no item, item group or location names one. Edited from Settings → Planning. See planning ownership.
How many weeks before and after its own week a real order reaches to consume forecast (defaults 4 and 1). Edited from Settings → Planning. See forecast consumption.
Whether receiving recalculates supplier lead times.
When purchase prices refresh: Purchase Invoice Post or Purchase Order Finalize.
Whether preventive maintenance is generated ahead of time, and by how many days (1–90).
The default inspection sampling standard.
Requires a second person to sign off inspections.
The quality issue target used in reporting.
Whether a separate tax-depreciation schedule is tracked for fixed assets, and its rate.
Whether customer/supplier readable ids are surfaced in the UI.
Every shelf-life knob in one blob. See shelf life.
Whether customers get a digital quote, and whether it includes purchase orders.
Per-category default markups applied to quote lines.

The row also stores notification groups, AP and AR email addresses, and default CC lists. See notifications for delivery behavior.

HEADS UP

Accounting has no on/off switch

Every company posts journals for every receipt, shipment, invoice, payment and job. Before accounting is set up they are Provisional and count nowhere. Setting up accounting is one-way: Settings → Accounting shows "Accounting since" the cutover date, or a Set up accounting button. See setting up accounting.

After accounting is set up, Settings → Accounting can also show a warning: documents posted before Carbon kept journals that have no journal. These are posted documents dated on or after the cutover. Press Write missing journals to write and post their journals with today's account defaults and item costs. The button needs permission to update settings and to update accounting.

Base currency

Each company has one baseCurrencyCode. Carbon converts foreign-currency transactions at their exchange rate and stores posted amounts in the base currency. The value is chosen during onboarding and denominates the company's posting history. After accounting is set up, a database trigger refuses any change to it. A subsidiary can use a different base currency from its parent; consolidation handles the conversion.

Theme and tags

Carbon includes eight color themes: Modern, Brutal, Cherry, Apricot, Lemon, Mint, Blueberry, and Lavender. Theme selection is per user and stored in a browser cookie. Document templates have a separate theme setting. Tags are free-form labels scoped by company and table, so item and job tags have independent vocabularies.