ERP migration

Migrate from iCast to Epicor Prophet 21

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

iCast logo

iCast

Source

Epicor Prophet 21

Destination

Epicor Prophet 21 logo

Compatibility

92%

11 of 12

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

Complexity

CModerate

Timeline

6-10 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from iCast to Epicor ERP is a mid-market manufacturing migration with a structural difference at its core: iCast operates a single-database, multi-entity model that stores operational and financial data in legacy formats, while Epicor Kinetic uses a modular schema with Part, Job, PO, and GL table structures that demand explicit field typing and dependency resolution before any record inserts. iCast provides no self-service data export, so we coordinate extraction directly with iCast professional services or through direct database access during the discovery phase. We map the Chart of Accounts to Epicor's COACode structure, multi-location inventory to the PartWhse table, open sales and purchase orders to SOHeader and POHeader, and BOMs to PartMtl with routing data going to JobOper. Epicor Workflows, Business Activity Queries, and customizations do not migrate; we deliver a written inventory of each for your implementation team to rebuild in Kinetic.

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

iCast logo

iCast

What's pushing teams away

  • Foundry-specific positioning means iCast does not fit other discrete or process manufacturing verticals — companies diversifying beyond foundry operations may need to layer additional ERP modules.
  • Limited public reviewer presence on G2 and Capterra makes peer validation difficult outside the foundry industry.
  • Implementation typically requires vendor services rather than self-serve setup, increasing time-to-value.
  • Mobile and cloud-native UX lag modern SaaS ERPs.
  • No publicly documented developer API restricts integration into MES, IoT, or BI platforms common in modernized foundries.

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

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

iCast

Customer

maps to

Epicor Prophet 21

Customer

1:1
Fully supported

iCast customer records with payment terms, credit limits, account managers, and address data map to Epicor Customer (Customer table). We map the iCast customer number to Epicor CustNum as the dedupe key, preserve payment terms in TermsCode, and audit for duplicate customers across iCast's multi-entity database during load. Any custom fields on the iCast Customer record are inventoried and mapped to UD fields on the Customer table or to related ShipTo records depending on the field's purpose.

iCast

Vendor

maps to

Epicor Prophet 21

Supplier

1:1
Fully supported

iCast vendor records including address, payment terms, and account numbers map to Epicor Supplier (Supplier table). We use VendorID as the dedupe key and preserve RemitTo and RemitAddress references separately. Suppliers without a matching Epicor record are flagged for pre-creation before Purchase Order import, because POHeader.VendorNum is a required foreign key that cannot accept nulls during DMT load.

iCast

Inventory Item

maps to

Epicor Prophet 21

Part

1:1
Fully supported

iCast inventory items with SKU, description, unit of measure, cost, and warehouse location map to Epicor Part records. Multi-location inventory maps to PartWhse records with Plant and Warehouse references resolved at load time. Serialized parts require PartBin and PartTran records to be sequenced after Part creation. Unit of measure conversions from iCast's UOM definitions map to UOMClass and UOMConv records in Epicor. We flag any iCast parts with non-standard cost methods (Average, Standard, FIFO) so the Part.CostMethod field is set correctly during import.

iCast

Sales Order

maps to

Epicor Prophet 21

SOHeader

1:1
Fully supported

Open and historical sales orders from iCast map to Epicor SOHeader with line items going to OTRW. We map iCast order status to Epicor OpenFlag and OrderHed.OpenOrder values, flag held or pending orders for manual review before insert, and resolve CustomerNum references to the newly created Customer records. Pricing from iCast (including any discount codes) migrates to OTRW.UnitPrice with OrderMsc records for miscellaneous charges.

iCast

Purchase Order

maps to

Epicor Prophet 21

POHeader

1:1
Fully supported

iCast purchase orders map to Epicor POHeader with line items going to POLine. We resolve VendorNum to the Supplier records created during the vendor migration phase. Expected dates, quantities, and line item descriptions map to POLine.PromiseDate, POLine.OrderQty, and POLine.LineDesc respectively. Open POs and closed POs with recent activity are both migrated; fully fulfilled historical POs are optionally migrated as reference records depending on the customer's historical window scope.

