ERP migration
Field-level mapping, validation, and rollback between De Facto ERP and Epicor Prophet 21. We move data and schema; workflows are rebuilt natively in Epicor Prophet 21.
De Facto ERP
Source
Epicor Prophet 21
Destination
Compatibility
9 of 12
objects map 1:1 between De Facto ERP and Epicor Prophet 21.
Complexity
BStandard
Timeline
6-10 weeks
Overview
Moving from De Facto ERP to Epicor ERP is a process re-implementation, not a simple record copy. De Facto's highly tailored deployments mean no two systems share the same data model, and with no documented public API, all extraction relies on TSQL scripts and SSRS-based reporting scoped during discovery. We extract from De Facto's Financials, Product Supply Chain, and CRM modules, then load into Epicor Kinetic via its REST API with parent-record lookup resolution for Customers, Vendors, Items, Open Invoices, and Chart of Accounts. Landed-cost components (freight, insurance, duty, tax) that De Facto tracks at item level require explicit mapping to Epicor's landed cost allocation model. User role definitions, which are often custom in De Facto, do not migrate as permission sets; we deliver a written inventory for the customer's Epicor admin to rebuild in Kinetic Security. Reports, BI, workflows, and automations do not migrate as code.
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 De Facto ERP 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.
De Facto ERP
Customer
Epicor Prophet 21
Customer
1:1De Facto Customer records from the Financials and CRM modules map to Epicor Kinetic Customer. We extract via TSQL including name, contact details, addresses (ship-to and bill-to), payment terms, currency assignments, and account balances. The Customer.CustID becomes the Epicor Kinetic CustNum with CustID as a reference field. Open invoice balances from De Facto's AR ledger migrate as Epicor InvcHead records with payment status preserved to prevent double-billing. Multi-country customer configurations require currency and tax code mapping per De Facto's country assignment.
De Facto ERP
Vendor / Supplier
Epicor Prophet 21
Vendor
1:1De Facto Vendor master records map to Epicor Kinetic Vendor. We extract vendor name, addresses, payment terms, bank details, and currency assignments via TSQL. The landed cost tracking that De Facto uses for imported items references the Vendor record for freight and insurance cost centers; we preserve these assignments and map them to Epicor LandedCostPart records after vendor settlement.
De Facto ERP
Item / Product
Epicor Prophet 21
Part
1:1De Facto Items (the core of the Product Supply Chain module) map to Epicor Kinetic Part. Each De Facto item may carry landed cost components (freight, insurance, duty, tax) that require decomposition and re-entry as Epicor Part.LandedCostPercent allocations per part class or per vendor. BOM structures from De Facto map to Epicor PartMtl (materials), PartOpr (operations), and PartRoute (routing) records. We use De Facto's TSQL export of the items table including columns for bom_flag, landed_cost_flag, and multi-country tax codes, then resolve Epicor Part.ClassID and PartPkgSize at migration time.
De Facto ERP
Item / BOM (Bill of Materials)
Epicor Prophet 21
PartMtl + PartOpr + PartRoute
1:manyDe Facto BOM structures decompose into Epicor PartMtl (material requirements), PartOpr (manufacturing operations), and PartRoute (production routing). De Facto's multi-level BOMs require iterative parent-child resolution in our TSQL extraction script. We preserve BOM revision effective dates and ghost BOM flags by mapping them to Epicor PartRev.ECO_mtl_group and revision-by-date logic.
De Facto ERP
Open AP / AR
Epicor Prophet 21
InvcHead + InvcDtl / LinkTo GL
1:1De Facto open AP and AR records (invoices, credit notes, outstanding balances) migrate as Epicor Kinetic InvcHead and InvcDtl. Payment status, due dates, and aging buckets transfer from De Facto's transaction ledger via TSQL. We set Epicor InvcHead.InvoiceType and preserve the original De Facto invoice number as a reference field. Reconciliation gaps between De Facto's AR aging and Epicor's cash receipt matching are flagged before production load.
De Facto ERP
Chart of Accounts
Epicor Prophet 21
GLAccount
1:1De Facto's chart of accounts exports via TSQL in CSV or XML format and maps to Epicor Kinetic GLAccount. Account segment structure (natural account, department, cost center) from De Facto maps to Epicor's COACodes segment definitions. We apply the Epicor GLAccount structure using the account segment order from De Facto's ledger setup and preserve De Facto's account descriptions as GLAccount.Description.
De Facto ERP
Users / Employees
Epicor Prophet 21
User
1:1De Facto User records and role assignments map to Epicor Kinetic User records. Role definitions are highly custom in De Facto and do not map 1:1 to Epicor Kinetic Security Role Groups. We extract all users with their associated De Facto roles and deliver a written Role Mapping Report identifying which Epicor Kinetic Role Groups, Menu Sets, and Edward J. McFadden Object Access controls correspond to each De Facto permission set. The customer's Epicor admin rebuilds these post-migration.
De Facto ERP
Fixed Assets
Epicor Prophet 21
FAsset
1:1De Facto's fixed asset register including acquisition cost, accumulated depreciation, and asset location maps to Epicor Kinetic FAsset. Depreciation schedules migrate as FAssetReg and FAssetDist records. De Facto's landed cost tracking for imported items may overlap with fixed asset cost capitalization (duty and freight embedded in acquisition cost); we disambiguate these during extraction and set FAsset.CostAdjustment appropriately in Epicor.
De Facto ERP
CRM / Opportunities
Epicor Prophet 21
Quote + Order
lossyDe Facto's CRM module with opportunity tracking maps to Epicor Kinetic Quote and SalesOrder. Opportunity name, value, stage, and associated contacts from De Facto's CRM export become Epicor Kinetic QuoteHdr and OrderHed records. De Facto custom CRM fields require UD field creation in Epicor Kinetic before migration. We preserve the opportunity close date and probability percentage from De Facto as QuoteHed fields.
De Facto ERP
Documents / Attachments
Epicor Prophet 21
DocumentAttach
1:1De Facto stores documents linked to data records via its document management module with OCR processing for inbound documents. Document-to-record linkages and embedded attachments may not export cleanly without explicit extraction. We extract documents by resolving the De Facto document reference against the associated entity record (Customer, Vendor, Part, Order) and load them as Epicor Kinetic DocumentAttach records. Embedded OCR metadata requires custom parsing and mapping to Epicor Kinetic's attachment metadata fields.
De Facto ERP
Historical Transactions
Epicor Prophet 21
OrderHed + JobMtl + LaborDtl
1:1De Facto historical transactions (purchase orders, sales orders, warehouse movements) export via TSQL script output. Large transaction volumes require chunked extraction with date-range partitioning. We migrate the last two fiscal years of transactional history by default, with the customer's choice of whether to include prior years as historical archive or as an external archived reference. Warehouse movements map to Epicor Kinetic PartTran records.
De Facto ERP
Reports / BI
Epicor Prophet 21
BAQ (Business Activity Query)
lossyDe Facto's Reporting & Analysis module uses Microsoft SSRS-based report definitions that are not portable across platforms. We export the data that feeds De Facto SSRS reports as structured CSV via TSQL, then deliver a BAQ design guide to the customer's Epicor admin showing how to recreate the equivalent queries in Epicor Kinetic's BAQ framework. This is a documentation deliverable, not a migration of report code.
| De Facto ERP | Epicor Prophet 21 | Compatibility | |
|---|---|---|---|
| Customer | Customer1:1 | Fully supported | |
| Vendor / Supplier | Vendor1:1 | Fully supported | |
| Item / Product | Part1:1 | Fully supported | |
| Item / BOM (Bill of Materials) | PartMtl + PartOpr + PartRoute1:many | Fully supported | |
| Open AP / AR | InvcHead + InvcDtl / LinkTo GL1:1 | Mapping required | |
| Chart of Accounts | GLAccount1:1 | Fully supported | |
| Users / Employees | User1:1 | Mapping required | |
| Fixed Assets | FAsset1:1 | Mapping required | |
| CRM / Opportunities | Quote + Orderlossy | Fully supported | |
| Documents / Attachments | DocumentAttach1:1 | Mapping required | |
| Historical Transactions | OrderHed + JobMtl + LaborDtl1:1 | Mapping required | |
| Reports / BI | BAQ (Business Activity Query)lossy | Not 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.
De Facto ERP gotchas
No documented public API for programmatic extraction
Highly customized deployments resist template migrations
Pricing is opaque — all tiers require sales contact
Limited public review volume and low category ratings
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 custom extraction scoping
We conduct a comprehensive audit of the De Facto EDP database schema, TSQL export capabilities, SSRS report definitions, and custom field configurations across the Financials, Product Supply Chain, and CRM modules. We document every custom table, user-defined field, and non-standard configuration that exists in the De Facto deployment. This audit produces a written Data Inventory and Extraction Plan specifying which TSQL scripts we will use for each entity, the export format (CSV, XML, or direct database extraction), and the chunking strategy for large tables. We also confirm the De Facto database access method with the customer's technical team.
Epicor Kinetic schema design and UD field provisioning
We design the destination Epicor Kinetic schema based on the customer's target Kinetic edition and modules. This includes creating Part classes and landed cost allocation rules, configuring GLAccount segment structures to match the De Facto chart of accounts, setting up Vendor payment terms and currency assignments, and creating any required UD fields for De Facto custom CRM fields and item attributes. Schema design happens in an Epicor Kinetic sandbox environment first for validation. We also configure the Epicor Kinetic REST API credentials and confirm the applicable API rate limits for the target environment.
Extraction development and sandbox migration
We develop the TSQL extraction scripts identified in the Discovery phase and run a sandbox migration into a staging Epicor Kinetic environment using production-like data volume. The customer's operations and finance leads reconcile record counts, spot-check random samples against the De Facto source, and validate that landed-cost components, BOM structures, and open invoice statuses transferred correctly. Any extraction corrections, field mapping adjustments, or schema changes happen at this stage. Sign-off on the sandbox migration gates production migration.
Landed cost and BOM mapping validation
We run a dedicated validation pass for landed-cost components and BOM structures before the main migration. Landed-cost components extracted from De Facto are mapped to Epicor Kinetic Part.LandedCostPercent and LandedCostPart records, with the customer's Epicor admin confirming the allocation strategy. Multi-level BOMs are resolved iteratively and validated for material completeness and operation sequence accuracy. This pass produces a BOM completeness report that the customer's engineering team validates before final production migration.
Production migration in dependency order
We run production migration in record-dependency order: GLAccount (chart of accounts first), then Vendor, Customer, Part with landed cost and BOM, Fixed Assets, open AP/AR invoices, CRM Quote and SalesOrder history, user records with a Role Mapping Report for admin rebuild, document attachments, and historical transactions last with date-range partitioning. Each phase emits a row-count reconciliation report and a data-quality summary before the next phase begins. We use Epicor Kinetic REST API batch operations with rate-limit handling and exponential backoff throughout.
Cutover, validation, and workflow rebuild handoff
We freeze De Facto writes during cutover, run a final delta migration of any records modified during the migration window, then enable Epicor Kinetic as the system of record. We deliver the Role Mapping Report (for Epicor admin to rebuild user permissions), the BAQ design guide (for Epicor admin to rebuild reports), and a written inventory of any De Facto workflows or automations that require rebuild in Epicor Kinetic Business Process Management. We support a one-week post-cutover reconciliation window and then close the migration engagement. Post-migration admin rebuild of roles, BPMs, and BAQs is outside standard scope and can be scoped as a separate engagement.
Platform deep dives
De Facto ERP
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 De Facto ERP 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
De Facto ERP: Not publicly documented.
Data volume sensitivity
De Facto ERP 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 De Facto ERP to Epicor Prophet 21 migration scoping. Not seeing yours? Book a call.
Walk through your De Facto ERP 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 De Facto ERP
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.