ERP migration

Migrate from Pilot ERP to Epicor Prophet 21

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

Pilot ERP logo

Pilot ERP

Source

Epicor Prophet 21

Destination

Epicor Prophet 21 logo

Compatibility

58%

7 of 12

objects map 1:1 between Pilot 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 Pilot ERP to Epicor ERP is a manufacturing-heavy migration that requires tight coordination between financial master data, inventory records, and the production module. Pilot ERP's tightly coupled data model means Customer, Vendor, Item, Work Order, PO, Invoice, and Bill records share balance dates and open-transaction state that must be sequenced correctly during load. Epicor ERP's Job entry module handles Work Orders differently from Pilot ERP — Jobs in Epicor have their own revision control, production tracking, and costing layers that require a costing matrix built during discovery. We audit every PO-to-Work-Order link for orphaned references, recreate Pilot ERP custom fields as Epicor UD fields before import, and document the Chart of Accounts mapping so GL balances reconcile on day one. Epicor ERP does not expose a public API for binary file attachments, and Pilot ERP's undocumented custom-field schema means we inventory fields with the customer during discovery rather than extracting them programmatically. Workflows, automations, and BPMs do not migrate; we deliver a written map for the customer's Epicor admin to rebuild.

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

Pilot ERP logo

Pilot ERP

What's pushing teams away

  • Small-vendor ecosystem means fewer third-party integrations compared to platforms like NetSuite or SAP, limiting connectivity with modern tools
  • As an on-premise or downloadable system, customers migrating to cloud-native ERPs cite desire for better remote access and automatic updates
  • Limited public API documentation makes it harder for technically inclined teams to extend functionality or build custom integrations
  • Users on G2 alternatives pages flag reliability and ease-of-use concerns when compared against established ERP competitors like Acumatica or Sage Intacct
  • Lack of visible pricing on the website and sparse review volume makes it difficult to assess total cost of ownership before committing

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

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

Pilot ERP

Customer

maps to

Epicor Prophet 21

Customer

1:1
Fully supported

Pilot ERP Customer records map directly to Epicor ERP Customer. The customer number, name, address, payment terms, and credit limits transfer. We use the Pilot ERP customer number as the dedupe key and verify that every Invoice or Bill referencing a migrated Customer resolves to the new Epicor Customer ID at import time. If the customer's Epicor configuration uses Company-level multi-entity, we flag this during scoping for the admin to configure the Customer's Company association before the financial data loads.

Pilot ERP

Vendor

maps to

Epicor Prophet 21

Vendor

1:1
Fully supported

Pilot ERP Vendor master records map to Epicor ERP Vendor with vendor number, name, address, payment terms, and bank details preserved. Outstanding Bills in Pilot ERP reference their Vendor; we resolve the Vendor ID at migration time so Bills attach to the correct Vendor on import. If Pilot ERP uses a different vendor-numbering scheme than Epicor's standard length, we pad or truncate during transform and document the mapping for the customer's AP team.

Pilot ERP

Item / Inventory

maps to

Epicor Prophet 21

PartMaster

1:1
Fully supported

Pilot ERP Items map to Epicor ERP PartMaster records. Part number, description, unit of measure, costing method, and current stock levels transfer. The barcode-labelled inventory linked to Items by part number is verified against the PartMaster; any barcode records pointing to non-existent Items are flagged as orphans for the customer to resolve before import. Epicor PartMaster supports multiple sites; if Pilot ERP uses a single-site model, we configure the primary site during schema setup.

Pilot ERP

Work Order

maps to

Epicor Prophet 21

Job

1:1
Fully supported

Pilot ERP Work Orders map to Epicor ERP Job records. Each Work Order links to a finished-good Item and optionally to a Purchase Order for raw materials. We preserve the Work Order number as the Job number reference, the linked Item as the PartNum on the Job, and the job status (open, closed, cancelled). Epicor Job revision control introduces a complexity: Pilot ERP Work Orders do not carry a revision layer, so we create Job revision 1 for each migrated Work Order and flag any Jobs with a non-current revision for the customer's Epicor admin to validate.

Pilot ERP

Purchase Order

maps to

Epicor Prophet 21

POHeader / PODetail

1:1
Fully supported

