ERP migration

Migrate from Circle Commerce to Epicor Prophet 21

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

Circle Commerce logo

Circle Commerce

Source

Epicor Prophet 21

Destination

Epicor Prophet 21 logo

Compatibility

71%

10 of 14

objects map 1:1 between Circle Commerce and Epicor Prophet 21.

Complexity

BStandard

Timeline

6-10 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Circle Commerce to Epicor ERP is a structural migration from a customer-defined schema into Epicor's heavily normalized manufacturing-centric data model. CircleHub's unlimited field model means every migration starts with schema introspection to capture the customer's actual custom attributes, which then become Epicor UD fields requiring BPM logic for population. Epicor ERP targets discrete and mixed-mode manufacturers with deep MES, APS, and quality modules; Circle Commerce merchants with complex fulfillment or multi-channel inventory will find Epicor's production scheduling and shop floor control capabilities significantly deeper but its ecommerce and retail modules limited compared to CircleHub's omnichannel-native design. We migrate master data and transaction history through Epicor's REST and OData APIs with rate-limit handling, flag any vendor free-text that needs a Supplier record created before PO import, and deliver a written inventory of custom reports and KPIs that require rebuilding in Epicor's Report Builder or SSRS. Workflows, automations, and custom report definitions do not migrate as code.

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

Circle Commerce logo

Circle Commerce

What's pushing teams away

  • The platform lacks transparent public pricing, making it difficult for prospective customers to evaluate cost before a sales conversation, which causes some to choose competitors with published tiers.
  • Small businesses and solo operators find no affordable entry-level or free tier to test the platform, pushing them toward alternatives like Circle community or other SaaS tools with lower barriers to entry.
  • The company size (8 employees) raises concerns about long-term support capacity and platform road map stability compared to larger ERP vendors with dedicated R&D teams.
  • Limited third-party integration documentation means customers requiring deep ERP or CRM connections must rely on custom development or workarounds, which some find cumbersome.

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

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

Circle Commerce

Customer

maps to

Epicor Prophet 21

Customer

1:1
Fully supported

CircleHub Customer records map to Epicor Customer with the CircleHub customer name as Customer.CustID (or Name, depending on Epicor deduplication config). We preserve CircleHub customer-specific custom fields as Epicor UD fields on Customer (e.g., Customer.UDFieldA_c). Addresses migrate as ShipTo records with the CircleHub shipping address linked via ShipToNum. Account managers and sales reps from CircleHub become CustomerSalesTerritory assignments in Epicor.

Circle Commerce

Product

maps to

Epicor Prophet 21

Part

1:1
Fully supported

CircleHub Products map to Epicor Part records. The CircleHub SKU becomes Part.Number, description maps to Part.Description, and unit of measure maps to Part.IUM. Pricing from CircleHub becomes PartPlant unit cost and the default price list entry. Bundle and kit relationships from CircleHub map to Epicor SalesKits if the destination is configured for kit processing. Custom product attributes become Epicor UD fields on Part.

Circle Commerce

Product

maps to

Epicor Prophet 21

PartUOM

lossy
Fully supported

If CircleHub products use multiple units of measure (each, case, pallet), we create Epicor PartUOM records linking each UOM to the base Part with conversion factors preserved. This is critical for accurate order entry and inventory reporting in Epicor.

Circle Commerce

Order

maps to

Epicor Prophet 21

SalesOrder

1:1
Fully supported

CircleHub Orders map to Epicor SalesOrder. The CircleHub order number becomes OrderHed.Reference fields; customer linkage uses the Customer.CustID resolved during the Customer migration phase. Order status (open, shipped, cancelled) maps to Epicor OrderRel.AvailableDate and OrderHed.OpenOrder logic. Custom order fields from CircleHub become OrderHed UD fields configured before migration.

Circle Commerce

Order Line Item

maps to

Epicor Prophet 21

OrderDtl

1:1
Fully supported

CircleHub line items map to Epicor OrderDtl. We resolve the PartNum reference from the Product migration, map quantity to OrderDtl.OrderQty, and unit price to UnitPrice. Discounts from CircleHub line items map to OrderDtl.DiscountPercent or OrderDtl.DiscountAmount depending on the source format. Line-level custom fields become OrderDtl UD fields.

Circle Commerce

Inventory

maps to

Epicor Prophet 21

PartWhse

1:1
Fully supported

CircleHub inventory quantities per channel (online, BOPIS, warehouse) export as separate records and map to Epicor PartWhse (part-warehouse quantity). Where CircleHub tracks channel-specific allocation, we preserve the channel designation in a PartWhse UD field and flag the allocation logic for the customer's Epicor admin to implement via BPM or allocation code configuration. Multi-warehouse setups require PartWhse records per site.

Circle Commerce

Shipment

maps to

Epicor Prophet 21

ShipHead + ShipDtl

1:1
Fully supported

CircleHub shipment records map to Epicor ShipHead (header) and ShipDtl (line detail). Carrier, tracking number, and shipment status migrate from CircleHub. If CircleHub tracks partial shipments as separate records, we consolidate into a single ShipHead with multiple ShipDtl lines per OrderDtl. Shipment timestamps preserve the original CircleHub shipment date for audit.

