ERP migration

Migrate from AltheaSuite to Epicor Prophet 21

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

AltheaSuite logo

AltheaSuite

Source

Epicor Prophet 21

Destination

Epicor Prophet 21 logo

Compatibility

75%

9 of 12

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

Complexity

BStandard

Timeline

8-12 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

AltheaSuite and Epicor ERP occupy different positions in the manufacturing ERP landscape. AltheaSuite is a cloud inventory-first platform built for furniture, appliances, and manufacturing SMBs with integrated POS, offering deep serial and lot tracking within a simpler data model. Epicor ERP (including Epicor Kinetic and Epicor Prophet 21) is a manufacturing-first platform built for mid-market discrete, make-to-order, and job-shop operations, with native MES, advanced scheduling, configure-to-order, and multi-site inventory management. The migration is driven by companies outgrowing AltheaSuite's reporting depth, BOM complexity, and shop-floor capabilities as they scale from 20 to 50+ employees. We extract the AltheaSuite data model through vendor-mediated export, translate Items to Epicor Part and PartPlant records, flatten multi-level BOMs into Epicor's indented structure, map Work Orders to Epicor Job records, and re-associate serial and lot assignments to the correct Part. Custom Item fields from AltheaSuite migrate to Epicor UD tables with explicit type conversion. We do not migrate AltheaSuite workflows, automations, or POS-specific configurations; we deliver a written inventory of these 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

AltheaSuite logo

AltheaSuite

What's pushing teams away

  • Prospective customers and app reviewers cite opaque pricing as a primary friction point — AltheaSuite requires booking a demo to get any pricing information, which creates a barrier for self-service evaluation.
  • The Shopify app reviewer notes that after installing the app, they discovered they cannot create an account independently and must go through a sales-driven demo process first.
  • Customers requiring enterprise-scale reporting, multi-entity consolidation, or complex multi-currency accounting often find AltheaSuite's analytics insufficient compared to NetSuite or Odoo.

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

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

AltheaSuite

Item

maps to

Epicor Prophet 21

Part + PartPlant

1:1
Fully supported

AltheaSuite Items map to Epicor ERP Part records. Standard fields (item number, description, uom, item type) translate directly. Custom Item fields from AltheaSuite (text, number, lookup value, date, fractional number) map to Epicor UD tables (UD01-UD10 or table-prefixed ZDataField entries) with explicit field-type conversion. We discover all custom Item field definitions during schema profiling, validate them against the live AltheaSuite system, and create matching UD fields in Epicor before Part import begins. PartPlant records are created for each Site where the Item carries on-hand quantity or reorder level data.

AltheaSuite

Serial Number Records

maps to

Epicor Prophet 21

PartLot (serial-controlled)

1:1
Mapping required

AltheaSuite serial numbers are stored as separate assignment records linked to Items. Epicor manages serial numbers via PartLot with a dedicated SerialNumber table. We extract the full serial-to-item mapping as a child table during export, then re-associate each serial assignment in Epicor by inserting a PartLot record with the AltheaSuite serial number and linking it to the correct Part via PartLot.PartNum. We flag any orphaned serial records with no parent Item for manual resolution before finalizing the import.

AltheaSuite

Lot and Expiry Records

maps to

Epicor Prophet 21

PartLot (lot-controlled)

1:1
Mapping required

AltheaSuite lot-controlled Items carry lot number and expiry date. Epicor ERP stores lot data in PartLot with LotNumber, ExpirationDate, and Plant fields. We migrate lot assignment records with expiry dates preserved, and we flag any FEFO (first-expiry-first-out) implications for inventory planning in Epicor. If the destination Epicor site has lot cost averaging or lot-specific GL accounts configured, we align the lot cost data to the relevant PartLot.CostPerEach or PartLot.MiscCost fields.

AltheaSuite

Customer

maps to

Epicor Prophet 21

Customer

1:1
Fully supported

AltheaSuite Customer records migrate to Epicor Customer with contact details, addresses, and account-level fields. Customer's default ship-to addresses map to Customer.ShipTo records in Epicor. Vendor-managed inventory flags stored as boolean properties on AltheaSuite Vendor records translate to Customer.VMTaxbl or a custom UD field on Customer. The customer number from AltheaSuite becomes Customer.CustID if it meets Epicor's field-length constraints; otherwise we generate a mapped CustID and maintain the AltheaSuite reference in a UD field.

AltheaSuite

Vendor

maps to

Epicor Prophet 21

Vendor

1:1
Fully supported