Pilot ERP Purchase Orders map to Epicor ERP POHeader and PODetail records. Vendor, PO number, status, line items, and quantities transfer. We audit all PO-to-Work-Order references during the migration audit phase and flag any orphaned or invalid links — Pilot ERP POs often reserve raw materials for a specific Work Order, and if that Work Order is closed or cancelled, the link becomes stale. The customer reviews and resolves these before the destination system goes live to prevent receiving and inventory discrepancies in Epicor.

Pilot ERP

Invoice (AR)

maps to

Epicor Prophet 21

Invoice

1:1
Fully supported

Pilot ERP Invoices map to Epicor ERP Invoice records linked to Customers and Items. We import open invoices with payment status and remaining balance. Historical paid invoices transfer with full line-item detail for audit trail completeness. The Customer ID on each Invoice is resolved via the Customer migration mapping; if a Pilot ERP Invoice references a Customer that failed migration, the Invoice is held in a reconciliation queue.

Pilot ERP

Bill (AP)

maps to

Epicor Prophet 21

Vendor Invoice

1:1
Fully supported

Pilot ERP Bills from Vendors map to Epicor ERP Vendor Invoice records with outstanding balance and payment terms preserved. We maintain the relationship to the originating Vendor record via the Vendor mapping, and any partial-payment history is carried as payment records against the Vendor Invoice in Epicor. If Pilot ERP uses a different invoice-numbering scheme, we map it to Epicor's InvoiceNum with the original Pilot ERP number preserved in a reference field.

Pilot ERP

Job Costing Records

maps to

Epicor Prophet 21

JobOper / JobMtl / Labor

lossy
Mapping required

Pilot ERP Job Costing breaks costs into material, labor, and overhead components per job or Work Order. Epicor ERP represents these as JobMtl (material), JobOper with labor clock entries, and burden or overhead allocations. We create a costing matrix during discovery that maps each Pilot ERP cost category to Epicor's equivalent structure. Any cost types that do not map automatically — such as custom overhead pools or non-standard labor classifications — are flagged for manual configuration in Epicor before the financial data load. The costing matrix is a written deliverable, not an automated migration step.

Pilot ERP

Chart of Accounts

maps to

Epicor Prophet 21

GL Account

lossy
Mapping required

Pilot ERP maintains a Chart of Accounts used across all financial modules. We extract the full account structure (account number, name, type, and active status) and map it to Epicor ERP GL Account records. Accounts with transactions that do not exist in the Epicor destination are flagged for the customer to create or consolidate before the GL data load. Epicor's account segments (such as division, department, or cost centre) may not align with Pilot ERP's segment structure; we document the segment mapping and configure Epicor GL Account templates before import.

Pilot ERP

Barcode Data Collection

maps to

Epicor Prophet 21

Inventory Transactions

lossy
Fully supported

Pilot ERP's barcode data collection module links barcode scans to Items by part number. Epicor ERP handles inventory tracking through its warehouse management and MES modules rather than a separate barcode layer. We map barcode-labelled inventory transactions to Epicor PartTran records, preserving transaction type, quantity, and part number. Any barcode records with unresolved Item references are flagged as data-quality issues in the migration report.

Pilot ERP

Custom Fields

maps to

Epicor Prophet 21

UD Fields

lossy
Mapping required

Pilot ERP supports user-defined custom fields on standard objects, but there is no documented schema export or API endpoint for custom field definitions. We inventory custom fields during the discovery call by reviewing Pilot ERP's field configuration screens with the customer. We then recreate these as Epicor Kinetic UD fields (using UD101, UD102, or similar configured UD tables) before importing data, and map them to the corresponding records during the load phase. The customer must confirm field types and validation rules for each custom field during discovery.

Pilot ERP

Attachments

maps to

Epicor Prophet 21

Not migratable

lossy
Not supported

Pilot ERP's user manual references document attachment capability but does not expose a documented public API endpoint for binary file export. Epicor ERP stores documents in Azure File Share (cloud) or on the server file system (on-premise), with access paths that changed during the 2025.2 Linux container migration. We cannot programmatically extract binary attachments from Pilot ERP without a direct database connection. We document every attachment reference encountered during discovery (drawings, photos, PDFs linked to Work Orders, Customers, or Items) and request that the customer manually export or provide database access for files that are migration-critical. If neither option is available, we migrate the record metadata but flag the missing files explicitly in the deliverable.

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.

