ERP migration

Migrate from etEngine to Epicor Prophet 21

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

etEngine logo

etEngine

Source

Epicor Prophet 21

Destination

Epicor Prophet 21 logo

Compatibility

83%

10 of 12

objects map 1:1 between etEngine and Epicor Prophet 21.

Complexity

CModerate

Timeline

8-12 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from etEngine to Epicor ERP is a multi-entity financial and operational migration that requires careful sequencing of master data, transactional history, and user provisioning. etEngine holds Chart of Accounts, Customers, Vendors, Items, open AP/AR, historical journal entries, and user records without a publicly documented API, so we confirm export paths during technical discovery before committing to a migration scope. Epicor ERP uses a multi-company GL structure that may require account code reconfiguration, and its part-master includes bill-of-materials and routing dependencies that affect how Items map. We sequence fiscal history by period, flag reconciled records that should not carry forward, and migrate user accounts to Epicor Kinetic roles. Workflows, automations, and custom reports do not migrate as code; we deliver a written inventory for the customer admin to rebuild post-migration.

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

etEngine logo

etEngine

What's pushing teams away

  • No public API or developer documentation — migration and integration require coordinating with SPS Intrad professional services, slowing modern toolchain plug-in.
  • Vendor footprint is concentrated in India; outside the subcontinent the partner network for support, training, and integration is thin.
  • UI and product modernization cadence is slow compared to cloud-native ERPs like Acumatica or NetSuite — feedback channels are vendor-direct rather than community-driven.
  • Pricing is sales-led with no public rate card on etengine.com or spsintrad.com, requiring direct contact with SPS Intrad for any cost evaluation.
  • Limited public review footprint on G2, Capterra, or TrustRadius makes peer diligence difficult for buyers outside India's manufacturing community.

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

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

etEngine

Chart of Accounts

maps to

Epicor Prophet 21

GL Account (UD01 / COA Segment)

1:1
Mapping required

etEngine account codes, names, and types map to Epicor GL Account records within the Chart of Accounts. Currency assignments and department segments map to Epicor account segments or custom fields depending on the customer's Chart of Accounts structure. We flag any account codes that exceed Epicor's segment length limits during scoping and propose truncation or prefix strategies before migration. Multi-company Epicor deployments require the account code prefix to be scoped per company entity.

etEngine

Customers

maps to

Epicor Prophet 21

Customer

1:1
Mapping required

etEngine customer records with contact details, billing addresses, and payment terms map to Epicor Customer records. The customer's payment terms map to Epicor Term records; ship-to addresses map to Customer Ship Tos. We flag any custom fields on the etEngine customer record during scoping and map them to Epicor User Defined Fields (UDFs) or UD Codes on the Customer table. Customer credit limits require a corresponding Epicor Credit Check configuration before the records activate.

etEngine

Vendors

maps to

Epicor Prophet 21

Supplier

1:1
Mapping required

etEngine vendor master records with contact and payment information map to Epicor Supplier records. Payment terms, bank details, and W-9 or tax registration fields migrate to corresponding Supplier fields. Historical purchase transactions are sequenced separately from the vendor master and import after Supplier records are active. We flag any etEngine vendor records with zero PO history as candidates for inactive status to avoid cluttering the Epicor supplier list.

etEngine

Items

maps to

Epicor Prophet 21

Part (PartMaster)

1:1
Mapping required

etEngine Item masters with SKUs, descriptions, pricing, and cost records map to Epicor Part records. Epicor Parts carry additional structural fields (Type, Class, IUM, PUM, TypeCode, Method) that may require default values during migration if etEngine did not track them. If etEngine Items contain BOM or routing data, we migrate these as separate Epicor Bill of Materials and Job Router records after the Part master is established. Stock and cost records map to PartBin and PartCost respectively. Custom attributes on etEngine items map to UD Fields on the Part table.

etEngine

Open AP

maps to

