ERP migration

Migrate from De Facto ERP to Epicor Prophet 21

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 logo

De Facto ERP

Source

Epicor Prophet 21

Destination

Epicor Prophet 21 logo

Compatibility

75%

9 of 12

objects map 1:1 between De Facto ERP and Epicor Prophet 21.

Complexity

BStandard

Timeline

6-10 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

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.

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

De Facto ERP logo

De Facto ERP

What's pushing teams away

  • Very few verified reviews exist publicly, making independent evaluation difficult and suggesting a small customer base or low market visibility for a product in this category.
  • Pricing is not publicly transparent — all tiers require direct contact with sales, which creates friction for prospects evaluating cost against alternatives like Odoo or NetSuite.
  • Ease of use scores are notably low (1.5/5 on Capterra) compared to competitors, indicating the steep customization capability comes at the cost of usability for some users.
  • Support ratings are also low (1.0/5 on Capterra), suggesting that post-implementation support may not match the strong implementation partnership experience.

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 De Facto ERP objects map to Epicor Prophet 21

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

maps to

Epicor Prophet 21

Customer

1:1
Fully supported

De 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

maps to

Epicor Prophet 21

Vendor

1:1
Fully supported

De 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

maps to

Epicor Prophet 21

Part

1:1
Fully supported

De 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)

maps to

Epicor Prophet 21

PartMtl + PartOpr + PartRoute

1:many
Fully supported

De 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

maps to

Epicor Prophet 21

InvcHead + InvcDtl / LinkTo GL

1:1
Mapping required

De 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

maps to

Epicor Prophet 21

GLAccount

1:1
Fully supported

De 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

maps to

Epicor Prophet 21

User

1:1
Mapping required

De 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

maps to

Epicor Prophet 21

FAsset

1:1
Mapping required

De 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

maps to

Epicor Prophet 21

Quote + Order

lossy
Fully supported

De 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

maps to

Epicor Prophet 21

DocumentAttach

1:1
Mapping required

De 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

maps to

Epicor Prophet 21

OrderHed + JobMtl + LaborDtl

1:1
Mapping required

De 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

maps to

Epicor Prophet 21

BAQ (Business Activity Query)

lossy
Not supported

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

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.

De Facto ERP logo

De Facto ERP gotchas

High

No documented public API for programmatic extraction

High

Highly customized deployments resist template migrations

Medium

Pricing is opaque — all tiers require sales contact

Medium

Limited public review volume and low category ratings

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

  • De Facto has no public API — extraction requires TSQL scoping

    De Facto ERP does not expose a documented public API. All data export relies on TSQL scripts written against the proprietary EDP database schema, and SSRS-based report output for structured data. Each migration requires a custom extraction approach scoped during discovery that maps De Facto's internal table and column names to a migration-ready export. The absence of an API extends migration timelines by 30-50 percent compared to source platforms with REST or Bulk endpoints, and it means the De Facto configuration team must provide database-level access or generate the export scripts on our behalf.

  • Every De Facto deployment has a unique data model

    De Facto actively tailors its EDP architecture to each customer's company-specific requirements, which means no two De Facto deployments share the same configuration. Custom fields, user-defined tables, TSQL-generated output formats, and non-standard workflow configurations require explicit mapping from scratch during the scoping phase. A migration that fails to capture the specific customizations results in data loss or broken relationships at the Epicor destination. We address this with a comprehensive discovery audit before any extraction begins, but customers should budget extra time for schema mapping on highly customized De Facto environments.

  • Landed cost components require decomposition and rebuild in Epicor

    De Facto tracks landed costs (freight, insurance, duty, tax) at the item level as named components with separate values. Epicor Kinetic uses a different landed cost allocation model based on Part.LandedCostPercent, PartClass.LandedCostMultiplier, and vendor-based landed cost rules. We extract each De Facto landed cost component as a separate row, then reconstruct it as Epicor LandedCostPart allocations per part or part class. This is a configuration task, not a direct 1:1 map, and requires the customer's Epicor admin to confirm the landed cost allocation strategy before we load items.

  • Epicor Kinetic UD field setup must precede custom-object migration

    Epicor Kinetic supports User-Defined (UD) fields on standard tables for extending the data model. When migrating De Facto custom CRM fields, custom item attributes, or custom vendor fields, we must pre-create the corresponding UD fields in Epicor Kinetic before loading data. Epicor user forum discussions (epiusers.help) confirm that UD field creation requires attention to data type, like-column validation, and BPM logic for population. We configure UD fields in a sandbox Epicor environment first, validate the migration against them, then deploy to production.

  • User role migration is a written deliverable, not a data load

    De Facto role definitions are often bespoke to each deployment and stored as custom security configurations within the EDP. Epicor Kinetic Security uses Role Groups, Menu Sets, and Edward J. McFadden Object Access controls that do not have a direct import from De Facto's role model. We extract all De Facto user records with their associated roles and deliver a Role Mapping Report that identifies the equivalent Epicor Kinetic permission structure. The customer's Epicor admin rebuilds these as part of the post-migration admin work. We do not migrate user permissions as permission-set records.

Migration approach

Six steps for a successful De Facto ERP to Epicor Prophet 21 data migration

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

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

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

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

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

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

Context on both ends of the pair

De Facto ERP logo

De Facto ERP

Source

Strengths

  • Highly customizable ERP that adapts to company-specific processes rather than forcing standard templates
  • Proprietary EDP (Enterprise Data Platform) architecture designed for flexible, scalable deployment
  • Strong long-term customer partnerships with some clients using the system for decades
  • Handles complex supply chain scenarios including landed costs, landed-cost tracking for importers, and warranty stock management
  • Active implementation support that helps customers migrate existing processes while identifying improvements

Weaknesses

  • Very few publicly verified reviews, making independent evaluation challenging
  • All pricing requires direct sales contact, creating evaluation friction
  • Low ease-of-use scores compared to category alternatives
  • Support quality ratings are inconsistent based on available reviews
  • No documented public API for programmatic data extraction or integration
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 De Facto ERP 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

    B

    De Facto ERP: Not publicly documented.

  • Data volume sensitivity

    B

    De Facto ERP doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your De Facto ERP 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 De Facto ERP to Epicor Prophet 21 data migrations

Answers to the questions buyers ask most during De Facto ERP to Epicor Prophet 21 migration scoping. Not seeing yours? Book a call.

Can't find your answer?

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 consultation

Most migrations land between six and ten weeks for environments under 10,000 customers, 20,000 items, and no complex multi-level BOM structures or extensive landed-cost component tracking. Migrations with high item counts (50,000+ SKUs), multi-component landed cost tracking, large transactional histories (100,000+ records), or multiple De Facto custom field sets move to twelve to twenty weeks because of TSQL extraction scope, BOM parent-child resolution, landed-cost configuration, and Epicor UD field setup. The absence of a De Facto API is the single largest timeline variable; API-based source platforms of comparable size migrate 30-50 percent faster.

Adjacent paths

Related migrations to explore

Ready when you are

Move from De Facto ERP.
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