Pilot ERP logo

Pilot ERP gotchas

High

No publicly documented API for attachment extraction

Medium

Job Costing cost component mapping requires custom field alignment

Medium

Open Purchase Orders may reference outdated or voided Work Orders

Low

Custom field schema is undocumented and must be reverse-engineered

Low

No public pricing makes scope estimation difficult

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

  • No documented API for Pilot ERP data extraction

    Pilot ERP's public-facing documentation and user manual do not expose a REST or file-transfer API for extracting business records. This means we cannot pull Customer, Vendor, Item, Work Order, PO, Invoice, or Bill data programmatically without a direct database connection or export from the Pilot ERP client interface. We handle this by requesting that the customer provide database read access or a data export from within Pilot ERP. If neither is available, migration scope is limited to records the customer can manually extract to CSV. This limitation adds discovery time to every Pilot ERP migration project and is factored into the project plan from the start.

  • Epicor Linux container migration broke Azure File Share access

    Starting with Epicor Kinetic 2025.2, Epicor began migrating cloud customers from Windows containers to Linux. In pilot environments, anything that reads from or writes to the Azure File Share throws Permission denied or Could not find a part of the path errors — affecting Bartender label generation, EDI documents, and any custom code that writes files. Epicor also silently changed where ServerFolder.FileShare points for some customers, swapping to FTP root instead of the Azure File Share. If Pilot ERP data exports are stored on a network path that the Epicor Kinetic instance expects to read from, those paths must be reconfigured after migration. We document any file-based imports the customer plans to run post-migration and flag path compatibility with the Epicor Cloud infrastructure team.

  • Job Costing cost component mapping requires a costing matrix before data load

    Pilot ERP's Job Costing module breaks costs into material, labor, and overhead components per job. Epicor ERP represents these as separate record types — JobMtl for material, JobOper with labor clock entries for labor, and burden allocations for overhead. The two systems do not share a common cost-object schema. We build a written costing matrix during the discovery phase that maps each Pilot ERP cost category to an Epicor equivalent. Any cost types that cannot map automatically are flagged for manual configuration in Epicor before the financial data load. Skipping this step results in cost records landing in the wrong Epicor cost buckets, which distorts Job profitability reporting.

  • Open POs may reference closed or cancelled Work Orders

    In Pilot ERP, Purchase Orders are frequently created to reserve raw materials for a specific Work Order. If a Work Order is closed, cancelled, or revised after the PO is issued, the link between the two can become stale — the PO remains open but is no longer valid against its intended Work Order. We audit all PO-to-Work-Order references during the migration audit phase and flag any orphaned or invalid links. The customer reviews and resolves these before Epicor goes live; unresolvable links are documented and excluded from the PO migration to prevent receiving and inventory discrepancies in Epicor's receiving module.

  • Pilot ERP custom field schema must be reverse-engineered with the customer

    Pilot ERP supports custom fields on standard objects, but the vendor does not publish a schema export or API endpoint for custom field definitions. We cannot extract custom field definitions programmatically. We inventory custom fields during the discovery call by reviewing Pilot ERP's field configuration screens with the customer. We then recreate these as Epicor UD fields or UD tables before importing data. If the customer cannot participate in the discovery session or has a large number of custom fields, additional discovery time is required. UD field recreation in Epicor must be completed before the record import phase begins.

