Add your own fields to master data records and transaction forms — without changing the core schema. Custom fields store any extra information your business needs: HS codes, contract references, equipment serial numbers, or region classifications.
| Concept | Description |
|---|---|
| Definition | A field blueprint — name, data type, where it appears, and its behaviour |
| Placement | Which entity forms the field appears on (e.g. Party, Item, Sales Invoice) |
| Value | The actual data entered per record — stored securely inside each entity |
Custom field values survive definition changes and deletions. Deleting a definition removes the field from forms but does not erase stored values.
Go to Administration → Custom Fields.
The page groups existing fields by entity type. Use the filter dropdown at the top to narrow the list to a specific entity.
| Field | Description |
|---|---|
| Name | Label shown on the form |
| Data Type | The type of input rendered (see below) |
| Size | How wide the field appears in the form grid |
| Placements | Which entity forms this field appears on — one field can cover multiple entities |
| Display Order | Numeric sort position within its placement; lower numbers appear first |
| Description | Optional help text shown below the input |
| List Options | One option per line — only for the List (dropdown) type |
Click the pencil icon to edit, or the trash icon to delete. Deleting a definition removes the field from all forms but leaves stored values untouched in the database.
Use the ↑ / ↓ arrows on each card to change display order, or set Display Order directly in the edit dialog. Fields with lower numbers appear first on the form.
| Type | Input rendered | Stored as |
|---|---|---|
| Single Line | Text field (one line) | String |
| Paragraph | Text area (multi-line) | String |
| Number | Numeric field | Decimal |
| Date | Date picker | Date |
| Yes / No | Checkbox | Boolean |
| List | Dropdown (fixed options you define) | String |
Controls how wide the field appears in the form grid.
| Size | Mobile | Tablet | Desktop |
|---|---|---|---|
| Small | Full width | 4 / 12 columns | 3 / 12 columns |
| Medium (default) | Full width | 6 / 12 columns | 4 / 12 columns |
| Large | Full width | Full width | 8 / 12 columns |
A single field definition can appear on multiple entity types simultaneously. Available placements:
Master Data — Party, Item, Chart of Accounts, Location, Salesman, Tax Category, Tax Rate, WHT Config, Unit, Item Category, Price Level, Project, Currency, Bill of Materials
Transaction Headers — Sales Invoice, Credit Note, Purchase Invoice, Debit Note, Sales Order, Purchase Order, Delivery Note, Receipt Note, Payment, Receipt, Journal Entry, Contra Entry, Inventory Adjustment, Inventory Transfer, Manufacturing, Stock Opname
Transaction Lines — Sales Invoice Line, Credit Note Line, Purchase Invoice Line, Debit Note Line, Sales Order Line, Purchase Order Line, Delivery Note Line, Receipt Note Line, Inventory Adjustment Line, Manufacturing Line, Stock Opname Line
| Option | Description |
|---|---|
| Required | The form cannot be saved without a value in this field. Mutually exclusive with Locked. |
| Show on printed documents | The field and its value appear on PDFs and printed previews (if the template supports it). |
| Exclude from copying / cloning | When a transaction is duplicated, this field's value is not copied to the clone. Useful for fields like "PO Number" that must be unique per document. |
| Locked for manual editing | Users cannot type into this field. Value can only be set via the Default Value (below) or the API. Mutually exclusive with Required. |
| Default Value | Only shown when Locked is on. The value pre-filled into the field for every new record. Type-appropriate — date picker for Date fields, dropdown for List fields, etc. |
| Auto-copy to line when item is added | Only available when a field is placed on both Item and a matching line type (e.g. Item + Sales Invoice Line). When a user adds an item to a transaction line, the item's custom field value is automatically copied to the matching line field. Useful for HS codes, quality grades, or product classifications. |
| Active | Inactive fields are hidden from all forms. Stored values are preserved. |
Custom fields appear in a Custom Fields card at the bottom of master data and document header forms. On line item dialogs, they appear inline alongside standard line fields.
Fields respect the Locked flag — a locked field renders as disabled (greyed out) and cannot be edited directly. If a Default Value is configured, the field is pre-filled automatically when a new record is created.
When Show on printed documents is enabled, the field name and value are available in custom document templates via the document.custom_fields variable:
{% for cf in document.custom_fields %}
<tr>
<td>{{ cf.name }}</td>
<td>{{ cf.value }}</td>
</tr>
{% endfor %}
For single fields by name:
{{ document.custom_fields["HS Code"] }}
Only fields with Show on printed documents enabled and a non-empty value are included.
When creating a new field, expand Advanced to supply a specific GUID as the field ID. This is useful when you have pre-populated custom field data via the API or an import script using a known GUID, and you want to register the definition that matches that data.
Leave blank to let Basis generate a GUID automatically.