Customize Forms
The Customize Forms feature allows you to add custom fields to standard forms such as Items, Parties, Sales Invoices, Purchase Invoices, and other records without modifying the application code.
Custom fields help you capture additional business information specific to your organization’s workflow.
Tip
Use custom fields to store organization-specific information such as product attributes, internal references, project codes, approval details, or customer-specific data.
Enable Form Customization
Before you can customize forms, enable the feature from General Settings.
Enable the Form Customization option and reload Frappe Books.
- Windows / Linux: Ctrl + R
- macOS: Command + R
Important
Disabling Form Customization only hides the customization interface. Existing custom fields and their data remain available.
Creating a Custom Form
After enabling the feature:
- Navigate to Setup → Customize Form.
- Click the + button.
- Select the Form Type you want to customize.
- Add one or more custom fields.
- Save the customization.
- Reload the application to see the new fields.
Information
Each Form Type can have only one Custom Form configuration, but that configuration can contain multiple custom fields.
Form Type
A Form Type represents the document you want to customize, such as:
- Item
- Party
- Sales Invoice
- Purchase Invoice
- Journal Entry
- Stock Movement
Adding Custom Fields
Click Add Row to create a new custom field.
Each field requires a Label, and a Fieldname is automatically generated from it.
Tip
The Fieldname is used internally by the application. In most cases, the automatically generated value does not need to be modified.
Supported Field Types
| Field Type | Purpose | Additional Configuration |
|---|---|---|
| Data | Single-line text input. | None |
| Text | Multi-line text input. | None |
| Date | Select a calendar date. | None |
| Date Time | Select both date and time. | None |
| Int | Whole numbers. | None |
| Float | Decimal numbers. | None |
| Currency | Monetary values. | None |
| Check | Checkbox. | None |
| Select | Dropdown list. | Requires Options. |
| Autocomplete | Searchable dropdown. | Requires Options. |
| Color | Color picker. | Optional color list. |
| Link | Links to another document. | Requires Target. |
| Dynamic Link | Link determined dynamically. | Requires References. |
| Attach Image | Select an image file. | None |
| Attachment | Attach any file. | None |
| Table | Displays child table data. | Currently not supported. |
Field Configuration Options
Some field types require additional settings.
| Option | Description |
|---|---|
| Is Required | Makes the field mandatory before saving the document. |
| Options | List of values used by Select, Autocomplete, and Color fields. |
| Target | Specifies the document type for Link fields. |
| References | Defines the reference field used by Dynamic Link fields. |
| Form Tab | Determines the tab where the field appears. |
| Form Section | Determines the section where the field is displayed. |
Viewing Custom Fields
After saving the customization, reload Frappe Books. The new fields will appear in the selected form according to the configured tab and section.
Deleting Customizations
To remove all custom fields for a form:
- Open the corresponding Custom Form.
- Delete the Custom Form entry.
Warning
Deleting a Custom Form permanently removes all custom fields and deletes any data stored in those fields.
Best Practices
- Plan your custom fields before deploying them in production.
- Use clear, descriptive field labels.
- Mark fields as required only when necessary.
- Group related fields using Form Tabs and Sections for better usability.
- Create a backup before deleting customizations, as associated data cannot be recovered.