Extend Customer and Company model
Info Types are a powerful extensibility feature in Norce Commerce that allows you to add custom fields to customer, company, supplier, and physical store entities. This flexible system enables you to capture additional business-specific information beyond the standard entity fields.
Overview
Info Types serve multiple purposes in Norce:
- Entity Extension: Add custom fields to customers, companies, suppliers, and physical stores
- Business Logic: Store additional information required for your specific business processes
- Data Flexibility: Store any type of data as strings with the ability to cast to different types
- Integration Support: Provide custom data points for external system integrations
Info Type Tabs
The Info Types section in Settings provides four separate tabs for managing custom fields:
- Customers: Custom fields for individual customer records
- Companies: Custom fields for company/organization records
- Suppliers: Custom fields for supplier entities
- Physical Stores: Custom fields for store location records
Note: All four tabs work identically - the same functionality and management options are available across all entity types.
Required Fields
To create an info type, you need three essential pieces of information:
- Name: Language-specific display name (required)
- Description: Language-specific description (optional)
- Code: Language-independent identifier for the info type
Managing Info Types
Creating Info Types
- Navigate to Settings > Info Types
- Select the appropriate tab (Customers, Companies, Suppliers, or Physical Stores)
- Create a new info type with name, description, and code
- Save your changes
Editing Info Types
When editing an info type:
- Modify the name, description, or code as needed
- Use the translation view to manage multilingual content
- Both name and description fields support translation
- Remember to save your changes
Deleting Info Types
To remove an info type:
- Click the "X" button next to the info type in the list
- Confirm your decision when prompted
- The info type becomes inactive but remains in the system
Viewing Deleted Info Types
- Click "Show deleted" to view deactivated info types
- Deleted info types can be restored if needed
- This prevents accidental permanent data loss
Data Storage and Usage
Storage Format
- All info type data is stored as strings in the data layer
- You can use the data as any type you want in your applications
- Type casting must be handled in your implementation code
Data Size Considerations
- There is no technical limit to how large an info type value can be
- Large values may impact performance in both the API and admin UI
- Consider performance implications when designing your data structure
Common Data Formats
Most common are "string", which is how Norce store the data.
But, many customers use JSON format for info types because:
- JSON provides a versatile and structured solution
- It allows for complex data structures within a single field
- It's easily parseable by most programming languages
- It maintains data relationships and hierarchy
Multilingual Management
- Info type names and descriptions support full translation
- Use the translation view to manage content across languages
- Language-independent codes ensure consistency across markets
Use Cases
Customer Extensions
- Store additional customer preferences or classifications
- Capture industry-specific customer data
- Track customer lifecycle information
- Store integration keys for external systems
Company Data Enhancement
- Add company-specific business information
- Store regulatory or compliance data
- Track company relationships and hierarchies
- Maintain custom classification systems
Supplier Product Information
- Store supplier-specific terms and conditions
- Maintain supplier classification data
- Store integration-specific identifiers
Physical Store Data
- Add store-specific operational information
- Track store performance metrics
- Store location-specific custom business rules
- Maintain store classification systems
Important: Info types provide powerful extensibility but should be used thoughtfully. Consider the impact on system performance, data management complexity, and long-term maintainability when designing your custom field strategy.