ERP migration
Field-level mapping, validation, and rollback between Xledger and Epicor Prophet 21. We move data and schema; workflows are rebuilt natively in Epicor Prophet 21.
Xledger
Source
Epicor Prophet 21
Destination
Compatibility
14 of 15
objects map 1:1 between Xledger and Epicor Prophet 21.
Complexity
BStandard
Timeline
5-8 weeks
Overview
Xledger and Epicor ERP are fundamentally different architectural bets. Xledger is a true multi-tenant cloud ERP built around financial consolidation: Entities own Subledgers, Subledgers own AP/AR, and intercompany journal postings flow automatically across Entity boundaries. Epicor ERP is an operations-centric platform — its Company module mirrors a legal entity, Site maps a physical location, and financial consolidation is achieved through inter-company accounting configurations rather than native Entity hierarchy. Migrating from Xledger to Epicor ERP means translating a financial-consolidation data model into an operational-manufacturing data model. We extract every Entity definition and cross-reference it against Epicor Company records, map Subledger invoice chains to Epicor's open AP/AR transaction files, and use Epicor's Data Management Tool with its 60-plus import templates to load the GL, subledgers, and fixed assets in dependency order. Workflow configurations, approval chains, and OCR templates from Xledger do not migrate as code; we deliver a written inventory for the customer's team to rebuild in Epicor.
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 Xledger 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.
Xledger
Entity
Epicor Prophet 21
Company
1:1Xledger Entities are the top-level organisational containers, each owning its own Subledger, Chart of Accounts, and bank connections. Epicor ERP uses Company as the legal-entity container. We map each Xledger Entity to one Epicor Company record, preserving Entity name as Company.Name and assigning a Company.CO cavity code for GL segment alignment. Multi-entity Xledger customers with shared bank accounts must resolve those shared references before Epicor import because Epicor's bank module expects one Company context per bank account.
Xledger
Subledger
Epicor Prophet 21
Company + Fiscal Calendar alignment
1:1Xledger Subledgers carry a type classification (AP, AR, Banking, Project) and reference the owning Entity. Epicor ERP does not have a Subledger object but uses Company plus separate AP, AR, and GL modules. We map each Xledger Subledger to its owning Entity's corresponding Epicor module context, preserving the Subledger type classification in a UD field on the Epicor Company record. Fiscal period definitions migrate from Xledger's Subledger calendar to Epicor's Fiscal Calendar for each Company.
Xledger
Chart of Accounts
Epicor Prophet 21
Account
lossyXledger's Chart of Accounts varies significantly by organisation and may include extended account dimensions for non-profits or project-based entities. Epicor ERP uses a flat or segmented account code structure configurable at the Company level. We map Xledger account codes to Epicor Account records, preserving account type (Asset, Liability, Equity, Revenue, Expense) and any Xledger dimension tags as Epicor UD codes on the Account. If Xledger uses multi-dimensional accounts, we configure Epicor's Natural Account + Department/Cost Centre segment model to match.
Xledger
Customer
Epicor Prophet 21
Customer
1:1Xledger Customer records include address, contact, payment terms, tax codes, and Subledger references. Multi-entity Customers shared across Entities require deduplication — we merge records sharing the same tax ID or email into a single Epicor Customer and assign the primary Company context. Payment terms migrate to Epicor's Terms table and link to Customer.TermsCode. Credit limits map to Epicor Customer.CreditLimit fields.
Xledger
Supplier
Epicor Prophet 21
Supplier
1:1Xledge Supplier records mirror the Customer schema: address, contact, payment terms, tax codes, Subledger reference. Shared Suppliers across Xledger Entities deduplicate to a single Epicor Supplier by tax ID. Remit-to address, one-time supplier flag, and 1099 settings map to Epicor Supplier table fields. Multi-currency supplier records carry the Xledger currency code to Epicor's SupplierRisk.PaymentMETHOD value.
Xledger
General Ledger Journal Entries
Epicor Prophet 21
GLJrnHed + GLJrnDtl
1:1Xledger journal entries span the full transaction lifecycle with posting date, amount, account, and optional dimensions. Epicor stores journal entries as GLJrnHed (header) with multiple GLJrnDtl (detail) lines. We split each multi-line Xledger journal entry into one Epicor header and multiple detail lines, preserving the original posting date, description, journal number, and source module. Detail lines carry the mapped account code, debit/credit amount, and any dimension references as EpicorExt or UD columns.
Xledger
Open AP (Subledger Invoices)
Epicor Prophet 21
APInvHed + APInvDtl
1:1Xledger stores open AP as Subledger invoice records linked to Suppliers with payment terms and aging data. Epicor AP Invoice (APInvHed/APInvDtl) mirrors this structure with separate header and detail levels. We extract every open Xledger AP Subledger record, map it to one Epicor APInvHed with the Supplier resolved by tax ID, and create APInvDtl lines for each invoice distribution. Payment terms and due dates migrate to APInvHed.Terms and APInvHed.DueDate. Historical closed AP invoices migrate as GL journal entries against the General Ledger, not as open AP records.
Xledger
Open AR (Subledger Invoices)
Epicor Prophet 21
ARInvoice + ARInvoiceTax + ARTran
1:1Xledger open AR Subledger records link to Customers with invoice amounts, aging schedules, and currency. Epicor AR Invoice uses ARInvoice as the header with ARTran detail lines and ARInvoiceTax for tax. We map each open Xledger AR Subledger record to one Epicor ARInvoice with Customer resolved by tax ID, invoice date and due date preserved, and amount split into ARTran lines by the original distribution accounts. Currency and exchange rate migrate from Xledger's multi-currency Subledger to Epicor's Currency and Rate tables.
Xledger
Bank Account
Epicor Prophet 21
BankAcct
1:1Xledger Bank Account records include routing details, account type, currency, and Entity assignment. Epicor BankAcct stores bank account information per Company. We map each Xledger bank account to an Epicor BankAcct record, preserving routing number, account number (masked), currency, and Company context. Bank feed configuration from Xledger (JPMorgan, Wells Fargo, Bank of America) does not migrate; we document the Xledger bank feed settings as a reference for the customer to configure Epicor's bank integration separately.
Xledger
Fixed Asset
Epicor Prophet 21
FaAsset + FaLog
1:1Xledger Fixed Asset records include acquisition date, cost, depreciation method, useful life, and current depreciation schedule. Epicor Fixed Assets (FaAsset table) with FaLog tracking depreciation entries. We map asset definitions from Xledger to FaAsset with AcquisitionDate, Cost, DepreciationMethod (mapped to Epicor FaAsset.DepreciationMethod values), useful life in periods, and a current net book value. Depreciation log entries carry forward into FaLog from the date of last depreciation in Xledger, with a reconciliation flag if the Xledger depreciation schedule has been modified mid-period.
Xledger
Budget Item
Epicor Prophet 21
GlBudget + GlBudgetDtl
1:1Xledger budgets are created at the Entity level and linked to specific accounts and dimensions. Epicor ERP stores budgets as GlBudget with GlBudgetDtl detail lines per account and period. We map each Xledger budget version and forecast iteration to a named GlBudget record, with budget amounts distributed across period-linked GlBudgetDtl lines. Budget vs actual comparison reporting requires the same account mapping used for journal entry migration, so account mapping is completed before budget migration to ensure dimensional consistency.
Xledger
Project
Epicor Prophet 21
Project
1:1Xledger Project records track billing, revenue recognition, and cost allocation against a project's financial lifecycle, with Subledger and custom field references. Epicor ERP has a Project module for project-based manufacturers and services businesses. We map Xledger Project records to Epicor Project with Phase and Task hierarchies, project status, billing rules, and revenue recognition method. Custom field values from Xledger carry into Epicor Project UD columns. WIP and billing milestones migrate as ProjectPhase records with associated revenue and cost budgets.
Xledger
Time Entry and Expense
Epicor Prophet 21
LaborHed + ExpenseReport + TimeExpense
1:1Xledger time entries and expense records are linked to Employees and Projects, with expense submissions including receipt data and approval workflow status. Epicor Labour captures time against jobs and projects via LaborHed/LaborDtl; expense reporting uses Epicor ExpenseReport. We map Xledger time entries to Epicor LaborHed records with the Project and Phase resolved from the Xledger Project mapping, preserving hours, cost rate, and entry date. Expense records migrate to Epicor ExpenseReport with line items, amounts, and receipt metadata. Approved status migrates but the approval workflow is not replicated.
Xledger
Employee
Epicor Prophet 21
EmpBasic + HrEmployee
1:1Xledger Employee records include payroll, benefits, cost rate, and Entity assignment for multi-entity organisations. Epicor ERP stores employee data in EmpBasic (for Labour purposes) and HrEmployee (for HRM). We map Xledger Employees to Epicor EmpBasic for Labour module context and HrEmployee for HRM context, preserving employee number, name, email, cost rate, and Entity-to-Company mapping. Employee status (active, inactive) maps directly. Xledger expense and time approval hierarchies are not migrated; the Epicor approval chain is configured separately.
Xledger
Document and Attachment
Epicor Prophet 21
DocType + External reference
1:1Xledger documents and attachments are stored against journal entries, vendors, customers, and assets. Epicor ERP uses DocType and a document management reference model rather than a flat file attachment table. We migrate document metadata (filename, description, attachment date, linked record type and ID) to a migration reference table. Large-volume document archives (over 5,000 files) require chunked migration with a document mapping manifest so that the customer can relink attachments in Epicor's document management system post-migration.
| Xledger | Epicor Prophet 21 | Compatibility | |
|---|---|---|---|
| Entity | Company1:1 | Fully supported | |
| Subledger | Company + Fiscal Calendar alignment1:1 | Fully supported | |
| Chart of Accounts | Accountlossy | Mapping required | |
| Customer | Customer1:1 | Fully supported | |
| Supplier | Supplier1:1 | Fully supported | |
| General Ledger Journal Entries | GLJrnHed + GLJrnDtl1:1 | Mapping required | |
| Open AP (Subledger Invoices) | APInvHed + APInvDtl1:1 | Fully supported | |
| Open AR (Subledger Invoices) | ARInvoice + ARInvoiceTax + ARTran1:1 | Fully supported | |
| Bank Account | BankAcct1:1 | Fully supported | |
| Fixed Asset | FaAsset + FaLog1:1 | Fully supported | |
| Budget Item | GlBudget + GlBudgetDtl1:1 | Fully supported | |
| Project | Project1:1 | Fully supported | |
| Time Entry and Expense | LaborHed + ExpenseReport + TimeExpense1:1 | Fully supported | |
| Employee | EmpBasic + HrEmployee1:1 | Fully supported | |
| Document and Attachment | DocType + External reference1: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.
Xledger gotchas
Multi-entity intercompany journal entries require careful cross-mapping
Historical AP/AR records map to invoice-level objects, not account balances
Workflow and approval configurations are custom and non-transferable
ERP implementations extend well beyond the initial migration window
Built-in integrations are Xledger-side only and require separate destination-side configuration
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 Entity-to-Company topology design
We audit the source Xledger environment: every Entity, Subledger, and Chart of Accounts structure; open AP/AR invoice volume and aging; fixed asset register size; historical journal entry volume and date range; project count and type; employee headcount and time/expense data. We also extract workflow and approval configurations for documentation. In parallel, we review the target Epicor ERP environment: Company count, Site count, fiscal calendar configuration, existing account codes, and enabled modules. The discovery output is a written Entity-to-Company topology map, a Chart of Accounts translation table, and a phased migration scope with record counts per object.
Schema design and Epicor DMT template preparation
We design the Epicor schema to receive Xledger data: each Xledger Entity maps to one Epicor Company; Subledger types map to module context; Xledger account codes map to Epicor Account records with type classification and segment assignments. We configure multi-currency per Company using Xledger's currency assignments as the source of truth. We customise Epicor DMT templates for each data type, pre-validating field mappings against Epicor business rules. Any Epicor validation rules that would reject Xledger-formatted data are identified and a temporary bypass or transform rule is agreed with the customer before testing begins.
Sandbox migration and GL balance reconciliation
We run a full migration into the Epicor Sandbox using production-equivalent data volume. We load Companies first, then account codes, then customers, suppliers, open AP/AR, fixed assets, projects, and historical journals in dependency order. After each phase, we produce a reconciliation report comparing source record counts to destination record counts. We close with a GL trial balance comparison: total debits minus total credits by period must match between Xledger and Epicor within a configurable tolerance (typically $0.01 per period). The customer signs off the Sandbox migration before production migration begins.
Intercompany journal entry resolution
If Xledger contains cross-Entity intercompany journal postings, we run a separate resolution pass. We identify every intercompany transaction, categorise by Entity pair, and propose a treatment: either recreate as standard journal entries in each Epicor Company with elimination notation and a flag in the journal description, or defer to Epicor's inter-company accounting configuration for formal elimination at period close. The customer selects the treatment per Entity pair, and we document the chosen approach in the intercompany journal inventory.
Production migration in dependency order
Production migration follows the Sandbox sequence with a final delta extraction: GL accounts, Company records, customer and supplier masters, open AP invoices (APInvHed + APInvDtl), open AR invoices (ARInvoice + ARTran), fixed assets, projects, time and expense entries, and historical journal entries (GLJrnHed + GLJrnDtl). Each phase emits a reconciliation report before the next begins. DMT runs in batch mode with error logging; failed records are corrected in the Xledger staging environment and reloaded in the same phase. Epicor DMT enforces referential integrity, so parent records load completely before child records for each module.
Cutover, delta migration, and workflow handoff
We freeze Xledger write access at cutover and run a final delta migration of any records created or modified during the migration window. We then enable Epicor ERP as the system of record and deliver the workflow configuration inventory document to the customer's Epicor admin team. We support a one-week hypercare window for reconciliation issues raised by the finance team. We do not rebuild Xledger workflow configurations as Epicor approvals inside the migration scope; that work uses the delivered configuration guide and is handled by the customer's Epicor partner or internal admin team as a separate engagement.
Platform deep dives
Xledger
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 Xledger 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
Xledger: Not publicly documented.
Data volume sensitivity
Xledger doesn't expose a bulk API — REST + parallelization used for high-volume runs.
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 Xledger to Epicor Prophet 21 migration scoping. Not seeing yours? Book a call.
Walk through your Xledger 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 Xledger
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.