Epicor Prophet 21

AP Invoice / AP Payment

1:1
Fully supported

Outstanding AP invoices from etEngine migrate to Epicor AP Invoice records with original invoice dates, amounts, and vendor references. We resolve each invoice's vendor reference to the migrated Supplier record before inserting. Payment terms, hold status, and approval workflow assignments carry forward as fields on the Epicor invoice. Fully reconciled etEngine AP records that are paid and closed are flagged during scoping and excluded from migration to avoid reopening closed periods.

etEngine

Open AR

maps to

Epicor Prophet 21

AR Invoice / AR Payment

1:1
Fully supported

Outstanding AR invoices from etEngine migrate to Epicor AR Invoice records with original invoice dates, amounts, and customer references. We resolve each invoice's customer reference to the migrated Customer record. Credit memos and pre-payments map to Epicor AR Credit Memo and Deposit records respectively. Invoice aging at cutover is preserved as the Epicor invoice due date minus the original invoice date. AR records in dispute or with partial payments retain the partial payment history within Epicor's invoice-level payment application.

etEngine

Historical Transactions

maps to

Epicor Prophet 21

GL Journal Entry

lossy
Mapping required

Past journal entries and transaction history from etEngine migrate to Epicor GL Journal Entry records chunked by fiscal period. We sequence them in chronological order and assign them to the correct Epicor fiscal period and fiscal year. Entries that span multiple periods in etEngine are split into separate Epicor journal entries per period to maintain fiscal boundary integrity. We flag any journal entries that reference deleted or inactive accounts and present them to the customer for resolution before import.

etEngine

Users

maps to

Epicor Prophet 21

User (Kinetic Security)

1:1
Mapping required

etEngine user accounts map to Epicor Kinetic User records with role assignments based on the customer's role matrix. We extract role and permission data from etEngine during scoping and map it to Epicor Kinetic menu-level security groups. Active versus inactive status is preserved and validated post-migration. Any etEngine user without a clear Epicor role mapping goes to a reconciliation queue for the customer admin to assign before the user records import.

etEngine

Documents

maps to

Epicor Prophet 21

Epicor Data Warehouse / External File Store

1:1
Mapping required

etEngine-attached files and linked documents are exported to a structured file store (network share, SharePoint, or S3-compatible storage) with a manifest mapping each file to its source record ID and entity type. After migration, we re-link documents to their corresponding Epicor records using a file-path reference field added to the relevant record (Customer, Supplier, Part, Order, etc.). We do not store documents inside Epicor's database; the external store keeps Epicor's blob storage within licensed limits.

etEngine

Bills of Materials (if present)

maps to

Epicor Prophet 21

Bill of Materials (PartMfg)

1:many
Fully supported

If etEngine Items contain BOM data, we split each multi-level BOM into Epicor multi-level BOM records. The top-level part maps to the Part master; sub-components map to their respective Part records before BOM lines are created. BOM quantities per assemble, scrap percentages, and BOM approved dates migrate to Epicor BillOpr. We validate that all sub-component Part records exist in Epicor before BOM insert to avoid orphan-line failures.

etEngine

Purchase Orders (open)

maps to

Epicor Prophet 21

PO Header / PO Release

1:1
Fully supported

Open purchase orders from etEngine migrate to Epicor PO Header records with vendor reference resolved to the migrated Supplier. PO lines migrate with part number resolved to Part records, quantity confirmed against PartBin, and unit cost validated against PartCost. Release-based POs in etEngine map to Epicor PO Release records under the parent PO Header. Closed or received POs are excluded from migration scope.

etEngine

Sales Orders (open)

maps to

Epicor Prophet 21

OrderHed / OrderDtl

1:1
Fully supported