Circle Commerce

Purchase Order

maps to

Epicor Prophet 21

POHeader + PODetail

1:1
Fully supported

CircleHub Purchase Orders map to Epicor POHeader and PODetail. We resolve the vendor reference: if CircleHub stores vendor as a free-text field rather than a linked vendor record, we flag the vendor for manual review and create the corresponding Epicor Vendor record before PO import resumes. PO line items map to PODetail with PartNum, quantity, unit cost, and expected date preserved.

Circle Commerce

Custom Fields

maps to

Epicor Prophet 21

UD Fields (UD01-UD15 per table)

lossy
Mapping required

Every CircleHub custom field on any object becomes an Epicor UD field on the corresponding base table. During scoping we introspect the customer's CircleHub schema to capture all custom field definitions (name, data type, validation rules). We pre-create UD fields in Epicor before any data import begins. For UD fields that should auto-populate from related records (e.g., OrderHed.MyZip_c from ShipTo.Zip), we document the required BPM or data directive as part of the migration handoff.

Circle Commerce

Custom Fields

maps to

Epicor Prophet 21

UD Codes + UD Codes tables

lossy
Mapping required

CircleHub custom picklist or dropdown fields with a defined value set map to Epicor UD Codes (UD01 through UD08) and associated UD01A-UD08A tables. This preserves the enumerated value constraints rather than allowing free-text migration into open text fields.

Circle Commerce

Vendor

maps to

Epicor Prophet 21

Vendor

1:1
Fully supported

CircleHub vendors referenced on Purchase Orders map to Epicor Vendor records. We extract all distinct vendor names from CircleHub PO records, check for existing Vendor.CustID matches, and create any missing Vendor records before PO import. Vendor addresses and payment terms from CircleHub transfer to VendorAddr and VendorPRet records.

Circle Commerce

KPIs and Reports

maps to

Epicor Prophet 21

Epicor Report Builder + SSRS

lossy
Mapping required

CircleHub custom reports and KPIs built on customer-defined fields do not have a direct export path and cannot be migrated as report definitions. We capture report metadata during discovery (report name, objects referenced, field names, filter logic) and deliver a written inventory of every report requiring rebuild. The customer's Epicor admin or a reporting partner rebuilds reports in Epicor Report Builder or SSRS against the migrated data model.

Circle Commerce

Historical Orders (closed)

maps to

Epicor Prophet 21

SalesOrder (read-only)

1:1
Fully supported

Closed CircleHub orders migrate as Epicor SalesOrder records with OpenOrder = false. We migrate historical orders primarily for audit and customer lookup purposes; the customer defines the lookback window (typically 12-36 months of closed orders depending on reporting needs). Epicor's database performance considerations mean we may recommend archiving orders older than the defined window to a separate searchable archive rather than loading all historical data into the live ERP database.

Circle Commerce

Owner (user)

maps to

Epicor Prophet 21

User

1:1
Fully supported

CircleHub users referenced as order owners, customer account managers, or shipment handlers map to Epicor User records by email match. We extract all distinct owner emails, match against the destination Epicor User list, and place unmatched users in a reconciliation queue for the customer's admin to provision before record import resumes.

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.

Circle Commerce logo

Circle Commerce gotchas

Medium

Rate limit of 2000 requests per 5 minutes on Circle APIs

High

Infinitely adaptable schema requires per-project field mapping

Medium

No native export of custom report and KPI definitions

Low

Small company footprint limits community support and documentation

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

  • CircleHub's infinitely adaptable schema requires per-project field mapping before any data moves

    CircleHub has no fixed field set — every attribute on every object is customer-defined. There is no standard export template that captures all custom fields. We build a migration-specific field map during scoping by introspecting the customer's actual CircleHub schema via their export API. Skipping this step results in silent data loss on any custom field not included in the initial export query. This field map then drives the Epicor UD field creation and BPM configuration scope before any record import begins.

  • Epicor UD field population requires BPM logic not handled by standard import

    Epicor UD fields (OrderHed.MyField_c, Part.UDField_c, etc.) do not auto-populate from a CSV or API import based on mapping. UD fields that should derive from related records (e.g., copying a ship-to ZIP from ShipTo to OrderHed) require a BPM (Business Process Manager) directive or a data directive. We document every UD field that needs auto-population logic, specify the BPM trigger and condition, and hand off the BPM configuration to the customer's Epicor admin or a technical consultant. Migrations that attempt to populate UD fields directly through import will find those fields blank post-load.

  • Vendor free-text on CircleHub POs blocks Epicor PO import

    CircleHub allows vendors to be stored as free-text on Purchase Orders without a formal vendor record. Epicor requires a Vendor.CustID reference on POHeader. We scan all CircleHub PO records during discovery, extract distinct vendor names, and check for existing Epicor Vendor records. Any vendor with no matching record goes to a manual review queue; we cannot import POs with invalid vendor references without first creating those Vendor records. This step can add two to four days to the migration timeline if there are many vendors to reconcile.

  • Epicor's manufacturing focus means retail and BOPIS modules are limited compared to CircleHub

    Epicor ERP is designed for discrete and mixed-mode manufacturing companies. Its ecommerce, retail, and BOPIS (buy online pick up in store) modules are limited compared to CircleHub's omnichannel-native design. Companies migrating from CircleHub with complex BOPIS workflows, in-store fulfillment logic, or multi-channel pricing rules will need to re-evaluate those processes in Epicor. We flag which CircleHub fulfillment features have no direct Epicor equivalent and document the gap for the customer's admin to address during Epicor configuration.

  • CircleHub rate limits (2000 requests per 5-minute window) extend extraction time for large datasets

    CircleHub's API enforces a 2000 requests per 5-minute window per organization. For large catalogs (50,000+ orders, 100,000+ products) we chunk the extraction into batch windows to stay within this limit, which extends the data extraction phase. We use exponential backoff when 429 responses occur and schedule extraction windows to complete within the customer's migration timeline. This is a Circle Commerce platform constraint, not an Epicor one, and is managed on the export side of the migration.

