ERP migration

Migrate from Deacom ERP to Epicor Prophet 21

Field-level mapping, validation, and rollback between Deacom ERP and Epicor Prophet 21. We move data and schema; workflows are rebuilt natively in Epicor Prophet 21.

Deacom ERP logo

Deacom ERP

Source

Epicor Prophet 21

Destination

Epicor Prophet 21 logo

Compatibility

77%

10 of 13

objects map 1:1 between Deacom ERP and Epicor Prophet 21.

Complexity

BStandard

Timeline

8-12 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Deacom ERP stores all data in a single-database architecture using dm (maintenance), dt (transaction), and dx (system) table types with _id primary keys and _*id foreign key references. Epicor ERP organizes data across separate Part, Customer, Job, BOM, and financial modules requiring a different dependency sequencing model. We pre-scan the Deacom export scope to estimate record counts, sequence dm records first (Items, Customers, Vendors, BOMs), then dt records in timestamp order (sales orders, inventory movements, production orders, GL journals), respecting Deacom's rate limiting introduced in version 17.04.008. Catch-weight inventory from Deacom requires configuration in Epicor Kinetic's UOM class system. BOM revisions with multiple active states require a customer decision on consolidation strategy. QC test schemas and EDI trading partner setups migrate as configuration metadata; workflows and automations are delivered as written inventories for the customer's admin to rebuild in Epicor Kinetic's built-in process automation.

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

Deacom ERP logo

Deacom ERP

What's pushing teams away

  • Not user-friendly — reviewers report significant trial-and-error learning curve, with department-specific workflows that require formal training rather than intuitive discovery.
  • Support quality is inconsistent — tickets get closed without resolution, and reaching the data or development team for persistent bugs is difficult.
  • Implementation is described as unorganized with multiple consultants stepping in and out, causing scope creep and extended timelines beyond quoted periods.
  • Product felt unfinished to some customers — frequent changes and new releases with inadequate stability testing between versions.
  • Tracking leads and generating pricing sheets are pain points for sales-facing users; the CRM module lacks depth compared to purpose-built sales platforms.

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

Each row shows how a Deacom 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.

Deacom ERP

Items (dmprod — Item Master)

maps to

Epicor Prophet 21

Part / PartClass

1:1
Fully supported

Deacom Items (dmprod) using pr_id as sequential integer primary key map to Epicor Kinetic Part records. The PartClass defines the part type (Item, Service, etc.), and Part-specific attributes (catch-weight settings, shelf-life days, lot traceability flags) are configured in Epicor's Part master after import. Facility restrictions on Items migrate as Site-specific Part records or Site-restricted PartClass assignments. UOM definitions (dmprod.unit_of_measure) map to Epicor's UOMClass and UOM system, with catch-weight UOMs requiring explicit weight-per-unit setup in the Part's UOMClass definition.

Deacom ERP

Formulations / BOMs

maps to

Epicor Prophet 21

Bill of Materials / Engineering Workbench

lossy
Fully supported

Deacom BOMs store multiple active revisions per Item (default, lab-only, regulatory-only) with revision-date ordering. We export BOM records sorted by revision date and flag any Item with more than one active revision. The customer chooses between consolidating to the current default BOM or preserving multiple Epicor Kinetic BOM revisions with appropriate revision type flags. Epicor's Engineering Workbench revision model supports effective dates but does not have native lab-only and regulatory-only BOM variants — these require a custom revision type field or naming convention established during configuration.

Deacom ERP

Customers (dmcust)

maps to

Epicor Prophet 21

Customer / CustomerGroup

1:1
Fully supported

Deacom Customer records (dmcust) using cu_id as primary key map to Epicor Kinetic Customer records. Customer hierarchies, credit terms, and customer-part associations (dmcust cross-links) map to Customer and CustomerGroup. Customer-specific pricing sheets stored in Deacom migrate as Part's Price List entries scoped to the Customer or CustomerGroup in Epicor. Ship-to addresses and contact records require separate mapping to Epicor's CustCnt and ShipTo tables.