iCast

Chart of Accounts

maps to

Epicor Prophet 21

GLAccount

1:1
Mapping required

iCast's hierarchical chart of accounts with account numbers and types maps to Epicor GLAccount records under the configured COACode. We map account numbers, account types (Asset, Liability, Equity, Revenue, Expense), and any segment structures. Accounts used in transactions but not yet existing in Epicor are flagged for pre-creation before Journal Entry import, because Epicor's GL validation rejects entries referencing non-existent account codes.

iCast

Journal Entry

maps to

Epicor Prophet 21

GLJrnHed

1:1
Fully supported

General journal entries from iCast including date, account references, debit/credit amounts, and memo fields map to Epicor GLJrnHed and GLJrnDtl records. We resolve account references against the migrated GLAccount table, flag any entries with non-standard account mappings or missing debit/credit balance, and preserve the original iCast journal entry number in GLJrnHed.JournalCode for audit traceability. Entries with reversing periods are handled through Epicor's FiscalPeriod and FiscalYear configuration.

iCast

Job (Manufacturing)

maps to

Epicor Prophet 21

JobHead and JobOper

1:1
Fully supported

iCast job costing and shop floor records map to Epicor JobHead for the job header and JobOper for each operation step. We map job number, job status, start and due dates, and estimated quantities. Operations sequence from iCast's routing steps into JobOper with Work Centers mapped to Epicor ResourceGroup and Resource records. JobMtl records carry material requirements mapped from iCast's BOM lines. Multi-level job structures require us to sequence parent jobs before child jobs or use Epicor's JobMtl.LowLevelCode to manage explosion at load time.

iCast

Bill of Materials

maps to

Epicor Prophet 21

PartMtl and PartOpr

1:1
Fully supported

iCast BOM structures with parent parts, component parts, quantities per assembly, and operations map to Epicor PartMtl (material requirements) and PartOpr (routing operations). We handle single-level and multi-level BOMs by decomposing the iCast BOM hierarchy before loading. PartRev records serve as the revision header in Epicor, linking PartMtl and PartOpr to the part revision level. We flag any iCast BOMs with phantom assemblies or alternate materials so the PartMtl.EstScrapQty and PartMtl.AltMethod flags are set correctly.

iCast

User

maps to

Epicor Prophet 21

User

1:1
Fully supported

iCast user accounts with login credentials, roles, and access permissions map to Epicor User records and associated UserFile entries. We match users by login name and resolve role mappings to Epicor's UserCodes and security assignments. Any iCast roles without a direct Epicor equivalent are flagged in the role reconciliation report for the customer's admin to map to Epicor's security groups post-migration. Inactive iCast users are created as inactive Epicor users to preserve historical assignment data.

iCast

Attachments and Documents

maps to

Epicor Prophet 21

Document and DocumentRef

1:1
Fully supported

iCast stores file attachments on records (orders, parts, jobs, customers). We extract attachments by referencing the parent record in iCast's attachment table, then load them into Epicor as Document records linked via DocumentRef to the corresponding Part, JobHead, Customer, or Supplier. Document metadata (filename, file type, upload date, attached by user) is preserved. Large binary attachments are chunked and uploaded through Epicor's Document Management REST API with rate-limit handling.

iCast

Custom Fields (all objects)

maps to

Epicor Prophet 21

UD Fields or Custom Fields

lossy
Fully supported

iCast custom fields and calculated fields built by the customer are inventoried during discovery across all objects. Each custom field is listed with its data type, object of origin, and current use. We map these to Epicor UD fields on the equivalent standard table (e.g., OrderHed_c for sales order UD fields) and flag any calculated fields that require BPM logic in Epicor to reproduce the computation. Custom reports built in iCast do not migrate; we deliver a written inventory of every saved report with its parameters and filters for manual rebuild in Epicor Advanced Reporting or SSRS.

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.