Migration approach

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

  1. Discovery and data export assessment

    We audit the Pilot ERP environment across modules in use — CRM, manufacturing, job costing, inventory, purchasing, AR, and AP — and assess the available data export method (direct database read, in-client export, or manual CSV extraction). We review Pilot ERP's field configuration screens with the customer to inventory custom fields. We pair this with an Epicor ERP edition assessment: Kinetic Cloud Standard covers most discrete manufacturing migrations; Advanced Manufacturing is required for MES, advanced scheduling, or configure-to-order depth. The discovery output is a written migration scope, a costing matrix skeleton, and a data export plan with a customer-facilitated database read or export window.

  2. Epicor Kinetic schema design and UD field creation

    We design the destination schema in Epicor Kinetic. This includes configuring Customer, Vendor, PartMaster (Items), Job (Work Orders), POHeader/PODetail, Invoice, Vendor Invoice, GL Account structure, and UD fields matched to the Pilot ERP custom field inventory. If Pilot ERP uses a single-site model and Epicor is multi-site, we configure the primary site and any satellite sites before schema deployment. We also map the Chart of Accounts segment structure from Pilot ERP to Epicor's GL Account segment configuration. Schema is validated in the customer's Epicor Sandbox before any data moves.

  3. Sandbox migration and reconciliation

    We run a full migration into the Epicor Kinetic Sandbox using production-like data volume. The customer's operations and finance leads reconcile record counts (Customers in, Vendors in, Parts in, Jobs in, POs in, Invoices in, Vendor Invoices in, GL balances), spot-check 25-50 random records against the Pilot ERP source, and sign off the schema and mapping before production migration begins. The costing matrix is validated against a sample of Pilot ERP Job Costing records to confirm material, labor, and overhead components land in the correct Epicor buckets. Any mapping corrections — including UD field type adjustments, account segment changes, and PO-to-Job link fixes — happen in the Sandbox, not in production.

  4. Data export from Pilot ERP and PO-to-Job audit

    We coordinate with the customer to extract data from Pilot ERP using the method agreed during discovery. Simultaneously, we conduct the PO-to-Work-Order audit: every open and historical PO is checked against its linked Work Order to identify orphaned or invalid references. We produce a reconciliation report listing valid PO-to-Job links (for migration), orphaned POs (for customer review), and cancelled or voided POs (for exclusion). The customer resolves the orphaned PO status before the PO import phase begins.

  5. Production migration in dependency order

    We run production migration in record-dependency order: GL Accounts (configured, not imported from Pilot ERP), Customers, Vendors, PartMaster, Jobs (with PartNum resolved), PODetails (with PO-to-Job links validated), Part Transactions and inventory balances, Invoices and Vendor Invoices (with Customer and Vendor IDs resolved), Job Costing components (via costing matrix), and custom field values on each record. Barcode-labelled inventory transactions map to PartTran records. Each phase emits a row-count reconciliation report before the next phase begins. The costing matrix is applied to all Job Costing records during the Job import phase.

  6. Cutover, validation, and attachment handoff

    We freeze Pilot ERP writes during cutover, run a final delta migration of any records modified during the migration window, then enable Epicor ERP as the system of record. We deliver a written attachment inventory — every document reference found during discovery, with the customer's manual export status and storage location — so the Epicor admin can attach files manually post-migration. We deliver a written Workflow and BPM inventory for the customer's Epicor admin to rebuild. We support a one-week hypercare window where we resolve any reconciliation issues raised by the customer's operations or finance team. We do not rebuild Pilot ERP workflows or sequences as Epicor BPMs inside the migration scope; that is a separate engagement or an internal Epicor admin task.

Platform deep dives

Context on both ends of the pair

Pilot ERP logo

Pilot ERP

Source

Strengths

  • Native manufacturing module with integrated job costing for make-to-order environments
  • Built-in barcode data collection for inventory and warehouse operations
  • Fully integrated financials — AR, AP, and accounting in one system
  • Multiple deployment options including Web, Android, and iOS
  • 24/7 live support with multiple training modalities

Weaknesses

  • Sparse public API documentation limits programmatic data extraction and automation
  • No published pricing on the vendor website, making TCO assessment difficult
  • Smaller vendor ecosystem and fewer third-party integrations compared to major ERP platforms
  • Limited review volume on public platforms makes it hard to gauge real-world user satisfaction
  • On-premise or downloadable deployment model may deter teams seeking fully managed cloud solutions
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 Pilot 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

    Pilot ERP: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

Walk through your Pilot 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 accounts under 10,000 Items, 2,000 Work Orders, and a straightforward single-site Epicor configuration. Migrations with large Job Costing histories, multi-site Epicor deployment, extensive custom field re-creation, or a Chart of Accounts re-structure move to fourteen to twenty-two weeks because of the costing matrix build, PO-to-Work-Order audit, and Epicor Kinetic schema configuration time. Epicor ERP implementations through an implementation partner commonly take four months to a year for the full go-live; our migration runs parallel to or immediately after the Epicor configuration phase.

Adjacent paths

Related migrations to explore

Ready when you are

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