Deacom ERP

Vendors

maps to

Epicor Prophet 21

Supplier / SupplierPart

1:1
Fully supported

Deacom Vendor master data maps to Epicor Kinetic Supplier records. Purchasing lead times, preferred UOMs, and vendor-specific part cross-references migrate to Supplier and SupplierPart tables. Vendor contracts and terms map to Epicor's Terms and Conditions system linked to the Supplier.

Deacom ERP

Sales Orders

maps to

Epicor Prophet 21

SalesOrder / OrderDtl

1:1
Fully supported

Deacom sales order headers and lines (dt-type records referencing dmcust and dmprod) map to Epicor Kinetic SalesOrder and OrderDtl. Order status (open, fulfilled, invoiced) maps to the OrderHed.OrderStatus and OrderDtl.OrderLine fields. Drop-ship and DSD order types require Epicor's drop-ship and multi-site configuration. Pricing sourced from Deacom customer-specific pricing sheets migrates as PriceLdn entries linked to the Part and Customer during order import.

Deacom ERP

Production Orders / Jobs

maps to

Epicor Prophet 21

Job / JobProd / JobMtl / JobOper

1:1
Fully supported

Deacom production orders (dt-type transaction records referencing dmprod Item and BOM revision) map to Epicor Kinetic Job records. Job status migrates as the Epicor Job status (open, complete, closed), with job costing, routing steps, and labor tracking entries mapped to JobMtl and JobOper. Open production orders in Deacom require a status decision before migration — either create Epicor Jobs as open with the same status so Epicor picks them up, or close them in Deacom and create them as closed historical records. Job close tolerance and the production order reference number field are preserved for audit continuity.

Deacom ERP

Quality Control Tests

maps to

Epicor Prophet 21

QC Spec / QC SpecDtl / LaborDtl

lossy
Mapping required

Deacom QC tests set up per Item/Revision with threshold values, test types, and pass/fail criteria map to Epicor Kinetic QC Spec records. We create QC SpecType and QC SpecMtl linkages before Part import so that quality specifications are in place when production orders are created. Facility-specific QC test variations stored in Deacom map to Epicor Site-specific QC Spec overrides. Test type labels and d3_c2guid UDF pick-list options require GUID remapping using the dxcaption2 label extraction approach described in the gotchas section.

Deacom ERP

Lot/Serial Traceability

maps to

Epicor Prophet 21

Lot / LotDtl / PartLot

1:1
Fully supported

Deacom stores lot numbers and shelf-life dates at the inventory transaction level. Lot genealogy with parent-child relationships for co-manufactured or bulk-split scenarios maps to Epicor Kinetic Lot records with LotMtl references linking parent and child lots. Shelf-life expiration dates migrate to Lot.LotExpirationDate. Serial number tracking migrates to Lot records with the serial number flag set per Part's tracking requirement. The lot genealogy graph is reconstructed from Deacom's lot_parent_id and lot_child_id relationship records.

Deacom ERP

Inventory Transactions

maps to

Epicor Prophet 21

PartTran / InvAdj / MaterialMovements

1:1
Fully supported

All Deacom inventory movements — receipts, issues, adjustments, and transfers — in dt-type tables linked to Items and lots map to Epicor Kinetic PartTran records. Transactions are sequenced in timestamp order and exclude any records referencing lots that were purged or flagged as invalid during the export phase. PartTran references are resolved to the imported Lot records and the imported Part records using pre-built lookup tables generated during the master data import phase.

Deacom ERP

General Ledger / Journal Entries

maps to

Epicor Prophet 21

GL Journal / GLJrnDtl

1:1
Fully supported