iCast logo

iCast gotchas

High

No self-service data export mechanism

Medium

Custom fields and reports do not migrate automatically

Medium

Historical data volume complicates migration timelines

Low

Limited third-party integrator ecosystem

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

  • iCast data extraction requires direct professional services engagement

    iCast provides no documented self-service API or bulk export utility for data migration. Customers migrating away from iCast must coordinate directly with iCast professional services or their implementation partner to obtain a database extract or direct read access. This is not a FlitStack AI limitation; it is an iCast platform constraint. We initiate the extraction request during discovery, and the coordination step typically adds two to four weeks to the project timeline if iCast's professional services team has scheduling delays. Without proactive engagement, this step alone can become the critical path item for the entire migration.

  • Epicor DMT table load order is strict; sequence violations cause silent failures

    Epicor's Data Migration Tool (DMT) requires tables to load in a specific dependency order. For example, Part records must load before PartWhse, Suppliers must exist before POHeader references them by VendorNum, and JobHead must exist before JobOper. Forum threads on epiusers.help document cases where Project and WBS Phase loads fail because the root WBS Phase cannot be created without a Phase ID and the Job Number generation policy conflicts with imported job numbers. We sequence every DMT load phase with a dependency graph verified against Epicor's published DMT template order, and we run phase gates with row-count reconciliation before proceeding to the next table.

  • Epicor Kinetic Linux migration changes BAQ, BPM, and report behavior

    Epicor has been migrating on-premise Kinetic customers to Linux-hosted cloud environments. The Linux migration causes issues documented in the Epicor user community: BAQ reports with long file paths fail silently, BPM and Function editing hangs require app server restarts in Cloud Management Portal, and SSRS Report Designer breaks on Linux hosts. For customers moving from iCast to Epicor and adopting Kinetic Cloud, these Linux-environment behaviors affect report rebuild scoping and custom code validation. We account for these behaviors when designing the post-migration report rebuild plan and include Linux-compatibility checks in our validation pass.

  • Epicor field validation and required-field rules reject imported data without warning

    Epicor's validation rules (required formats, conditional requireds, picklist whitelists) block data loads when migrating records do not satisfy the configured constraints. iCast's data model is less restrictive, so migrated records often have nulls in fields that Epicor requires. We audit Epicor's validation rules against the migrated schema before any DMT run, temporarily disable or extend validation rules with a migration-context check during load, and re-enable them after migration. Without this step, 10-25 percent of records in a typical iCast migration can be rejected on the first DMT attempt.

  • Custom fields and saved reports do not migrate automatically and require manual rebuild

    iCast customers frequently build custom fields, calculated fields, and saved reports tailored to their operations. These customizations have no automatic export path and must be manually inventoried during discovery. We list every custom field and flag its purpose so the destination Epicor system can recreate it as a UD field or BPM. Custom reports require re-authoring in Epicor Advanced Reporting or SSRS, and any business rules embedded in iCast custom fields must be reviewed for equivalent expression in Epicor Kinetic. The rebuild of these items is outside the standard migration scope; we deliver the inventory document and the customer's Epicor partner handles the rebuild.

