Customer Management
Create, update, and manage customer records with multi-entity support, custom pricing, and tax profiles
Customer Management
Manage your entire customer lifecycle through natural conversation. Create customers, set up custom pricing tiers, manage tax exemptions, and maintain complete audit trails -- all without navigating complex forms.
Overview#
Customer management in the AI-Native ERP covers the full lifecycle of customer records:
- Create new customers with addresses, pricing, and tax profiles in a single operation
- Update any customer detail -- from basic info to complex pricing tiers
- Deactivate customers while preserving historical transaction data
- Import customers in bulk from CRM systems, CSV files, or legacy platforms
Every customer change is tracked through the workflow system with full traceability: who submitted it, who approved it, and when.
Multi-Entity Architecture#
Customers follow the Master + Entity Override pattern, giving you the best of both worlds:
- Master customers are defined once at the organization level -- name, email, tax ID
- Entity-specific overrides let each legal entity customize credit limits, payment terms, and addresses without duplicating data
- Effective views automatically resolve what each entity sees, merging master data with any overrides
This means a customer like "Acme Corporation" exists as a single record, but your US entity can set a $100K credit limit while your EU entity sets a EUR 80K limit -- independently.
Data Efficiency#
| Approach | Records Stored | Records Visible |
|---|---|---|
| Traditional (duplicate per entity) | 6 copies per customer | 6 |
| Master + Overrides | 1 master + only the overrides needed | 6 (auto-resolved) |
Creating Customers#
Required Information#
| Field | Description |
|---|---|
| Customer name | Display name (1-255 characters) |
| Valid email address (RFC 5322) | |
| Legal entity | Which entity owns this customer |
Optional Information#
You can include any of the following when creating a customer:
- Contact details: phone, website, billing email
- Business classification: customer type (retail, wholesale, distributor, enterprise, government, nonprofit)
- Credit terms: credit limit, payment terms
- Defaults: currency, tax code, default revenue account
- Addresses: billing and shipping addresses
- Custom pricing: customer-specific pricing tiers for items
- Tax profiles: tax exemptions with certificate numbers
- Dimensions: department and location tagging
- Custom metadata: any additional JSON fields
Addresses#
Each customer can have multiple addresses with different types:
| Address Type | Purpose |
|---|---|
| billing | Invoice delivery address |
| shipping | Product delivery address |
Addresses include street lines, city, state/province, postal code, and country.
Customer-Specific Pricing#
Set custom prices for specific items on a per-customer basis:
- Assign pricing tiers by item
- Set minimum and maximum quantity thresholds
- Define effective dates for pricing periods
- Override standard item prices for preferred customers
Tax Profiles#
Manage tax exemptions and special tax treatments:
- Assign exempt tax codes with certificate numbers
- Set effective date ranges for exemptions
- Track exemption certificate expiration
Dimension Tagging#
Tag customers with analytical dimensions for reporting:
- Department -- which department manages this customer relationship
- Location -- geographic classification for regional analysis
Use dimension type names (e.g., "department") and value codes (e.g., "SALES") when assigning dimensions.
Updating Customers#
Customer updates support partial updates -- you only need to specify the fields you want to change. All other fields remain unchanged.
Updatable Fields#
- Master fields: customer name, email, phone, website, tax ID, billing email, notes, customer type, credit limit, payment terms, currency, tax code, metadata
- Addresses: add new, update existing, or remove old addresses
- Pricing tiers: add, update, or delete customer-specific item pricing
- Tax profiles: add exemptions, update certificates, or remove profiles
- Dimensions: update department or location assignments
Action-Based Changes for Related Records#
When updating addresses, pricing, tax profiles, or dimensions, each record uses an action field:
| Action | What It Does | When to Use |
|---|---|---|
| add | Creates a new record | Adding a new shipping address |
| update | Modifies an existing record | Changing a pricing tier's price |
| delete | Removes an existing record | Removing an expired tax exemption |
This lets you make multiple changes to different related records in a single operation.
Deactivating Customers#
Customers are never hard-deleted by default -- they are deactivated. This preserves:
- Historical invoice and payment data
- Audit trail integrity
- Compliance with financial record-keeping requirements
- Accuracy of historical financial statements
Soft Delete (Default)#
- Customer is marked as inactive
- Hidden from active customer lists
- All historical data remains accessible
- Requires Manager and Controller approval
Hard Delete (Exceptional)#
- Permanently removes all customer data
- Requires CFO-level approval (3-step workflow)
- Only appropriate for test records or data entry errors
- Not recommended for customers with any transaction history
Bulk Import#
Import customers from external sources with built-in validation and duplicate detection.
Supported Sources#
- CRM systems (Salesforce, HubSpot)
- CSV file exports
- Legacy ERP migrations
- Partner data feeds
Import Process#
- Data validation (automatic) -- field types, lengths, formats, foreign key checks, business rules
- Duplicate detection -- matches on tax ID or email (case-insensitive)
- Manager review -- summary of validation results before execution
Import Options#
| Option | Description | Default |
|---|---|---|
| On duplicate | Skip, update existing, or raise error | Skip |
| Batch size | Records per batch (1-1000) | 100 |
| Stop on error | Halt on first error vs. continue | Continue |
| Validate only | Dry run without creating records | No |
Validation Levels#
- Field validation: data types, string lengths, email format, currency codes
- Foreign key validation: payment terms, accounts, and entities exist
- Business rules: credit limits are non-negative, valid customer types, duplicate checking
- Warnings (non-blocking): unusually large credit limits, similar customer names
Approval Workflows#
All customer operations go through risk-based approval routing:
| Operation | Approval Steps | Typical Lane |
|---|---|---|
| Create customer | AR Manager, then Controller | Yellow (requires approval) |
| Update customer | AR Manager, then Controller | Yellow |
| Deactivate (soft) | Manager, then Controller | Yellow |
| Delete (hard) | Manager, Controller, then CFO | Red (multi-level) |
| Bulk import | Validation, then Manager review | Yellow |
Audit Trail#
Every customer operation generates a complete audit record including:
- Who submitted the change
- What was changed (before and after values)
- Who approved or rejected it
- Timestamps for each step
Key Concepts#
Customer Types#
| Type | Description |
|---|---|
| retail | Individual end consumers |
| wholesale | Bulk buyers for resale |
| distributor | Channel distribution partners |
| enterprise | Large corporate accounts |
| government | Government agencies |
| nonprofit | Tax-exempt organizations |
| other | Custom classification |
Payment Terms#
Payment terms (e.g., NET30, NET45, NET60) control when invoices are due. These must reference existing payment terms configured in your organization.
Credit Limits#
Credit limits are non-negative decimal values that represent the maximum outstanding balance allowed for a customer. The system can warn when credit limits are unusually large (over $1,000,000).
Subscribe to new posts
Get notified when we publish new insights on AI-native finance.