ERP migration
Field-level mapping, validation, and rollback between Sage Business Cloud X3 and Epicor Prophet 21. We move data and schema; workflows are rebuilt natively in Epicor Prophet 21.
Sage Business Cloud X3
Source
Epicor Prophet 21
Destination
Compatibility
13 of 14
objects map 1:1 between Sage Business Cloud X3 and Epicor Prophet 21.
Complexity
BStandard
Timeline
6-8 weeks
Overview
Moving from Sage Business Cloud X3 to Epicor ERP is a structured ERP migration where the most complex work lives in the financial layer. X3's multi-company architecture with its separate legal entity ledgers and intercompany journal postings must be deconstructed and reconstructed as Epicor Kinetic Company, Site, and Ledger entities. We extract X3 data through template-driven flat-file exports (configured by the customer's administrator to expose all required fields including custom fields) and ingest into Epicor Kinetic via REST API with rate-limit handling and batch chunking. Production Orders with BOMs and routings require a separate reconciliation step because the BOM-routing relationship in X3 is stored across linked tables. Workflows, approval rules, and custom queries do not migrate; we deliver a written inventory of every active workflow and approval rule for the customer's Epicor administrator to rebuild in Kinetic's Automation Studio. Historical financial statements and period-end reports are preserved from X3's report engine and loaded into Epicor Kinetic as attachment records against the relevant GL account periods.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Sage Business Cloud X3 object lands in Epicor Prophet 21, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Sage Business Cloud X3
Business Partners (Customers and Suppliers)
Epicor Prophet 21
Customer and Supplier Part Numbers
1:1X3 Business Partners (tiers BPXX) serve as both customers and suppliers in a single entity flagged by BP Type. We split them into Epicor Kinetic Customer records (for bill-to and ship-to) and Supplier records (for procurement). Address book entries, payment terms, currency, and credit limits migrate from the X3 BP table to Epicor's Customer and Supplier tables. Custom fields on BP (stored as extended columns in X3) map to Epicor Customer/ShipTo/Search single-tenant custom fields. The BP account code becomes the Customer Num or Supplier Num in Epicor with the original X3 reference preserved in the EDISC field for audit.
Sage Business Cloud X3
Sales Orders
Epicor Prophet 21
SalesOrder
1:1X3 Sales Orders (template ZSOH) map to Epicor Kinetic SalesOrder table with order header fields (order number, date, customer, terms, ship-to) and order lines (part number, quantity, price, tax, discount). The X3 order status lifecycle (Draft, Confirmed, Shipped, Invoiced, Closed) maps to Epicor's OrderRel and OrderDtl status fields. We preserve open order lines at migration cutover and carry forward any held or flagged lines as OrderRel records with their release status intact. Pricing and discount logic from X3 migrates as manual price breaks on the order line.
Sage Business Cloud X3
Purchase Orders
Epicor Prophet 21
POHeader and PODetail
1:1X3 Purchase Orders map to Epicor Kinetic POHeader and PODetail. X3 vendor, site, payment terms, and currency map to Epicor VendorNum, PrcConNum, Terms and CurrencyCode. PO line items map to PODetail with part number or miscellaneous charge, quantity ordered, unit cost, and tax. Approved and pending-approval status in X3 maps to Epicor's PO status field. We carry forward any blanket PO release history as separate PO release records in Epicor.
Sage Business Cloud X3
General Ledger and Chart of Accounts
Epicor Prophet 21
GLAccount and GLLedger
1:1X3 hierarchical chart of accounts with segment codes and cost centers maps to Epicor Kinetic GLLedger and GLAccount. Each X3 company code with its currency settings becomes an Epicor Kinetic Ledger with the corresponding currency. Account segments (e.g., Department-Product-Region) map to the Epicor GLAccount segment fields or natural account with COA segments. We preserve the X3 account description, account type, and posting dimension tags. Historical balance records from X3 migrate as GLJrnLine entries for the relevant periods to seed Epicor's opening balances.
Sage Business Cloud X3
Accounts Payable and Accounts Receivable
Epicor Prophet 21
APInvoice and ARInvoice
1:1X3 AP and AR modules store open invoices, credit limits, payment terms, and aging data. We map open AP invoices (not yet paid) to Epicor Kinetic APInvoiceHed and APInvoiceDtl, with the vendor number, invoice number, date, due date, and amount. Open AR invoices migrate to ARInvoiceHed and ARInvoiceDtl with customer, invoice number, and amount. Aging data does not carry as a field in Epicor but is computed from the invoice date, due date, and payment terms. We flag records with holds or disputes in X3 for manual review before migration.
Sage Business Cloud X3
Fixed Assets
Epicor Prophet 21
FaAsset and FaGlobalVar
1:1X3 Fixed Assets include acquisition cost, depreciation schedules, asset registers, and tax-book depreciation per legislation. We map each asset to Epicor Kinetic FaAsset with asset number, description, class, location, and acquisition details. Depreciation books (GAAP, tax, statutory) from X3 migrate to Epicor FaAssetReg records, each with its own depreciation method and convention. Current net book value and accumulated depreciation are seeded as opening balances in the relevant book. We map asset disposals, transfers, and revaluations from X3 as FaAsset transactions.
Sage Business Cloud X3
Inventory and Stock
Epicor Prophet 21
Part, PartWhse, and PartTran
1:1X3 Products with Bills of Materials, routings, lot/serial tracking, and expiry dates map to Epicor Kinetic Part records. Stock levels per site migrate to PartWhse records with quantity on hand, allocated, and available. Multi-location tracking in X3 becomes multiple PartWhse records across Epicor Sites. Lot and serial numbers from X3 migrate to PartLot records with expiry date preserved. BOM and routing headers from X3 map to Part and PartRev (BOM revision) and PartMtl (BOM line) and PartOpr (routing operation) in Epicor Kinetic. The BOM-routing linkage requires a separate reconciliation pass because X3 stores BOM and routing in separate linked tables.
Sage Business Cloud X3
Production Orders and Work Orders
Epicor Prophet 21
JobHead and JobMtl
1:1X3 Production Orders with BOM links, routing operations, work centres, and consumption tracking map to Epicor Kinetic JobHead, JobMtl, and JobOper. We extract JobHead with job number, status, start and end dates, and the part number. JobMtl carries the component lines with part number, quantity per, scrap percent, and issue method. JobOper carries the routing operations with work centre, operation sequence, setup and run time, and labor and machine rates. We map the X3 work order status (Released, In Process, Complete, Closed) to Epicor JobHead.JobComplete. Active JobMtl and JobOper records migrate with the parent job header; completed historical jobs migrate as part transaction history only.
Sage Business Cloud X3
Fixed Assets Depreciation Books
Epicor Prophet 21
FaAssetReg
1:1X3 supports parallel depreciation books per asset (GAAP book, tax book, local statutory). Each book carries its own depreciation method, convention, and schedule. We map each X3 depreciation book to a corresponding FaAssetReg record in Epicor Kinetic, preserving the book ID, depreciation method (straight-line, declining balance, units of production), useful life, and the accumulated depreciation balance per book. We seed the current period depreciation amounts as opening entries so Epicor's depreciation run produces the correct next-period accrual.
Sage Business Cloud X3
Budgets and Commitments
Epicor Prophet 21
GlBudget and GlBudgetDim
1:1X3 Budgets tied to the GL spanning multiple periods and scenarios map to Epicor Kinetic GlBudget records with budget code, fiscal year, and period amounts per account or segment. Commitments representing purchase orders or contracts that have not yet posted migrate as Epicor Kinetic open PO records. We map budget version codes from X3 to Epicor GlBudget.BudgetCode and carry forward budget line descriptions for audit trail.
Sage Business Cloud X3
Users and Roles
Epicor Prophet 21
User and UserComp
1:1X3 user management with function-level permissions per site and company maps to Epicor Kinetic User and UserComp records. X3 named user IDs (not email-based in older deployments) map to Epicor Kinetic UserCode. Role and function permissions from X3's access control list map to Epicor Kinetic UserFile permissions by Company and Site. We flag any X3 user without a matching email for the customer to provision in Epicor's identity provider before user records import. Orphaned permissions are documented in the reconciliation report for manual remediation.
Sage Business Cloud X3
Custom Fields and Extended Properties
Epicor Prophet 21
Custom Fields (UD columns on business objects)
1:1X3 custom fields stored as extended columns on business objects map to Epicor Kinetic user-defined (UD) fields. We detect all X3 custom fields during discovery, identify the parent table and column name, and create a corresponding Epicor UD field on the mapped object before data load begins. Data types are mapped: X3 text to Epicor Character, X3 numeric to Decimal or Integer, X3 date to Date, X3 logical to CheckBox. We preserve the field label and help text from X3 in the Epicor field description.
Sage Business Cloud X3
Multi-company and Intercompany Journals
Epicor Prophet 21
Company, Ledger, and Intercompany Eliminations
lossyX3 multi-company architecture with separate legal entities and manual intercompany journal duplication requires reconstruction in Epicor Kinetic. We identify each X3 company code as a separate Epicor Kinetic Company record. Intercompany journal entries identified in X3 (by counterparty account segments) are reconstructed as Epicor Kinetic journal entries with proper debit-credit pairs across companies. The customer defines the intercompany elimination logic during scoping; we implement it as Epicor Kinetic Elimination rules and GLJrnEntry records for historical periods.
Sage Business Cloud X3
Taxes and Tax Codes
Epicor Prophet 21
TaxRegion and TaxConnect
1:1X3 tax codes and rates per legislation map to Epicor Kinetic TaxRegion and TaxCode records. Sales tax, VAT, and withholding tax configurations from X3 carry forward as TaxRegion entries linked to the relevant Company and ShipTo/CustCnt. We map the X3 tax calculation method (inclusive, exclusive, compound) to the Epicor tax group configuration. Epicor's tax connectivity to external services (Tax Connect, Vertex) is configured separately post-migration.
| Sage Business Cloud X3 | Epicor Prophet 21 | Compatibility | |
|---|---|---|---|
| Business Partners (Customers and Suppliers) | Customer and Supplier Part Numbers1:1 | Fully supported | |
| Sales Orders | SalesOrder1:1 | Fully supported | |
| Purchase Orders | POHeader and PODetail1:1 | Fully supported | |
| General Ledger and Chart of Accounts | GLAccount and GLLedger1:1 | Fully supported | |
| Accounts Payable and Accounts Receivable | APInvoice and ARInvoice1:1 | Fully supported | |
| Fixed Assets | FaAsset and FaGlobalVar1:1 | Fully supported | |
| Inventory and Stock | Part, PartWhse, and PartTran1:1 | Fully supported | |
| Production Orders and Work Orders | JobHead and JobMtl1:1 | Fully supported | |
| Fixed Assets Depreciation Books | FaAssetReg1:1 | Mapping required | |
| Budgets and Commitments | GlBudget and GlBudgetDim1:1 | Mapping required | |
| Users and Roles | User and UserComp1:1 | Mapping required | |
| Custom Fields and Extended Properties | Custom Fields (UD columns on business objects)1:1 | Fully supported | |
| Multi-company and Intercompany Journals | Company, Ledger, and Intercompany Eliminationslossy | Fully supported | |
| Taxes and Tax Codes | TaxRegion and TaxConnect1:1 | Fully supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
Sage Business Cloud X3 gotchas
Opaque pricing leads to unexpected total cost post-signature
Intercompany journal postings require manual duplication
Template-driven export requires field mapping before data extraction
Historical transaction reporting requires additional tooling
User accounts use named-user model, not email-based
Epicor Prophet 21 gotchas
Third-party bolt-on integrations complicate migration scope
Dirty data without standardized processes compounds migration risk
SDK customizations and BPMs may not survive platform upgrades
Report-based export only for non-technical users
Per-user pricing model requires accurate user count before migration planning
Pair-specific challenges
Migration approach
Discovery and X3 template audit
We audit the source X3 deployment across all company codes, modules licensed, export template configurations, and custom field definitions. We identify the correct X3 export templates (ZSOH, ZPOH, ZBPH for Business Partners, ZITM for products) or configure them with the customer's X3 administrator. We extract a data sample to validate field coverage and identify any gaps before the full export begins. We also capture the X3 chart of accounts structure, intercompany account segments, and any manual journal posting patterns that indicate intercompany entries. The discovery output is a written migration scope document with record counts, template list, and custom field inventory.
Epicor Kinetic schema design and Company structure
We design the destination Epicor Kinetic schema in a Sandbox or Development environment. This includes provisioning Company records per X3 legal entity, configuring Sites and Warehouses mapped to X3 sites, defining the Chart of Accounts and GLLedger per Company, and setting up the fiscal calendar and currency settings. We create custom UD fields on all target objects (Customer, Supplier, SalesOrder, POHeader, Part, FaAsset, JobHead, GlBudget) before any data import begins. If intercompany eliminations are required, we configure Epicor Kinetic elimination rules and document the elimination logic in the design spec. We present the schema to the customer's Epicor administrator and finance team for sign-off.
Sandbox migration and reconciliation
We run a full migration into the Epicor Kinetic Sandbox environment using production-like data volume extracted from X3 templates. The customer's finance and operations leads reconcile record counts across all objects, spot-check 30-50 records against the X3 source data, and validate intercompany journal balance. Any field mapping corrections, missing template columns, or schema adjustments are documented and applied to the production migration plan. Sandbox sign-off is required before production migration begins. BOM-routing linkage validation is a dedicated step during Sandbox reconciliation.
Multi-company and intercompany journal reconciliation
We extract all GL transactions from X3 across all company codes and run an intercompany analysis. Any journal entry with accounts mapped to different X3 legal entities is flagged as intercompany and split into the corresponding debit and credit sides for Epicor Kinetic. We create GLJrnEntry records per company with elimination entries where applicable. The customer reviews the intercompany journal reconstruction and approves the elimination logic before production load. This step runs in parallel with Sandbox reconciliation to keep the critical path moving.
Production migration in dependency order
We run production migration in record-dependency order: GLAccounts and GLLedger (with period opening balances), Company and Site configuration (validated), Customer and Supplier records, Part and PartWhse with inventory on-hand, Sales Orders and Purchase Orders, AP and AR open invoices, Fixed Assets with depreciation books, Budget records, Production Orders (JobHead, JobMtl, JobOper with BOM-routing linkage), and User records. Each phase emits a row-count reconciliation report before the next phase begins. X3 data remains read-only during cutover. We run a delta extraction for any records modified during the cutover window before switching Epicor to system of record.
Cutover, validation, and workflow rebuild handoff
We freeze X3 for new writes at the agreed cutover time, run a final delta migration, then enable Epicor Kinetic as the system of record. We deliver the Workflow and Approval Rule inventory document to the customer's Epicor administrator for rebuild in Automation Studio. We support a one-week hypercare window for reconciliation issues raised by the customer's team. We do not rebuild X3 custom queries, approval workflows, or automation sequences as Epicor Kinetic Automation Studio flows; those are scoped as a separate post-migration engagement with the customer's Epicor partner or administrator.
Platform deep dives
Sage Business Cloud X3
Source
Strengths
Weaknesses
Epicor Prophet 21
Destination
Strengths
Weaknesses
Complexity grading
Standard ERP migration. 2 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Sage Business Cloud X3 and Epicor Prophet 21.
Object compatibility
2 of 8 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
8-object category — typical timelines run 2–7 days end-to-end.
API constraints
Sage Business Cloud X3: 180 requests per minute with max burst of 10 calls/second (Embedded Services); core X3 API limits not publicly documented.
Data volume sensitivity
Sage Business Cloud X3 exposes a bulk API — large-volume migrations stream efficiently.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Sage Business Cloud X3 to Epicor Prophet 21 migration scoping. Not seeing yours? Book a call.
Walk through your Sage Business Cloud X3 to Epicor Prophet 21 migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Sage Business Cloud X3
Other ways to arrive at Epicor Prophet 21
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.