AltheaSuite Vendor records transfer with contact info, addresses, and supplier-level fields intact. Vendor.ManagedInventory flag from AltheaSuite translates to Vendor.VendQtaxable or a UD01 flag on the Vendor record. Bank details, payment terms, and routing information migrate as Vendor PPVVendor records if the destination Epicor company has vendor payment configuration enabled.

AltheaSuite

Sales Order

maps to

Epicor Prophet 21

OrderHed + OrderDtl

1:1
Fully supported

AltheaSuite Sales Orders map to Epicor OrderHed (order header) and OrderDtl (order lines). Order-to-delivery linkage from AltheaSuite translates to Epicor OrderRel records for each scheduled release. Fulfillment status (partial vs. complete) migrates as OrderDtl.OrderLine.Complete sets. Multi-currency order amounts require explicit mapping against Epicor's Currency table if the destination company uses multi-currency. We do not migrate POS-specific sales records; these are flagged as POS-layer data outside the ERP migration scope.

AltheaSuite

Purchase Order

maps to

Epicor Prophet 21

POHeader + PODetail

1:1
Fully supported

AltheaSuite Purchase Orders map to Epicor POHeader and PODetail. Line items, quantities, and costs translate directly. Multi-currency PO amounts and landed-cost fields require explicit value-mapping against Epicor's Currency and LandedCostCode tables. If AltheaSuite PO records carry any custom fields, these map to PODetail character or numeric UD fields.

AltheaSuite

Work Order

maps to

Epicor Prophet 21

JobMtl + JobOper (parent Job record)

1:many
Fully supported

AltheaSuite Work Orders are tied to multi-level BOMs and track production status. Epicor ERP represents production as a Job record with JobMtl (materials) and JobOper (operations) child tables. We translate each AltheaSuite Work Order to an Epicor Job with the BOM structure flattened into JobMtl entries. Step-level labor and machine time entries from AltheaSuite migrate as JobOper records with the AltheaSuite duration and work center data mapped to Epicor's LaborHrs and ResourceGrpID fields. If AltheaSuite tracks scrap or rework at the step level, we carry those quantities as JobMtl.MtlSpansreven or JobOper.ScrapQty. Production status (released, in-progress, complete, closed) migrates to JobHead.JobEngineered, JobHead.JobReleased, and JobHead.JobComplete flags.

AltheaSuite

Multi-level BOM

maps to

Epicor Prophet 21

PartMtl (indented)

lossy
Fully supported

AltheaSuite BOMs support nested sub-assemblies (parent Item, child sub-assembly Item, sub-sub-assembly Item). Epicor ERP uses a flat PartMtl table with a ParentPartNum reference and a BOMLevel integer. We flatten the AltheaSuite BOM hierarchy during the transform phase, computing the Epicor BOMLevel for each row and preserving the quantity-per-parent and scrap-factor data from each AltheaSuite BOM line. If AltheaSuite carries alternate materials or BOM notes, these translate to PartMtl.AltMtl and PartMtl.Text fields respectively. The BOM revision in AltheaSuite maps to PartRev.RevisionNum in Epicor.

AltheaSuite

Custom Fields (Items)

maps to

Epicor Prophet 21

UD01-UD10 / ZDataField tables

lossy
Mapping required

AltheaSuite custom Item fields (text, number, lookup value, date, fractional number) require pre-creation in Epicor UD tables before Part import. We enumerate all custom field definitions during schema profiling, map each AltheaSuite field type to the corresponding Epicor UD field type (character for text, decimal for fractional, integer for number, date for date, and dropdown options for lookup values), and create the UD table entries via Epicor Ice BO ZDataTable or directly via Epicor REST API. AltheaSuite lookup values requiring specific picklist options in Epicor UD fields are pre-seeded with the AltheaSuite option list.

AltheaSuite

Item pricing and reorder levels

maps to

Epicor Prophet 21

PartPlant + PartWhse

1:1
Fully supported

AltheaSuite reorder levels, reorder quantities, and min/max levels migrate to Epicor PartPlant records. If AltheaSuite carries vendor-specific pricing per Item, this data migrates to Epicor PartVendor records for MRP-driven PO suggestions. Standard costs from AltheaSuite map to PartRev.EstScrapQty or Part.CostID depending on the Epicor cost set in use.

AltheaSuite

Inventory on-hand quantities

maps to

Epicor Prophet 21

PartWhse

1:1
Fully supported