Migration approach

Six steps for a successful Circle Commerce to Epicor Prophet 21 data migration

  1. Schema introspection and CircleHub field map build

    We introspect the customer's actual CircleHub schema via their export API to capture every custom field definition on every object (Orders, Customers, Products, Inventory, Shipments, POs). We catalog field names, data types, validation rules, and the objects on which they appear. This output is the migration-specific field map that drives Epicor UD field creation. We do not begin any record extraction until the field map is complete and signed off.

  2. Epicor UD field and BPM configuration design

    Using the CircleHub field map, we design the Epicor UD field configuration. For each custom field we specify the table (OrderHed, OrderDtl, Part, Customer, etc.), field name (UD01-UD15 or custom name), data type, and whether it requires a BPM or data directive for auto-population from related records. We deploy UD fields and BPM specifications into a Epicor Sandbox for validation before any data import begins.

  3. Vendor reconciliation and Supplier record pre-creation

    We extract all distinct vendor names from CircleHub PO records and match against the destination Epicor Vendor table. Any vendor without a matching Epicor record goes to a manual review queue for the customer's admin to resolve (create Vendor record, merge with an existing vendor, or mark as inactive). PO import cannot begin until all vendor references resolve to a valid Epicor Vendor.CustID.

  4. Master data migration in dependency order

    We migrate master data in strict dependency order: Users (resolved by email match, reconciliation queue for unmatched), Vendors (created from CircleHub vendor data), Customers (with ShipTo addresses), Parts (with PartUOM entries), and Price Lists. Each phase emits a row-count reconciliation report before the next phase begins. Custom fields are included in every master data phase per the UD field configuration.

  5. Transaction migration (Orders, Shipments, POs)

    We migrate open Orders first (as Epicor SalesOrder with OpenOrder=true), then historical closed Orders, then Shipments, then Purchase Orders. Order line items and PO details resolve their PartNum references from the master data migration phase. We validate OrderHed.CustID, OrderDtl.PartNum, POHeader.VendorNum, and PODetail.VendorNum references at load time and pause the batch if any reference fails, resolving the missing record before resuming.

  6. Cutover, delta sync, and report rebuild handoff

    We freeze CircleHub writes during cutover, run a final delta migration of any records modified during the migration window, then mark Epicor as the system of record. We deliver the CircleHub custom report inventory with field mappings to the customer's Epicor admin or reporting partner for rebuild in Epicor Report Builder or SSRS. We support a one-week hypercare window for reconciliation issues. We do not rebuild CircleHub automations as Epicor BPMs inside the migration scope; that is a separate engagement.

Platform deep dives

Context on both ends of the pair

Circle Commerce logo

Circle Commerce

Source

Strengths

  • Single platform for order management across all channels (online, BOPIS, warehouse, delivery).
  • Infinitely adaptable schema that fits unique business practices rather than forcing standard workflows.
  • Full omnichannel inventory management from one pool with channel-specific allocation.
  • Responsive small-team support that helps adapt the system to new business scenarios.
  • Custom reporting built on customer-defined fields and KPIs.

Weaknesses

  • No public pricing tiers or entry-level plan — requires a sales conversation to evaluate cost.
  • Very small company (8 employees) raises questions about long-term platform stability and support capacity.
  • Limited published API documentation and integration guides for third-party connectivity.
  • No free trial or self-service onboarding path to evaluate fit before committing.
  • Custom schema means migrations require a full field-mapping exercise rather than a template-based import.
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 Circle Commerce 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

    Circle Commerce: 2000 requests per 5 minutes per organization.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

Walk through your Circle Commerce 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 merchants under 50,000 orders and 10,000 products with moderate custom field use. Migrations with high custom field counts (50+ fields across objects), multi-warehouse inventory requiring channel-level allocation preserved as UD fields, large PO histories (5,000+ records), or extensive vendor free-text reconciliation move to fourteen to twenty-two weeks because of the per-project field map build, BPM configuration scope, and parent-record resolution across Epicor's dependency chain.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Circle Commerce.
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