ERP migration

Migrate from Sage Business Cloud X3 to Epicor Prophet 21

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 logo

Sage Business Cloud X3

Source

Epicor Prophet 21

Destination

Epicor Prophet 21 logo

Compatibility

93%

13 of 14

objects map 1:1 between Sage Business Cloud X3 and Epicor Prophet 21.

Complexity

BStandard

Timeline

6-8 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

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.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

Sage Business Cloud X3 logo

Sage Business Cloud X3

What's pushing teams away

  • Steep total cost of ownership including opaque pricing, large implementation fees, and annual support contracts that surprise buyers post-signature
  • Outdated interface and workflow tooling require significant user training; the Queries tool degrades noticeably at scale
  • Intercompany journal postings are manually duplicated between legal entities rather than auto-generated, creating reconciliation risk and audit friction
  • Customer support responsiveness is inconsistent, particularly for complex configuration issues not covered in standard documentation
  • Organizations outgrow the platform when they require deeper real-time analytics or want modern cloud-native ERP features not on Sage X3's roadmap

Choosing

Epicor Prophet 21 logo

Epicor Prophet 21

What's pulling them in

  • Industry-specific design for wholesale distributors, not a general-purpose ERP repurposed for distribution — distributors choose P21 because it matches their replenishment, kitting, and counter-sale workflows out of the box.
  • Strong inventory control with automated replenishment, lot and serial tracking, and multi-warehouse management appeals to distributors with complex stock requirements and tight margin pressure.
  • Responsive customer support cited across G2 and Gartner reviews, with Epicor's 90% retention rate reflecting long-term customer satisfaction in a market where switching costs are high.
  • Cloud deployment on Microsoft Azure provides the flexibility to scale user counts and warehouse locations without on-premise infrastructure investment.
  • The Software Development Kit lets distributors personalize P21 to their specific business processes without modifying the application source code, preserving upgrade paths.

Object mapping

How Sage Business Cloud X3 objects map to Epicor Prophet 21

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)

maps to

Epicor Prophet 21

Customer and Supplier Part Numbers

1:1
Fully supported

X3 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

maps to

Epicor Prophet 21

SalesOrder

1:1
Fully supported

X3 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

maps to

Epicor Prophet 21

POHeader and PODetail

1:1
Fully supported

X3 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

maps to

Epicor Prophet 21

GLAccount and GLLedger

1:1
Fully supported

X3 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

maps to

Epicor Prophet 21

APInvoice and ARInvoice

1:1
Fully supported

X3 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

maps to

Epicor Prophet 21

FaAsset and FaGlobalVar

1:1
Fully supported

X3 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

maps to

Epicor Prophet 21

Part, PartWhse, and PartTran

1:1
Fully supported

X3 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

maps to

Epicor Prophet 21

JobHead and JobMtl

1:1
Fully supported

X3 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

maps to

Epicor Prophet 21

FaAssetReg

1:1
Mapping required

X3 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

maps to

Epicor Prophet 21

GlBudget and GlBudgetDim

1:1
Mapping required

X3 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

maps to

Epicor Prophet 21

User and UserComp

1:1
Mapping required

X3 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

maps to

Epicor Prophet 21

Custom Fields (UD columns on business objects)

1:1
Fully supported

X3 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

maps to

Epicor Prophet 21

Company, Ledger, and Intercompany Eliminations

lossy
Fully supported

X3 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

maps to

Epicor Prophet 21

TaxRegion and TaxConnect

1:1
Fully supported

X3 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.

Gotchas + challenges

What specifically takes care here

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 logo

Sage Business Cloud X3 gotchas

High

Opaque pricing leads to unexpected total cost post-signature

Medium

Intercompany journal postings require manual duplication

Medium

Template-driven export requires field mapping before data extraction

Medium

Historical transaction reporting requires additional tooling

Low

User accounts use named-user model, not email-based

Epicor Prophet 21 logo

Epicor Prophet 21 gotchas

High

Third-party bolt-on integrations complicate migration scope

High

Dirty data without standardized processes compounds migration risk

Medium

SDK customizations and BPMs may not survive platform upgrades

Medium

Report-based export only for non-technical users

Low

Per-user pricing model requires accurate user count before migration planning

