ERP migration
Field-level mapping, validation, and rollback between Breeze ERP and Epicor Prophet 21. We move data and schema; workflows are rebuilt natively in Epicor Prophet 21.
Breeze ERP
Source
Epicor Prophet 21
Destination
Compatibility
15 of 17
objects map 1:1 between Breeze ERP and Epicor Prophet 21.
Complexity
BStandard
Timeline
12-16 weeks
Overview
Moving from Breeze ERP to Epicor ERP is a data-access-constrained migration. Breeze ERP does not publish a public API or developer documentation, so all source data must be extracted via negotiated CSV downloads and HTML table conversions from each module. We perform field-level discovery before writing any records, inferring column semantics from UI labels and requesting sample exports to build a working schema map. On the destination side, Epicor Kinetic supports unlimited companies, a structured multi-entity model (Supplier, Company, Prospect), and deep BOM revision control that requires explicit scoping when migrating Breeze's make-to-order production records. We flag Chart of Accounts mapping, BOM version alignment, and open work order status as critical-path items, and we do not migrate Breeze automations, alerts, or user-defined workflows. Those are delivered as a written inventory for the customer's Epicor administrator to rebuild post-migration.
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 Breeze 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.
Breeze ERP
Customer / Company
Epicor Prophet 21
Company
1:1Breeze ERP customer records map to Epicor Kinetic Company. We extract the customer list via available CSV or HTML export, map the Breeze customer name to Company.Name, the Breeze billing address to Company.BillAddress, and the shipping address to Company.ShipAddress. If Breeze exposes a tax registration number field, it maps to Company.TaxID. We resolve the country code to the Epicor Country code table during transform. If Breeze stores multiple contacts per customer as separate rows, we create one Company and multiple Contact records linked via Company.CompanyNum.
Breeze ERP
Vendor
Epicor Prophet 21
Supplier
1:1Breeze ERP vendor records map to Epicor Kinetic Supplier. We extract the vendor list from the purchasing module, map the Breeze vendor name to Supplier.Name, payment terms to Supplier.PaymentTerms, and the GL account for AP to Supplier.APAccount. If Breeze exposes a vendor tax ID or GST registration, it maps to Supplier.TaxID. We flag any Breeze vendor that lacks a corresponding GL account in the Chart of Accounts export and escalate to the customer's Breeze administrator for resolution before migration.
Breeze ERP
Customer
Epicor Prophet 21
Prospect
1:1Breeze ERP records that are pre-sale (quotation stage, no open orders) map to Epicor Kinetic Prospect. We identify these records by scanning the Breeze export for a status field indicating no posted invoices or open purchase orders. The Prospect object in Epicor Kinetic stores the same address and contact fields as Company, allowing the customer's sales team to convert the Prospect to a Company record upon first order.
Breeze ERP
Item / Product
Epicor Prophet 21
Part
1:1Breeze ERP item records map to Epicor Kinetic Part. The Breeze item code maps to Part.PartNum; the item description maps to Part.SearchDescription and Part.LineDesc. Unit of measure from Breeze maps to Part.IUM (stocking UOM). We classify Breeze inventory items as Part.TypeCode = Stock or Part.TypeCode = NonStock based on the Breeze item type field. Non-inventory items (services, expenses) receive Part.TypeCode = NonStock with a warning flag for the customer to configure the procurement path in Epicor.
Breeze ERP
Item / Product
Epicor Prophet 21
PartUOM
1:1Breeze ERP items with alternate units of measure (case-pack, each, pallet) map to Epicor Kinetic PartUOM records. We extract the UOM conversion table from the Breeze inventory module, map each Breeze UOM code to an Epicor UOMCode in the UDTable, and create PartUOM records linking Part.PartNum to the alternate UOM with the conversion factor. If the Breeze UOM table is not exportable as a separate CSV, we infer UOMs from the item export rows and build the PartUOM set from the inference.
Breeze ERP
Item / Product
Epicor Prophet 21
PartPlant
1:1Breeze ERP item-warehouse assignments map to Epicor Kinetic PartPlant records. We extract the item-warehouse matrix from Breeze inventory exports, map the Breeze site or warehouse identifier to PartPlant.Plant, and copy reorder point, safety stock, and min-max fields. PartPlant.MinimumQty, PartPlant.MaximumQty, and PartPlant.MinOrderQty are populated from Breeze replenishment parameters if available in the export.
Breeze ERP
BOM / Bill of Materials
Epicor Prophet 21
PartRev
1:1Breeze ERP BOM records map to Epicor Kinetic PartRev (BOM revision). We extract the BOM header and BOM line tables from the production or engineering module, map the Breeze BOM code to PartRev.RevisionNum, and the BOM description to PartRev.RevDescription. Each Breeze BOM line (component, quantity, scrap percent) maps to PartRev.ChildPartNum (the component Part) and PartRev.QtyPer. We align the Breeze BOM effective date to PartRev.EffectiveDate and the Breeze BOM status (active, draft, inactive) to PartRev.Approved.
Breeze ERP
BOM / Bill of Materials
Epicor Prophet 21
PartMtl
1:1Breeze ERP BOM component lines map to Epicor Kinetic PartMtl records within the PartRev. The Breeze component item code maps to PartMtl.MtlPartNum; the required quantity maps to PartMtl.QtyPer; the operation sequence number maps to PartMtl.AltMethod if the Breeze export includes routing. We flag any Breeze component that is not present in the Part import as a missing parent-record and hold those PartMtl rows for manual Part creation before resuming.
Breeze ERP
Work Order
Epicor Prophet 21
JobHead + JobAsmbl + JobMtl
1:manyBreeze ERP work orders require a 1:N split into Epicor Kinetic Job records. Each Breeze work order header maps to a JobHead record with JobHead.JobNum, JobHead.PartNum (the manufactured part), JobHead.StartDate, JobHead.DueDate, and JobHead.JobEngineer (the assigned engineer). Breeze work order operations map to JobAsmbl records; Breeze material allocations map to JobMtl records. Open work orders receive JobHead.JobClosed = false; completed work orders receive JobHead.JobClosed = true with JobHead.JobComplete = true.
Breeze ERP
Production Schedule
Epicor Prophet 21
JobSched
1:1Breeze ERP production schedules map to Epicor Kinetic JobSched. We extract the schedule lines from the production module, map each scheduled date to JobSched.SchedDate, the scheduled quantity to JobSched.SchedQty, and the linked work order or job reference to JobSched.JobNum. If Breeze stores demand-driven schedules (MRP-triggered), we align the demand source to JobSched.DemandLink.
Breeze ERP
Chart of Accounts
Epicor Prophet 21
GLAccount
1:1Breeze ERP Chart of Accounts entries map to Epicor Kinetic GLAccount. We extract the full account list via available exports, map the Breeze account code to GLAccount.Account, the account description to GLAccount.Description, and the account type to GLAccount.AccountType. Segment structure in Epicor GLAccount depends on the customer's Chart of Accounts configuration (1-5 segments), which we scope during discovery. We flag any Breeze account that does not map cleanly to an existing Epicor account type and deliver a GL mapping document for the customer's Epicor administrator to resolve before journal entry migration.
Breeze ERP
AP / AR Balance
Epicor Prophet 21
APInvoice + ARInvoice
1:1Open AP and AR balances at cutover migrate as APInvoice and ARInvoice records in Epicor Kinetic rather than as aged trial balances. We extract open AP from the Breeze vendor invoice list, map each open vendor invoice to APInvoice with APInvoice.VendorNum resolved to the Supplier record created in the supplier migration phase. Open AR migrates similarly to ARInvoice with CustomerNum resolved to the Company record. We preserve the original invoice date, due date, and open amount. Post-migration reconciliation compares the sum of APInvoice open amounts against the Breeze cutover AP report.
Breeze ERP
Project
Epicor Prophet 21
Project
1:1Breeze ERP project records map to Epicor Kinetic Project. We extract the project master, project assignments, and project time entries from the project management module. Project.ProjectID maps to Project.ProjectID; Project.Description maps to Project.Description; Project.Status maps to Project.Status. Project phase budgets and WBS structure map to ProjPhase and WbsPhase respectively. Time entries map to LaborDtl with LaborDtl.ProjectID and LaborDtl.JobNum linked.
Breeze ERP
Project Assignment
Epicor Prophet 21
LaborDtl
1:1Breeze ERP project labor assignments map to Epicor Kinetic LaborDtl records linked to the Project. The Breeze employee or resource assignment maps to LaborDtl.EmployeeNum; the hours worked to LaborDtl.LaborHrs; the work date to LaborDtl.PayDate. We resolve the LaborDtl.ProjectID to the Project record created in the project migration phase and LaborDtl.JobNum if the assignment is tied to a job. Project billing rates migrate to PrjProjResp if the Breeze export includes billable rate information.
Breeze ERP
Quality Result / Inspection
Epicor Prophet 21
QAGrp
1:1Breeze ERP quality inspection results map to Epicor Kinetic QAGrp if the destination Epicor tenant includes the Quality Management module. The Breeze inspection lot or batch identifier maps to QAGrp.InspectionGRN or QAGrp.LotNum; the test result (pass/fail) maps to QAGrp.InspPlan (linked) and the individual test results to QAGrp.QACharValue. We flag any Breeze quality record that references a part not yet migrated as a missing parent-record.
Breeze ERP
User / Owner
Epicor Prophet 21
User
1:1Breeze ERP user or owner records map to Epicor Kinetic User. We extract the user list from the Breeze user administration module, map the Breeze username or email to User.ID, and the user's display name to User.Name. If the Breeze export includes a role or permission level, we map it to an Epicor Kinetic Plant and Company access scope. Epicor Kinetic user provisioning requires the customer's Epicor administrator to assign the appropriate license tier before migration; we provide a user-role mapping document listing each Breeze user, their Epicor role recommendation, and the corresponding license tier.
Breeze ERP
Custom Fields / Extended Properties
Epicor Prophet 21
UDColumn + Custom Field
lossyBreeze ERP extended properties or custom fields on any object map to Epicor Kinetic UDColumn (user-defined fields) on the corresponding table. We identify all non-standard Breeze fields during discovery, map each Breeze field name and data type to an Epicor UDColumn with matching data type (character, integer, decimal, date). If the Breeze custom field is a dropdown, we replicate the value set as an Epicor ComboBox or List field. Epicor UDColumn fields use a UDF-prefixed naming convention that we apply consistently across all migrated custom fields.
| Breeze ERP | Epicor Prophet 21 | Compatibility | |
|---|---|---|---|
| Customer / Company | Company1:1 | Fully supported | |
| Vendor | Supplier1:1 | Fully supported | |
| Customer | Prospect1:1 | Fully supported | |
| Item / Product | Part1:1 | Fully supported | |
| Item / Product | PartUOM1:1 | Fully supported | |
| Item / Product | PartPlant1:1 | Fully supported | |
| BOM / Bill of Materials | PartRev1:1 | Fully supported | |
| BOM / Bill of Materials | PartMtl1:1 | Fully supported | |
| Work Order | JobHead + JobAsmbl + JobMtl1:many | Fully supported | |
| Production Schedule | JobSched1:1 | Fully supported | |
| Chart of Accounts | GLAccount1:1 | Mapping required | |
| AP / AR Balance | APInvoice + ARInvoice1:1 | Fully supported | |
| Project | Project1:1 | Fully supported | |
| Project Assignment | LaborDtl1:1 | Fully supported | |
| Quality Result / Inspection | QAGrp1:1 | Fully supported | |
| User / Owner | User1:1 | Fully supported | |
| Custom Fields / Extended Properties | UDColumn + Custom Fieldlossy | 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.
Breeze ERP gotchas
No publicly documented API or bulk export endpoint
HTML-only export from web interface lacks field-level schema
No published technical reference for integrators or migration partners
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
Data access negotiation and discovery
We contact the Breeze ERP account team to negotiate export access for all required modules (Customers, Vendors, Items, Chart of Accounts, BOMs, Work Orders, Projects, AP/AR aging). We request sample CSV or HTML exports from each module at the outset of discovery, perform a record count audit, and identify fields that require field-level inference from UI labels. We pair this with an Epicor Kinetic edition and environment review (cloud vs. on-premise, production vs. sandbox) to confirm the target schema configuration.
Schema design and GL mapping document
We design the Epicor Kinetic destination schema before any data moves. This includes creating Part records, configuring PartRev BOM revisions, designing the GLAccount structure with segment assignments from the GL mapping document, and provisioning Supplier and Company records. We map Breeze ERP custom fields to Epicor UDColumn fields on the corresponding table. The GL mapping document is a required deliverable before AP/AR balance migration proceeds, and it must be signed off by the customer's accountant.
Sandbox migration and reconciliation
We run a full migration into the Epicor Kinetic sandbox environment using production-like data volume. The customer's ERP administrator reconciles record counts, spot-checks 25-50 random records against the Breeze source export, and validates GL account assignments. BOM revision chains, work order splits, and open AP/AR balance postings are validated in sandbox before production migration begins. Any mapping corrections happen here.
Master data migration in dependency order
We run production migration in record-dependency order: GL Accounts first (prerequisite for AP/AR), then Suppliers (required for AP), then Companies (required for AR and sales), then Parts, PartRev BOMs, PartMtl lines, JobHead and JobAsmbl, JobMtl, PartUOM, PartPlant, Project, LaborDtl assignments, and finally open AP and AR invoice records. Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, delta migration, and automation inventory delivery
We freeze Breeze ERP writes during cutover, run a final delta migration of any records created or modified during the migration window, then enable Epicor Kinetic as the system of record. We deliver the Breeze automation, alert, and workflow inventory as a written document for the customer's Epicor administrator to rebuild. We do not migrate automations or alerts as code. We support a one-week post-cutover window where we resolve any reconciliation issues raised by the customer's team.
Post-migration validation and sign-off
We validate open AP and AR balances against the Breeze cutover reports, reconcile BOM revision counts against the Breeze BOM export, and confirm that work order split ratios match the customer's expectations. The customer receives a final migration report documenting all records migrated, all records held with reason codes, and all mapping gaps identified during discovery. We do not provide ongoing admin support or workflow rebuild as standard scope; these are separate engagements.
Platform deep dives
Breeze ERP
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 Breeze ERP 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
Breeze ERP: Not publicly documented — no published API surface, so rate limits cannot be confirmed externally..
Data volume sensitivity
Breeze ERP 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 Breeze ERP to Epicor Prophet 21 migration scoping. Not seeing yours? Book a call.
Walk through your Breeze ERP 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 Breeze ERP
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.