Open sales orders from etEngine migrate to Epicor OrderHed (header) and OrderDtl (detail) records. Customer reference resolves to the migrated Customer record; part numbers resolve to Part records. OrderHed ship date, terms, and carrier assignments carry forward. Line pricing and discounts are mapped to Epicor OrderDtl price fields. Historical closed orders are scoped separately and migrated as OrderHed records with a Closed status flag if reporting continuity is required.

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.

etEngine logo

etEngine gotchas

High

No public API — migration relies on vendor extracts

High

Shop-floor automation data is tightly coupled to the source system

Medium

Pricing and rate card are not public

Medium

Dynamic material planning calculations are ERP-specific

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 Chart of Accounts requires segment planning before migration

    Epicor ERP supports multi-segment Charts of Accounts with up to 20 segments per account code, each with its own length and type (numeric, alphanumeric). etEngine's flat account code structure must be mapped to the Epicor segment scheme during design. If the customer's etEngine account codes exceed Epicor's segment length limits, truncation or prefix reallocation is required. We resolve the segment mapping during the schema design phase before any GL data moves. Skipping this step results in account code rejections during import that cascade to journal entry failures.

  • Part master type and site assignments are required in Epicor before inventory migration

    Epicor requires every Part record to have a Type (Stock, Make, Buy, Service, etc.) and at least one site assignment before inventory quantities can be loaded into PartBin. etEngine Items with no site affiliation in the source require a default site to be assigned during migration design. Additionally, Epicor's PartClass controls costing method (Standard, Average, FIFO, Lot) per class; if etEngine cost records do not map cleanly to a single Epicor costing method, we flag the discrepancy for the customer to decide before PartCost records insert.

  • etEngine has no publicly documented API; export paths confirmed during discovery

    etEngine does not publish a public REST or Bulk API. Migration feasibility and export paths are confirmed during technical discovery before FlitStack AI commits to scope. We evaluate database direct access (SQL export), flat file export capabilities, third-party ETL connector availability, and any documented etEngine data export utilities. If etEngine requires a manual export-to-CSV process, we scope additional time for data extraction and validation. We do not begin schema mapping until at least one reliable export path is confirmed.

  • Custom fields in Epicor require UD Column definition before data load

    Epicor stores custom fields as User Defined Columns (UD Codes) on standard tables. These columns must be defined in the Epicor UD Column Map or Custom Field configuration before any data referencing them can be imported. We pre-create all required UD fields during the schema design phase in a Sandbox or development Epicor environment before production migration. etEngine custom fields that do not have a natural Epicor standard-field equivalent require the customer to decide whether they are required in Epicor or can be archived.

  • Workflows, automations, and custom reports do not migrate as code

    Epicor Kinetic's BPM (Business Process Management), BAQ (Business Activity Query), and SSRS/Crystal Reports are configuration artifacts tied to the Epicor environment's internal object IDs and are not portable across environments via standard data migration. We do not migrate these as code. We deliver a written inventory of every etEngine workflow, automation rule, and custom report requiring rebuild, with the recommended Epicor equivalent (BPM, BAQ, or RDL report) and the dependency chain of objects it references. The customer's Epicor admin or an Epicor implementation partner rebuilds them post-migration as a separate scope.

Migration approach