Migration approach

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

  1. Discovery and extraction coordination

    We audit the iCast database across customers, vendors, inventory, sales orders, purchase orders, chart of accounts, journal entries, jobs, BOMs, users, and attachments. Simultaneously, we engage iCast professional services to initiate the data extraction request, since no self-service export path exists. We scope the historical window (recommending a cutover inventory count to close the books in iCast before final extraction) and identify all custom fields and saved reports requiring inventory. The discovery output is a written migration scope with object counts, dependency graph, and a timeline that accounts for iCast extraction coordination.

  2. Epicor schema provisioning and DMT design

    We design the destination Epicor schema including Part, PartWhse, PartMtl, PartOpr, Customer, Supplier, POHeader, POLine, SOHeader, OTRW, GLAccount, GLJrnHed, JobHead, JobOper, JobMtl, and User records. We configure the COACode and segment structure based on the migrated Chart of Accounts, set Part.CostMethod and Part.TypeCode per iCast inventory type flags, and provision any UD fields for custom data. UD field creation happens in Epicor's Kinetic environment via the Customization Editor or via metadata API before any DMT load begins.

  3. Data extraction and transformation

    We receive iCast data in whatever format iCast professional services delivers (typically CSV exports or a database snapshot). We transform each object into DMT-ready CSV format with Epicor field names, correct data types, and required foreign key references. Multi-location inventory is decomposed into PartWhse records per Plant and Warehouse. Multi-level BOMs are exploded into PartMtl records with material sequences. Jobs are decomposed into JobHead, JobOper, and JobMtl records with operation sequences and work center assignments. We run data profiling on the iCast extract to flag null foreign keys, duplicate records, and field-length violations before loading.

  4. DMT load sequencing with phase gates

    We execute DMT loads in strict dependency order: Company and Site configuration first, then GLAccount, Supplier, Customer, Part, PartWhse, PartMtl, PartOpr, SOHeader and OTRW, POHeader and POLine, GLJrnHed and GLJrnDtl, JobHead and JobOper and JobMtl, then User records and Document attachments. Each phase runs to completion, emits a row-count reconciliation report, and is validated by the customer before the next phase begins. Any records rejected by Epicor validation rules are logged, corrected, and reloaded in the same phase pass. Epicor BPMs and validation rules are audited and temporarily adjusted before each load phase.

  5. Post-load validation and custom field inventory delivery

    We run Epicor's built-in data integrity checks including GL balance verification, Part cost rollup, and Job status consistency reports against the migrated data. We spot-check 25-50 records per object against the iCast source to confirm field-level accuracy. We deliver the custom field inventory document listing every iCast custom field with its Epicor UD field equivalent, every saved iCast report with its parameters and recommended Epicor rebuild path, and every identified BPM trigger that should be considered for rebuild. We do not rebuild workflows, BAQs, or BPMs as part of the migration scope.

  6. Cutover and hypercare

    We freeze iCast to read-only mode, run a final delta migration of any records created or modified during the migration window, and confirm Epicor as the system of record. We support a one-week hypercare window where we resolve any record-level reconciliation issues raised by the customer's operations team. Epicor subscription setup, user provisioning, and Kinetic environment configuration are handled by the customer's Epicor team. We do not provide post-migration admin training, workflow rebuild, or ongoing support as part of standard scope; these are separate engagements.

Platform deep dives

Context on both ends of the pair

iCast logo

iCast

Source

Strengths

  • Specializes in manufacturing and distribution workflows with job costing and shop floor tracking
  • Provides integrated inventory management and warehouse operations within a single platform
  • Serves multi-entity and multi-location operations under a unified database
  • Offers specialized tools for production planning and supply chain visibility not found in entry-level accounting software
  • Typically positioned at a lower price point than enterprise ERP platforms

Weaknesses

  • Limited customization and reporting flexibility compared to larger ERP systems
  • Constrained scalability with user counts and data storage limits relative to growing organizations
  • Smaller third-party ecosystem and fewer integration options than mainstream ERP vendors
  • Potential concerns about long-term vendor viability and product roadmap direction
  • Support quality and responsiveness reported as inconsistent by some long-term users
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. 5 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 iCast and Epicor Prophet 21.

  • Object compatibility

    C

    5 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

    iCast: Not publicly documented..

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Most iCast to Epicor migrations land between six and ten weeks for customers with under 50,000 inventory parts, 2,000 open orders, and a clean historical window scope. Migrations with multi-level BOMs, serialized inventory, large job history, or multi-company iCast configurations requiring separate Epicor Company records move to fourteen to twenty weeks because of extraction coordination, BOM decomposition, and DMT table sequencing. The iCast extraction step alone can add two to four weeks if iCast professional services has scheduling constraints.

Adjacent paths

Related migrations to explore

Ready when you are

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