AltheaSuite on-hand quantities per Item per location translate to Epicor PartWhse records. We extract the full inventory snapshot from AltheaSuite before cutover and load it into Epicor PartWhse with the corresponding WarehseCode. On-hand quantities are loaded last in the migration sequence to avoid MRP noise during earlier phases. We reconcile the on-hand total against AltheaSuite's inventory valuation report and flag discrepancies exceeding 0.5% for manual review before 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.

AltheaSuite logo

AltheaSuite gotchas

High

Pricing is not publicly available

High

No public API or documented export endpoints

Medium

Custom fields on Items must be explicitly enumerated

Medium

Serialized and lot-controlled inventory requires traceability reconciliation

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 public API or documented export endpoints in AltheaSuite

    Research found no publicly documented REST API, GraphQL endpoint, or bulk export mechanism for AltheaSuite. All data access appears to be vendor-mediated. We handle this by requesting structured data dumps directly from the AltheaSuite team during the discovery phase, validating the dump schema completeness before mapping begins. If no structured export is available, migration scope includes manual extraction steps and a timeline adjustment of 2-4 weeks. Customers should request their AltheaSuite account manager provide a database export in Microsoft SQL Server format (the platform runs on AWS with MSSQL per AltheaSuite's FAQ) within the first discovery session.

  • Multi-level BOMs require flattening and BOMLevel computation

    AltheaSuite supports nested sub-assembly BOMs. Epicor ERP uses a flat PartMtl table with a BOMLevel integer. A naive 1:1 import of BOM lines will create flat BOMs that lose the parent-child hierarchy. We flatten each AltheaSuite BOM during the transform phase, computing the correct BOMLevel (0 for top-level, 1 for first sub-level, 2 for second sub-level) for each material. Validation includes cross-checking that every child PartNum referenced in the flattened BOM exists as a Part record in Epicor before the PartMtl import runs. BOMs with more than 6 levels of nesting may require Epicor's engineering change order (ECO) process for revision management.

  • Custom Item fields require UD table pre-creation and BPM logic

    AltheaSuite custom Item fields (text, number, lookup value, date, fractional number) do not have a direct Epicor standard-field equivalent. Epicor stores user-defined fields in UD tables (UD01-UD10) or ZDataField entries. UD fields in Epicor do not auto-populate from import unless a BPM (Business Process Management) is configured to copy them from import context. We pre-create all UD table entries during the schema design phase and configure a BPM directive to copy the incoming value from the DMT or REST import payload into the UD field at insert time. Without this BPM, imported Part records arrive with UD fields blank even though the source data exists.

  • Serial and lot traceability records can become orphaned

    AltheaSuite stores serial and lot assignments as separate child records linked to Items. During export, any assignment record whose parent Item does not exist or has a conflicting PartNum in Epicor will become orphaned. We extract the full serial-to-item and lot-to-item mapping as separate child tables, then validate each parent reference before PartLot insertion. Any record with a missing or mismatched parent Item is flagged in a reconciliation report with the AltheaSuite Item ID, the serial or lot number, and the assigned quantity for manual resolution.

  • Epicor DMT load order is strict and must follow dependency chain

    Epicor's Data Migration Tool (DMT) requires tables to be loaded in a specific dependency order. Forum threads on epiusers.help confirm that Part must be loaded before PartPlant, PartPlant before PartWhse, Customer before OrderHed, and Job must be loaded after its component Part and BOM records. We sequence the migration in dependency order and validate each phase's row count before proceeding. Loading out of order causes foreign-key rejections that halt the DMT batch and require re-import from scratch for the blocked table.

Migration approach

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

  1. Discovery and export request from AltheaSuite

    We audit the AltheaSuite account across Items (standard and custom fields), Customers, Vendors, Purchase Orders, Sales Orders, Work Orders, multi-level BOMs, serial number assignments, lot number assignments, and on-hand inventory snapshots. Simultaneously, we request a structured data dump from the AltheaSuite team (MSSQL format per their FAQ, or CSV export via their vendor-assisted export process). We validate the dump's schema completeness against our enumeration checklist and flag any missing tables or incomplete fields before mapping begins. If no structured export is available, we scope manual extraction steps and extend the timeline accordingly.

  2. Epicor schema design and UD table creation

    We design the destination Epicor ERP schema in the customer's Sandbox or Development environment. This includes creating Part records (with PartType, TypeCode, and UOMClass), PartPlant records per Site, PartWhse records per warehouse, PartMtl BOM entries (with computed BOMLevel), Job records for each Work Order, and all UD table entries for AltheaSuite custom Item fields. For each UD field we configure the field type, label, and dropdown options, and we write a BPM directive to populate the UD field from the DMT import context at insert time. We deploy via Epicor REST API or directly into the Sandbox environment for validation before production migration.

  3. BOM flattening and transform

    We transform the AltheaSuite multi-level BOM data during the extract-transform phase. Each AltheaSuite BOM is traversed recursively to compute the Epicor BOMLevel for each material row, preserve quantity-per-parent, scrap factor, and phantom BOM flags. The flattened BOM output is validated against the AltheaSuite source: the total component count per BOM must match, and every child PartNum must have a corresponding Epicor Part record. BOMs failing validation are returned to the customer for resolution before PartMtl import begins.

  4. Sandbox migration and reconciliation

    We run a full migration into the Epicor Sandbox environment using production-like data volume. The customer's Epicor administrator and operations lead reconcile record counts (Parts in, Customers in, BOMs in, Work Orders in, inventory on-hand), spot-check 25-50 records against the AltheaSuite source, and verify BOM completeness by comparing a sample of multi-level BOMs. Any mapping corrections, missing UD fields, or BOM validation failures are resolved in Sandbox before the production migration sequence begins.

  5. Owner and vendor reconciliation

    AltheaSuite does not have a User-object equivalent that maps to Epicor's Security (User) table. We extract all vendor references from AltheaSuite records and verify they exist as Vendor records in Epicor. For any AltheaSuite vendor record that references a contact person with no Epicor equivalent, we create a Contact record linked to the Vendor. If the AltheaSuite data includes assigned sales rep or buyer IDs on orders, we map those to Epicor SalesRep or BuyerID fields on the respective orders.

  6. Production migration in dependency order

    We run production migration in Epicor DMT dependency order: Part (with PartRev for BOM revisions), PartPlant, PartWhse, Customer, Vendor, PartMtl (BOM lines), POHeader and PODetail, OrderHed and OrderDtl, Job records (with JobMtl and JobOper), PartLot (for lot and serial assignments, with serial-to-part re-association verified), and finally PartWhse on-hand quantities loaded from the AltheaSuite inventory snapshot. Each phase emits a row-count reconciliation report. We do not load on-hand quantities until all Part, warehouse, and BOM records are validated, to prevent MRP from generating incorrect suggestions during migration.

  7. Cutover, validation, and documentation handoff

    We freeze AltheaSuite 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 inventory of all AltheaSuite workflows, automations, and POS-specific configurations that do not migrate, with each item tagged as rebuild-required in Epicor (Workflow, BPM, Kinetic Dashboard, or POS module). We support a one-week hypercare window for reconciliation issues. We do not rebuild AltheaSuite automations as Epicor BPMs or Kinetic workflows within the migration scope; that work is a separate engagement or an internal Epicor admin task.

Platform deep dives

Context on both ends of the pair

AltheaSuite logo

AltheaSuite

Source

Strengths

  • Deep inventory tracking with serial numbers, lot control, expiry dates, and reorder level automation.
  • Modular architecture allowing SMBs to adopt only the modules they need and expand over time.
  • Integrated POS and inventory in a single platform for retail-facing businesses.
  • Multi-level BOM support for discrete manufacturing and assembly operations.
  • Cloud-based with mobile access on iOS and Android for field and floor teams.

Weaknesses

  • Pricing is not publicly disclosed — customers must contact sales or book a demo to receive a quote, limiting self-service evaluation.
  • No public API documentation or developer portal found in research, making programmatic data export uncertain without direct vendor engagement.
  • No self-service signup available — even the Shopify app requires linking to an existing AltheaSuite account after a demo booking.
  • Limited independent review volume (9 reviews across major platforms) makes it difficult to assess long-term reliability and support quality at scale.
  • Customization is praised but the effort and cost of that customization is not transparent, leading some customers to feel locked into the vendor for ongoing changes.
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. 3 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 AltheaSuite and Epicor Prophet 21.

  • Object compatibility

    B

    3 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

    AltheaSuite: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

Walk through your AltheaSuite 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 for accounts with under 15,000 Items, straightforward BOMs (under 3 levels), and no active Work Order history. Migrations with multi-level BOMs (4+ levels), active production histories, serial/lot traceability records, or custom Item field UD table setups move to 14-20 weeks because of BOM flattening validation, traceability reconciliation, and Epicor BPM configuration. Epicor ERP implementations themselves typically run 5-10 months, so the data migration is a subset of the broader implementation timeline.

Adjacent paths

Related migrations to explore

Ready when you are

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