Six steps for a successful etEngine to Epicor Prophet 21 data migration

  1. Technical discovery and export path confirmation

    We audit etEngine for available export mechanisms: direct SQL database access, flat-file export modules, third-party ETL connectors, or manual CSV extraction. We document the current Chart of Accounts structure, customer and vendor field counts, Item attribute completeness, AP/AR aging detail, and transactional history volume by fiscal year. We also capture user role and permission structures, custom field definitions, and any BOM or routing data attached to Items. The discovery output is a written feasibility assessment confirming the export path and a preliminary object mapping scope.

  2. Epicor schema design and segment planning

    We design the destination Epicor schema in a Sandbox environment. This includes Chart of Accounts segment definitions, COA creation, Customer and Supplier UD field configuration, Part master Type and Class defaults, PartBin site assignments, and GL fiscal calendar setup aligned to the customer's fiscal year. We design the account code mapping from etEngine's flat codes to Epicor's segmented structure and present truncation or prefix strategies for any codes that exceed length limits. The Epicor admin reviews and approves the schema design before migration scripts are written.

  3. Sandbox migration and reconciliation

    We run a full migration into the Epicor Sandbox using production-like data volume extracted from etEngine. The customer finance and operations leads reconcile record counts across all master and transactional objects, spot-check 25-50 random records for field-level accuracy, and validate fiscal period sequencing on historical journal entries. Any mapping corrections, missing UD fields, or schema adjustments are documented and applied to the production migration scripts. The customer signs off the Sandbox validation before production migration begins.

  4. Master data migration in dependency order

    We migrate master data in strict dependency order: GL Accounts (to satisfy all transaction references), then Fiscal Calendar and Period definitions, then Customer and Supplier masters, then Part masters with Type and Class assigned. BOM records insert after all sub-component Part records exist. User accounts insert with role assignments resolved against the Epicor security model. Each phase emits a row-count reconciliation report before the next phase begins. Any master record with a broken reference (missing parent) is held in a resolution queue for the customer admin to address.

  5. Transactional migration with fiscal period sequencing

    We migrate open AP/AR records after all master records are validated, followed by open purchase and sales orders with line-item part references resolved. Historical journal entries insert in strict fiscal-period chronological order with period-open validation to ensure no entry is posted to a closed fiscal period. We flag any etEngine journal entries that reference inactive or deleted accounts and escalate to the customer for resolution. Open orders and invoices that were created in etEngine during the migration window are captured in a delta pass before cutover.

  6. Cutover, delta pass, and handoff

    We freeze etEngine writes at the agreed cutover time and run a final delta migration of any records modified during the migration window. We validate Epicor's GL trial balance against etEngine's pre-cutover trial balance, confirm AP/AR aging totals match, and spot-check PartBin quantities against etEngine inventory snapshots. We deliver the Workflow and Custom Report inventory document to the customer admin for post-migration rebuild. We support a one-week hypercare window where we resolve any reconciliation issues raised by the customer's team. We do not rebuild Epicor BPMs, BAQs, or SSRS reports inside the migration scope; that work is a separate engagement.

Platform deep dives

Context on both ends of the pair

etEngine logo

etEngine

Source

Strengths

  • Domain-specific manufacturing workflows (MTO, MTS, ATO, mixed-mode discrete) covered out of the box.
  • Job ID tracking ties production, quality, and downtime under one ERP record.
  • Shop-floor automation integration reduces manual data entry.
  • Both on-premise and cloud deployments supported.
  • Established vendor (SPS Intrad, 10+ years, 50+ customers including MNCs in India).

Weaknesses

  • No public API or developer portal.
  • Vendor footprint concentrated in India; thin partner network elsewhere.
  • Slow product modernization cadence vs cloud-native ERPs.
  • Sales-led pricing with no public rate card.
  • Thin public review footprint on major aggregators.
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?

Moderate ERP migration. 4 of 8 objects need a mapping; the rest are 1:1.

C

Overall complexity

Moderate migration

Derived from compatibility, mapping clarity, API constraints, and data volume across etEngine and Epicor Prophet 21.

  • Object compatibility

    C

    4 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

    etEngine: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

Walk through your etEngine to Epicor Prophet 21 migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most etEngine to Epicor ERP migrations land between eight and twelve weeks for mid-size companies with up to 50,000 Items, 10,000 Customers, and three years of fiscal history. Migrations with multi-level Bills of Materials, multi-site warehouse structures, five or more years of historical journal entries, or more than 15 custom fields per object move to fourteen to twenty weeks because of BOM transformation work, GL segment mapping, and multi-phase fiscal-period sequencing.

Adjacent paths

Related migrations to explore

Ready when you are

Move from etEngine.
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