Overview
Customer synchronization in Flexprice ensures that customers exist in Nomod before invoice sync and payment link. Customers are synced to Nomod when invoices are being synced, ensuring proper invoice-to-customer association in Nomod.Key Concepts
- Invoice- and Payment-Link-Triggered Sync: Customers are synced only when invoice sync or payment link is triggered
- On-Demand Sync: Sync happens automatically during invoice sync
- One-Way Sync: Customers are synced from Flexprice to Nomod only (not bidirectional)
- Entity Integration Mapping: Links Flexprice customers to Nomod customer IDs
- Metadata Storage: Customer metadata stores cross-platform references
- Duplicate Prevention: Intelligent checks prevent duplicate customer creation in Nomod
Synchronization Flow
Customer sync is invoice- or payment-link-triggered and happens automatically:When Customer Sync Happens
Customer sync is triggered only when:- An invoice is being synced to Nomod
- A payment link is requested for an invoice
- Invoice outbound sync is enabled in the Nomod connection (
invoice_sync.outbound = true) when syncing invoices - Invoice status changes from
DRAFTtoFINALIZED(for invoice sync)
- Manual customer operations
- Other flows that do not involve invoice sync or payment link
Customer Data Model
Flexprice Customer Structure
Sync Configuration
Required Fields for Sync
Optional Fields
Sync Process Details
Invoice Sync and Payment Link Flow (Customer-Triggered)
Customer Linking
Metadata Storage
Customer linking is maintained through metadata fields: In Flexprice Customer:Link Verification
You can verify customer links using the API: Endpoint:GET /api/v1/customers/{customer_id}/integrations
Headers:
Error Handling
Common Sync Errors
Testing Customer Sync
Test Environment Setup
1
Use Nomod Test Mode
Configure Nomod connection with test API keys (
sk_test_...)2
Create Test Customers
Create test customers in Flexprice with
name and email (no sync yet)3
Verify No Initial Sync
Customers should NOT exist in Nomod initially
Invoice Sync Testing Flow
1
Create Test Customer
Add a customer in Flexprice with name and email (no sync yet)
2
Verify No Sync
Customer should NOT exist in Nomod initially
3
Enable Invoice Sync
Ensure invoice outbound sync is enabled in the Nomod connection
4
Create and Finalize Invoice
Create an invoice for the customer and finalize it (status changes to
FINALIZED)5
Verify Auto-Sync
Customer should now exist in Nomod with linked metadata (
nomod_customer_id in Flexprice customer metadata)6
Test Duplicate Prevention
Create another invoice for the same customer and verify it uses the existing Nomod customer (no duplicate created)

