Custom fields
Company-defined extra fields that attach to core records like customers, parts, and orders.
Carbon ships a fixed schema for every entity, but your process almost always needs one more field: a customer's "PPAP level", a part's "RoHS status", a job's internal "line number". let each company add its own fields to a core record without a schema change. Define one under Settings → Custom Fields and every record of that entity shows it on its form, saves it alongside the built-in fields, and exposes it through the API.
Defining a field
The nine data types each render a specific input: Boolean (toggle), Date (date picker), List (dropdown of your options), Numeric, Text, File, and three reference types (User, Customer, and Supplier) that store a pointer to an existing Carbon record rather than free text.
The data type is permanent
Existing values are stored as-is, so Carbon locks the type after creation. Picked Text and need Numeric? Create a new field and migrate the values; there is no in-place conversion.
Which entities support custom fields
The catalog is curated, not universal — the settings page lists one row per eligible entity with its module and field count. Coverage spans most modules: Sales (customer, sales order, sales invoice, RFQ, their contacts and lines), Purchasing (supplier, purchase invoice, supplier quote, RFQ lines), Items (part, tool, material, consumable, costing/planning records; see items), Resources (employee job, work center, equipment, department, location), Inventory (shipment, warehouse transfer, picking list), Production (job), and Accounting (account, payment term, journal). An entity not listed on the settings page isn't supported yet.
How values save, and where they reach
Custom inputs render below the built-in fields on the record's form and save into a single customFields JSON column that every core table carries — no schema change per field. That column is exposed on the API like any other: readable and filterable on the entity's endpoint, with the caveat that its keys are field IDs, not display names, so pair an API read with the definitions from the settings catalog.
CSV import and export skip custom fields
The CSV flows map built-in fields only; neither import nor the table download touches the customFields column. Populate custom fields on the form or through the API; see import and export for what CSV does cover.