Deacom real-time GL postings with drill-down to dt transaction level map to Epicor Kinetic GLJrnDtl records within a GL Journal batch. Account codes from Deacom's chart of accounts map to Epicor GL Account segments. Multi-currency journals migrate with exchange rate references, but we recommend that the customer's Epicor implementation team verify currency revaluation rules for the destination fiscal year setup. Custom financial statements per company structure migrate as Epicor Financial Report Designer configurations. Historical transaction amounts are imported as posted journals — Epicor requires that the fiscal periods are open for the date range of any imported journal entries.

Deacom ERP

Accounts Payable / Receivable

maps to

Epicor Prophet 21

AP Invoice / AR Invoice / Payment / CashEntry

1:1
Fully supported

Deacom AP and AR modules integrate with the GL. Open invoices, payment applications, credit memos, and aging details map to Epicor AP InvoiceHed/InvoiceDtl and AR InvoiceHed/InvoiceDtl records. Multi-currency AR with exchange rate details migrates with the invoice records. Customer and supplier payment terms from Deacom map to Epicor's Terms system linked to the Customer and Supplier records. Open invoices are imported with their current aging status; closed invoices migrate as historical records without triggering aging recalculation.

Deacom ERP

Custom UDF Pick-List Options (dmd3)

maps to

Epicor Prophet 21

Epicor Kinetic UD Codes or Custom Fields

lossy
Mapping required

Deacom UDF pick-list options reference d3_c2guid links to the dxcaption2 table's system-generated uniqueidentifier values that are non-transferable across databases. We extract the human-readable label and its associated d3_c2guid value during export, build a remapping table, and recreate the pick-list options in Epicor Kinetic as UD Codes (if using Epicor's UD01-UD10 convention) or as custom pick-list fields with the correct option values. The old _guid values are not imported; only the labels migrate and are assigned new Epicor-native IDs. This step must complete before any UDF values are imported for QC tests, Items, or Customers.

Deacom ERP

Mobile App Data

maps to

Epicor Prophet 21

Not Migrated

1:1
Not supported

Deacom's iOS and Android mobile apps for sales and warehouse use cached local data that is not persisted to exportable database tables. Mobile-specific notes and offline entries are not independently retrievable and cannot be migrated. We document this gap in the migration inventory with a recommendation for the customer to review mobile app data manually and re-enter any critical records in Epicor Kinetic post go-live.

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.

Deacom ERP logo

Deacom ERP gotchas

High

Rate limiting on the Deacom Public API requires chunked export sequencing

Medium

BOM revisions require revision-date sequencing to preserve formulation state

Medium

Custom UDF pick-list options use _guid references that break cross-database

Medium

