ERP migration
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
Source
Epicor Prophet 21
Destination
Compatibility
10 of 14
objects map 1:1 between Circle Commerce and Epicor Prophet 21.
Complexity
BStandard
Timeline
6-10 weeks
Overview
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.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
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
Epicor Prophet 21
Customer
1:1CircleHub 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
Epicor Prophet 21
Part
1:1CircleHub 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
Epicor Prophet 21
PartUOM
lossyIf 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
Epicor Prophet 21
SalesOrder
1:1CircleHub 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
Epicor Prophet 21
OrderDtl
1:1CircleHub 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
Epicor Prophet 21
PartWhse
1:1CircleHub 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
Epicor Prophet 21
ShipHead + ShipDtl
1:1CircleHub 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
Epicor Prophet 21
POHeader + PODetail
1:1CircleHub 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
Epicor Prophet 21
UD Fields (UD01-UD15 per table)
lossyEvery 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
Epicor Prophet 21
UD Codes + UD Codes tables
lossyCircleHub 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
Epicor Prophet 21
Vendor
1:1CircleHub 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
Epicor Prophet 21
Epicor Report Builder + SSRS
lossyCircleHub 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)
Epicor Prophet 21
SalesOrder (read-only)
1:1Closed 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)
Epicor Prophet 21
User
1:1CircleHub 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.
| Circle Commerce | Epicor Prophet 21 | Compatibility | |
|---|---|---|---|
| Customer | Customer1:1 | Fully supported | |
| Product | Part1:1 | Fully supported | |
| Product | PartUOMlossy | Fully supported | |
| Order | SalesOrder1:1 | Fully supported | |
| Order Line Item | OrderDtl1:1 | Fully supported | |
| Inventory | PartWhse1:1 | Fully supported | |
| Shipment | ShipHead + ShipDtl1:1 | Fully supported | |
| Purchase Order | POHeader + PODetail1:1 | Fully supported | |
| Custom Fields | UD Fields (UD01-UD15 per table)lossy | Mapping required | |
| Custom Fields | UD Codes + UD Codes tableslossy | Mapping required | |
| Vendor | Vendor1:1 | Fully supported | |
| KPIs and Reports | Epicor Report Builder + SSRSlossy | Mapping required | |
| Historical Orders (closed) | SalesOrder (read-only)1:1 | Fully supported | |
| Owner (user) | User1:1 | Fully supported |
Gotchas + challenges
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 gotchas
Rate limit of 2000 requests per 5 minutes on Circle APIs
Infinitely adaptable schema requires per-project field mapping
No native export of custom report and KPI definitions
Small company footprint limits community support and documentation
Epicor Prophet 21 gotchas
Third-party bolt-on integrations complicate migration scope
Dirty data without standardized processes compounds migration risk
SDK customizations and BPMs may not survive platform upgrades
Report-based export only for non-technical users
Per-user pricing model requires accurate user count before migration planning
Pair-specific challenges
Migration approach
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.
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.
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.
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.
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.
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
Circle Commerce
Source
Strengths
Weaknesses
Epicor Prophet 21
Destination
Strengths
Weaknesses
Complexity grading
Standard ERP migration. 3 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Circle Commerce and Epicor Prophet 21.
Object compatibility
3 of 8 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
8-object category — typical timelines run 2–7 days end-to-end.
API constraints
Circle Commerce: 2000 requests per 5 minutes per organization.
Data volume sensitivity
Circle Commerce doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Circle Commerce to Epicor Prophet 21 migration scoping. Not seeing yours? Book a call.
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 consultationAdjacent paths
Other ways to leave Circle Commerce
Other ways to arrive at Epicor Prophet 21
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.