ERP

Salesforce ERP Master Data Synchronization Guide

Master data inconsistency between Salesforce and your ERP is the root cause of most integration failures. When a customer address differs between CRM and ERP, orders ship to the wrong location. When item numbers mismatch, fulfillment breaks. Establishing a governed master data synchronization strategy is the foundation that every other integration flow depends on.

Defining the System of Record for Each Data Domain

The first governance decision is declaring which system owns each master data domain. Salesforce typically owns customer relationship data (contacts, activities, engagement history) while the ERP owns financial data (credit limits, payment history, tax codes). Shared domains like customer addresses and item catalogs require explicit ownership rules and conflict resolution policies.

  • Salesforce as system of record for Account name, contacts, industry, territory, and relationship metadata
  • ERP as system of record for credit limit, payment terms, tax exemption status, and AR balance
  • Shared ownership of ship-to and bill-to addresses requires last-write-wins or manual approval workflows
  • Item master owned by ERP with read-only Product2 records in Salesforce refreshed on schedule
  • Golden record strategy uses MDM tools like Informatica or Reltio when neither system can be authoritative

Synchronization Patterns and Frequency

Master data sync can follow scheduled batch, event-driven, or hybrid patterns depending on data volume, change velocity, and tolerance for stale data. Customer records that change infrequently may sync on a nightly batch, while pricing changes that affect active quotes need near-real-time propagation. The sync pattern also determines how you handle deletes, merges, and deactivations.

  • Scheduled batch sync via Salesforce Bulk API 2.0 handles high-volume initial loads and nightly refreshes
  • Event-driven sync using Salesforce Platform Events publishes Account changes to middleware within seconds
  • Change Data Capture on Account, Contact, and custom objects streams field-level mutations for selective sync
  • Delta detection using LastModifiedDate or SystemModstamp fields reduces sync payload to changed records only
  • Soft-delete propagation flags inactive records in the target system rather than physical deletion to preserve referential integrity

Conflict Resolution and Data Quality

When the same record is updated in both Salesforce and the ERP within a sync window, a conflict occurs. Without explicit resolution rules, one system's changes overwrite the other. Data quality issues such as duplicate records, inconsistent formatting, and missing required fields compound the conflict problem. A robust sync framework includes deduplication, validation, and audit logging.

  • Timestamp-based last-write-wins resolution uses the most recent LastModifiedDate to determine the surviving value
  • Field-level conflict resolution allows address fields to follow ERP while contact fields follow Salesforce
  • Salesforce Duplicate Rules and Matching Rules prevent duplicate Account creation during inbound ERP syncs
  • Data quality validation in middleware rejects records missing required fields before they reach the target system
  • Audit log in a shared integration table records every sync event with before and after values for compliance review

Struggling with master data inconsistencies between Salesforce and your ERP? Our MDM specialists can design a governed sync strategy.