Multi-tenant cloud hosting limits server-level access needed for deep exports

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

  • Epicor financial data conversions have a history of accuracy issues

    Community reports from Spiceworks document that Epicor financial data conversions during version upgrades have required manual correction post-import, with Epicor confirming data integrity issues on specific conversion runs. When migrating GL journals, AP/AR invoices, and payment records from Deacom, we apply triple-layer validation: Deacom account balance verification against the exported trial balance before import, Epicor GL period total verification after import, and cross-module validation matching AP/AR open invoice totals to the GL control accounts. Any discrepancy exceeding the customer's defined tolerance triggers a reconciliation before the next phase begins.

  • Deacom's single-database architecture creates complex cross-object foreign key chains that Epicor's modular tables do not share

    Deacom stores Items, BOMs, QC tests, production orders, and inventory transactions in a single database with _id/_*id conventions. Epicor Kinetic separates these across Part, BOM, Job, and InvTrans tables with different primary key models and relationship semantics. When a Deacom production order references an Item (pr_id), a BOM revision, and a QC test — all three must exist in Epicor before the Job record can reference them. We sequence the migration in dependency layers: master data (dm records) first, then transactional data (dt records) second, with pre-built lookup tables mapping Deacom _id values to Epicor generated IDs. Skipping this sequencing causes orphaned Job records with invalid Part and BOM references.

  • Deacom BOM revisions with multiple active states require a consolidation decision before Epicor import

    Deacom BOMs support multiple simultaneous active revisions per Item flagged as default, lab-only, or regulatory-only. Epicor Kinetic's BOM model uses a primary revision with an ECO revision workflow but does not natively support multiple concurrent active BOMs per Part. Items with more than one active Deacom BOM revision are flagged during export and held in a consolidation queue. The customer chooses whether to take the current default revision only, create multiple Epicor BOM revisions with type flags, or consolidate to a single revision. BOM revision consolidation cannot be automated — it requires a product engineering decision that affects costing, scheduling, and regulatory compliance records.

  • Epicor Kinetic requires a minimum of 10 users at $125 per user monthly

    Epicor Kinetic's subscription model requires a minimum of 10 users at $125 per user per month. Deacom customers with fewer than 10 active ERP users face a minimum monthly cost increase even before implementation fees and module costs. We include a user count audit in discovery to confirm whether the customer's active Deacom user count meets Epicor's minimum threshold. If not, we flag this as a pricing constraint and document the minimum Epicor monthly subscription cost for the customer's budget planning.

  • Catch-weight inventory from Deacom requires explicit UOM class configuration in Epicor Kinetic

    Deacom stores catch-weight settings per Item with weight-per-unit and facility restriction flags natively. Epicor Kinetic handles catch-weight inventory through its UOM class system — the Item must be assigned to a UOM Class with catch-weight UOMs defined, and each Part must have weight-per-unit entries for the relevant UOMs. We extract the catch-weight settings from Deacom's dmprod records during export and generate the corresponding Epicor Kinetic UOM Class definitions and Part UOM records as a pre-configuration step before Part import. Misconfigured UOM classes silently produce incorrect inventory quantities in Epicor's standard cost and physical inventory modules.

