How to Add Custom Fields In Sage
Why Add Custom Fields?
Out of the box, any software, Sage included, comes with a set of standard fields and business logic designed for general use. But most organizations have unique data needs, extra attributes, qualifiers, status flags, or integrations. Custom fields let you extend the data model without altering the core software. They allow you to:
- Capture additional data specific to your workflows
- Store metadata required by internal processes or regulations
- Integrate with other systems by matching custom identifiers
- Generate more tailored reports, filters, queries
- Avoid misuse of generic fields or overloading standard ones
When done well, custom fields can coexist with software upgrades and maintenance without breaking the system.
Key Considerations Before You Begin
Before you start, keep in mind these design and architectural considerations so your custom fields remain manageable and resilient:
- Naming conventions
Use consistent prefixes or suffixes (e.g. “UDF_”, “CF_”, “Custom_”) so administrators can distinguish custom fields from standard ones. - Data types & constraints
Choose the correct type (text, number, date, pick list, checkbox) and set constraints (max length, allowable values, nullability) up front. - Security & permissions
Specify which user roles or security profiles can view or edit the field. A custom field should not expose sensitive data to unauthorized users. - Placement on forms / screens
Decide where the field should appear (data entry forms, summary screens, lists) and in which order. - Reporting & query support
Ensure the custom field is included in business intelligence, reports, or APIs if needed downstream. - Avoid over-customizing
Use custom fields sparingly. Too many lead to clutter, confusion, and performance overhead. - Migration / upgrade protection
Prefer using supported extensibility mechanisms (customization frameworks) so that upgrades don’t break your fields.
General Steps to Add a Custom Field in Sage
Although the exact UI and terminology vary, these steps apply broadly.
- Log in as Administrator / with proper privileges
Only users with system administration rights can add or configure custom fields. - Navigate to the customization or entity management area
Find the module or “entity” (e.g. Customer, Invoice, Employee, etc.) where you want to add the custom field. The UI may label this “Customization,” “Fields,” “Entities / Objects,” or “Data Model.” - Open the “Fields” section for that entity
Within that module, find where fields are defined or managed. There is typically a “Fields,” “Attributes,” or “Custom Fields” tab or section. - Create a new field
Click a “New Field,” “Add Field,” or “Create Field” button. You will be prompted to fill out field properties:- Field label (how it appears to users)
- Field name / internal identifier (used by the system / APIs)
- Data type (text, integer, decimal, date/time, pick list, boolean, etc.)
- Optional description or help text
- Additional attributes (length, default value, required vs optional)
- For pick lists or lookups, define allowable options
- Set permissions / visibility rules
After defining the field, specify which roles or security profiles can read or edit the field. Optionally mark it read-only for certain roles. - Add the field to screens or layouts
Define which forms, screens, or views should include the field. You often place it in detail entry screens, summary layouts, or grid views. The new field usually appears at the bottom of forms initially, and you can reposition it. - Save & test
Save your changes. Then test by opening the relevant module’s record, entering data into the custom field, saving, and verifying that the value persists. - Include in reporting / queries
If your system has a reporting or BI tool, ensure the custom field is made available to query definitions, filters, or API outputs. - Document
Record the custom field (name, purpose, type, constraints) in internal documentation so future administrators or integrators understand it.
Testing & Validation After Adding Fields
After creating a custom field, follow these steps to validate it:
- Open a record in the module where the field was added, confirm the new field is visible and editable (if permissions allow).
- Enter a value of maximum size or boundary case to test constraints (e.g. maximum length, decimal precision).
- Save and reopen to verify the value persists correctly.
- Attempt to use the field in a search or filter to check query availability.
- If the system supports it, export or API-fetch the record and confirm the custom field is included.
- Test security: log in as a user restricted by role to see whether the field is hidden or read-only, as intended.
Maintenance, Modification, and Deletion of Custom Fields
Over time, you may need to modify or remove custom fields. Follow these principles:
- Modifying a field: You may change label, help text, default value, or permission settings. But some systems disallow changing the field type once set (for example switching from integer to text) or shrinking lengths because data might be lost. In Sage 100, once a custom field is created, you cannot change its type.
- Deleting a field: Only remove a field if you’re sure no critical data depends on it. Some environments allow marking the field “inactive” rather than deleting to preserve historical data.
- Migrating data: Before deleting, export the existing values for backup or migration.
- Repositioning in layout: You can move custom fields within forms or screens to logical positions after creation.
- Impact on reports & integrations: Removing or changing a field can break reports, dashboards, or API integrations referencing it. Update all dependent workflows and scripts.
- Version / upgrade compatibility: In Sage systems upgraded over time, ensure custom fields are preserved through upgrades. Use Sage-approved customization tools.
Best Practices
Here are some recommended practices when working with custom fields in Sage environments:
- Plan ahead
Before adding fields, sketch a schema or map of what extra attributes you need and how they relate to existing data. - Be sparing
Add only those fields truly needed; too many fields make UI cluttered and slow. - Prefix names
Use clear prefixes (e.g. “CF_”, “UDF_”) in internal names for easy search and maintenance. - Set defaults & validation
Whenever possible, supply default values and validation logic to reduce data entry errors. - Use pick lists / lookup tables
For values that must be constrained (status, categories), use lookup lists rather than free text. - Document everything
Maintain a reference of custom field names, types, descriptions, and usage so future admins know what’s there. - Include in reports / APIs
Immediately include new fields in reporting logic or APIs so they become part of your data flows. - Test thoroughly
Always test with typical, boundary, and error-case inputs. Also test across user roles. - Handle migrations carefully
When moving data between environments, ensure custom fields are exported/imported accurately. - Avoid naming collisions
Ensure custom field labels and internal names don’t duplicate standard fields to avoid confusion or API conflicts.