Docs/Master Data/Customer Management

Customer Management

Create, update, and manage customer records with multi-entity support, custom pricing, and tax profiles

8 min read

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#

ApproachRecords StoredRecords Visible
Traditional (duplicate per entity)6 copies per customer6
Master + Overrides1 master + only the overrides needed6 (auto-resolved)

Creating Customers#

Required Information#

FieldDescription
Customer nameDisplay name (1-255 characters)
EmailValid email address (RFC 5322)
Legal entityWhich 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 TypePurpose
billingInvoice delivery address
shippingProduct 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

When updating addresses, pricing, tax profiles, or dimensions, each record uses an action field:

ActionWhat It DoesWhen to Use
addCreates a new recordAdding a new shipping address
updateModifies an existing recordChanging a pricing tier's price
deleteRemoves an existing recordRemoving 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#

  1. Data validation (automatic) -- field types, lengths, formats, foreign key checks, business rules
  2. Duplicate detection -- matches on tax ID or email (case-insensitive)
  3. Manager review -- summary of validation results before execution

Import Options#

OptionDescriptionDefault
On duplicateSkip, update existing, or raise errorSkip
Batch sizeRecords per batch (1-1000)100
Stop on errorHalt on first error vs. continueContinue
Validate onlyDry run without creating recordsNo

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:

OperationApproval StepsTypical Lane
Create customerAR Manager, then ControllerYellow (requires approval)
Update customerAR Manager, then ControllerYellow
Deactivate (soft)Manager, then ControllerYellow
Delete (hard)Manager, Controller, then CFORed (multi-level)
Bulk importValidation, then Manager reviewYellow

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#

TypeDescription
retailIndividual end consumers
wholesaleBulk buyers for resale
distributorChannel distribution partners
enterpriseLarge corporate accounts
governmentGovernment agencies
nonprofitTax-exempt organizations
otherCustom 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.