Pair-specific challenges

  • X3 template-driven export requires administrator configuration before extraction

    X3 exports data through named templates (ZSOH for Sales Orders, ZPOH for Purchase Orders) that must be configured to expose all required fields. If the template is not set up or is missing custom field inclusions, only the default subset of fields exports. We work with the customer's X3 administrator during discovery to identify or create the correct export templates for each object in scope. Custom fields require a separate template configuration step. Without template pre-configuration, the export is incomplete and the migration scope must be revised mid-project.

  • BOM-routing linkage must be reconstructed across separate X3 tables

    X3 stores Bills of Materials and Routings in separate linked tables (STOMOH and STZPRN or equivalents) with the BOM-routing relationship maintained by shared key fields (product code, BOM sequence, routing sequence). When migrating to Epicor Kinetic, the BOM and Routing must be reconstructed as PartRev and PartOpr records linked to the same Part. We extract both tables simultaneously, join on the shared key, and import into Epicor as a single PartRev BOM revision with operations. Any orphan BOM lines without a routing and vice versa are flagged for manual review before Epicor import.

  • Intercompany journals in X3 require manual duplicate entry per legal entity

    X3 does not auto-generate balanced intercompany journal entries across legal entities. When migrating multi-company X3 deployments, we must explicitly identify intercompany GL entries (by analyzing account mappings and counterparty segment values), capture the debit and credit amounts, and reconstruct both sides of the entry in Epicor Kinetic. If the customer relies on these intercompany postings for consolidated reporting, we design the Epicor Kinetic elimination rules and GLJrnEntry pairs during scoping. Skipping this step results in an unbalanced or incomplete consolidated ledger in Epicor.

  • Epicor Kinetic multi-company configuration must precede data migration

    Epicor Kinetic Company records, Sites, and Ledgers must be configured and validated before any transactional data (Orders, Invoices, Production Orders) can be imported. The Company record controls currency, fiscal calendar, and ledger assignment. If the customer requires separate legal entity accounting, we configure multiple Company records in Epicor Kinetic during the schema design phase. Data migration cannot begin until Company, Site, and Ledger structure is approved by the customer's finance team and Epicor administrator.

  • Historical financial statement snapshots require X3 report engine extraction

    X3's report engine regenerates reports from live data rather than storing rendered report snapshots. Migrating historical financial statements (balance sheet, P&L, trial balance by period) requires running the X3 report engine for each required period and exporting the output, or querying the underlying GL transaction tables directly. We use a combination of the report engine and direct table extraction to capture period-end financial data. These period snapshots are loaded into Epicor Kinetic as document attachment records against the relevant GL account periods for audit trail preservation.

Migration approach

Six steps for a successful Sage Business Cloud X3 to Epicor Prophet 21 data migration

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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

Context on both ends of the pair

Sage Business Cloud X3 logo

Sage Business Cloud X3

Source

Strengths

  • Multi-company, multi-currency, multi-legislation architecture handles global enterprise consolidation natively
  • Rich manufacturing module with BOMs, routings, work orders, and quality control for process and discrete manufacturing
  • Template-driven import/export system provides a structured mechanism for bulk data extraction without direct DB access
  • Flexible data model with open APIs supports extension and integration with third-party BI and reporting tools
  • Proven deployment base across 80+ countries with established implementation partner ecosystem

Weaknesses

  • Opaque pricing with no public list price; annual costs range from $25K to $250K+ before implementation fees that can reach $100K+
  • Legacy interface design with clunky Queries tool that becomes slow under large data volumes
  • Intercompany journal postings require manual duplicate entry per legal entity rather than auto-generation
  • No public API rate limit documentation for the core X3 REST API beyond the 180 req/min for Embedded Services
  • Implementation complexity and training burden often exceed initial estimates, leading to extended time-to-value
Epicor Prophet 21 logo

Epicor Prophet 21

Destination

Strengths

  • Purpose-built for wholesale distribution with industry-specific replenishment, kitting, and counter-sale workflows out of the box.
  • Multi-warehouse management with bin locations, cross-docking, and real-time inventory visibility across all warehouse locations.
  • Automated replenishment engine with demand-based and min-max planning reduces stockouts and overstock carrying costs.
  • AI-infused reporting via Epicor Prism provides Gen AI-driven insights into ERP data without requiring a BI team.
  • Strong customer retention at 90% and a 50-year track record in the distribution vertical provides long-term vendor stability.

Weaknesses

  • High total cost of ownership — per-user pricing of $150-200/month plus $10K-$500K implementation creates significant budget commitment for small and mid-market distributors.
  • Customization via SDK requires technical expertise and introduces upgrade risk when custom code conflicts with new P21 releases.
  • Report generation performance is a known pain point — multiple users report system freezes during large or complex report exports.
  • Third-party bolt-on reliance for functionality that competitors include natively increases integration complexity and total solution cost.
  • Limited public API documentation — developers building custom integrations report difficulty finding P21 API authentication methods and endpoint specifications.

Complexity grading

How hard is this migration?

Standard ERP migration. 2 of 8 objects need a mapping; the rest are 1:1.

B

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

    B

    2 of 8 objects need a mapping; the rest are 1:1.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    8-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    C

    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

    A

    Sage Business Cloud X3 exposes a bulk API — large-volume migrations stream efficiently.

Estimator

Estimate your Sage Business Cloud X3 to Epicor Prophet 21 migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about Sage Business Cloud X3 to Epicor Prophet 21 data migrations

Answers to the questions buyers ask most during Sage Business Cloud X3 to Epicor Prophet 21 migration scoping. Not seeing yours? Book a call.

Can't find your answer?

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 consultation

Most X3 to Epicor Kinetic migrations land between six and eight weeks for two to four X3 company codes with under 50,000 Business Partner records and standard GL/AP/AR modules. Migrations with five or more X3 legal entities, high-volume order histories, multi-site inventory with lot/serial tracking, and production order BOM-routing reconstruction move to twelve to twenty weeks because of intercompany JV reconciliation, BOM-routing linkage resolution, and Epicor Kinetic multi-company configuration. The X3 template audit and Epicor Kinetic schema design phase typically adds two to four weeks before data migration begins.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Sage Business Cloud X3.
Land in Epicor Prophet 21, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day