Migration approach

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

  1. Discovery and hosting verification

    We audit the Deacom database across all table types — dm maintenance tables (Items, Customers, Vendors), dt transaction tables (production orders, inventory movements, GL postings, AP/AR), and dx system tables (UDF metadata, caption overrides). We confirm whether the customer uses single-tenant or multi-tenant cloud hosting because multi-tenant deployments restrict SQL read-only access and require API-only export. We count records per table type, flag BOM items with multiple active revisions, identify catch-weight Item records, map UDF pick-list option counts, and estimate EDI trading partner volumes. We also confirm the active Epicor Kinetic tier, user count, and whether the implementation is greenfield or replacing an existing Epicor instance.

  2. Export sequencing and rate-limit handling

    Deacom's API introduced rate limiting in version 17.04.008, which caps requests within a time window. We pre-scan the export scope to estimate record counts per table type and sequence dt records in batches of 5,000 with configurable delay between chunks to avoid 429 errors. For multi-tenant deployments, we switch to API-only export with pagination controls. We run BOM revision export sorted by revision date and flag Items with multiple active revisions for the consolidation decision in step 5. We extract UDF pick-list labels and their d3_c2guid values from dxcaption2 for the remapping table generation described in the gotchas section. We run a validation pass comparing Deacom account totals to exported totals before committing the export dataset.

  3. Epicor Kinetic schema configuration

    We configure Epicor Kinetic before any data arrives. This includes setting up the company structure and fiscal calendar, defining PartClass records for catch-weight UOM classes, configuring lot traceability settings (full, lot-on-transaction, none) per PartClass, and creating QC SpecType records linked to Part and Site combinations. We pre-build BOM revision type codes and ECO workflow settings to support either single-revision consolidation or multi-revision preservation based on the customer's consolidation decision. We create GL account segments mapped from Deacom's chart of accounts and configure the journal entry template for historical financial imports. All configuration is deployed to a Sandbox org first for validation.

  4. UDF pick-list GUID remapping

    We extract the human-readable label and its associated d3_c2guid value from Deacom's dmd3 and dxcaption2 tables, generate a remapping table assigning new Epicor-native IDs, and recreate the pick-list options in Epicor Kinetic before any UDF-dependent records (QC tests, Items, Customers) are imported. The old _guid values are discarded; only the labels transfer. We validate that the recreated pick-list option count in Epicor matches the original Deacom count for each UDF field.

  5. BOM consolidation decision and master data import

    Items with multiple active Deacom BOM revisions are presented to the customer with a three-option recommendation: consolidate to the current default revision (simplest, no revision history in Epicor), create multiple Epicor BOM revisions with a custom revision type field distinguishing lab-only and regulatory-only variants, or consolidate to a single BOM and preserve the other revisions as a written engineering document. Customer-part pricing sheets from Deacom are mapped to Epicor Kinetic PriceLdn records. Lot genealogy records are staged with parent-child lot relationship references ready for Epicor Lot insert. We import master data in this order: UOM classes and UOMs, PartClass, Parts, Customer and ShipTo records, Supplier records, then QC Specs.

  6. Transactional import in dependency order with Bulk API chunking

    With parent records (Parts, BOMs, QC Specs, Lots) confirmed stable in Epicor, we import transactional data in dependency order: open Sales Orders, open Purchase Orders, inventory movements (PartTran), open Job records with JobMtl and JobOper, GL journal entries (GLJrnDtl), AP and AR invoices. Transactions are sequenced in timestamp order from Deacom. For record sets exceeding 100,000 transactions, we use Epicor Kinetic's REST API with batch chunking and exponential backoff on rate-limit responses. After each phase, we emit a row-count reconciliation report, spot-check 25-50 records against the Deacom source, and verify financial totals (GL debits equal credits, AP/AR aging totals match Deacom reports) before proceeding.

  7. Cutover, validation, and handoff

    We freeze writes in Deacom during the cutover window, run a delta migration for any records created or modified after the initial export timestamp, then enable Epicor Kinetic as the system of record. We deliver the production reconciliation report and a written inventory of Deacom workflows, automations, report definitions, and EDI translation rules with recommended Epicor equivalents. We do not rebuild Deacom workflows as Epicor Kinetic process automation; that is a separate engagement handled by the customer's Epicor implementation team or a certified Epicor partner. We support a one-week hypercare window for reconciliation issues raised during the first production week.

Platform deep dives

Context on both ends of the pair

Deacom ERP logo

Deacom ERP

Source

Strengths

  • Single-database architecture eliminates module synchronization gaps common in composite ERP stacks.
  • Native formulation and BOM versioning with lab-only and regulatory-only BOM variants for compliant product development.
  • Real-time GL postings with drill-down to transactional audit trail across all departments.
  • Built-in lot traceability and catch-weight inventory management for food, chemical, and pharma manufacturers.
  • Per-facility BOM and inventory control with facility restriction flags on Items and BOMs.

Weaknesses

  • Steep learning curve with inconsistent support quality and tickets closed before bugs are fully resolved.
  • Frequent product updates reported as destabilizing — customers note the system feels unfinished between releases.
  • CRM functionality is shallow; lead tracking and pricing sheet generation require workarounds or third-party tools.
  • Implementation is described as disorganized with multiple handoffs between consultants, extending timelines.
  • Mobile app data is not independently exportable — offline entries only sync back to parent records.
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 Deacom 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

    Deacom ERP: Not publicly documented for external use. Internal rate limiting was introduced in version 17.04.008..

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

Walk through your Deacom 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 8 and 12 weeks. Simpler migrations under 50,000 Items, 10,000 Customers, and 5,000 open Production Orders with straightforward lot tracking complete in 8-10 weeks. Migrations with catch-weight inventory, extensive lot genealogy including parent-child co-manufactured lots, multi-revision BOM consolidation decisions, large financial transaction histories, or EDI trading partner remapping move to 12-16 weeks. Epicor Kinetic implementation (separate from data migration) typically adds 4-8 months on top of the migration timeline according to comparable mid-market ERP implementation benchmarks.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Deacom 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