ERP migration
Field-level mapping, validation, and rollback between Orion ERP and Epicor Prophet 21. We move data and schema; workflows are rebuilt natively in Epicor Prophet 21.
Orion ERP
Source
Epicor Prophet 21
Destination
Compatibility
8 of 12
objects map 1:1 between Orion ERP and Epicor Prophet 21.
Complexity
BStandard
Timeline
5-8 weeks
Overview
Moving from Orion ERP to Epicor ERP is a cross-platform ERP consolidation that requires careful extraction design because Orion has no documented public bulk API. All sourcing relies on Orion's built-in Data Output report engine, which produces field-limited Excel exports rather than structured API calls. We compensate by designing custom report templates that cover the full object schema before migration day, then staging and transforming the export data for Epicor's REST and bulk import APIs. Epicor's industry focus on manufacturing and distribution means that BOM (bill of materials) and work-order objects require additional schema mapping for Orion Manufacturing Cloud customers. Open AP and AR must be injected as opening-balance journals in Epicor to prevent double-posting. Workflows, approval chains, and custom report definitions do not migrate; we deliver a written inventory of these for the customer's admin team to rebuild in Epicor Kinetic.
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 Orion 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.
Orion ERP
Chart of Accounts
Epicor Prophet 21
GL Account (GLAccount)
1:1Orion COA records map to Epicor GLAccount with account code as the natural account, account description as GLAccountDesc, and segment structure mapped to Epicor's segment codes (GLBook and GLAccountType). Multi-segment Orion charts require us to decompose each segment into Epicor's segment-value hierarchy before import. Effective dates and inactive flags transfer to GLAccount. The mapping is validated against Epicor's fiscal calendar to ensure account activation dates align with open periods.
Orion ERP
GL Transactions
Epicor Prophet 21
GL Journal Entry (GLJrnGrp + GLJrnLine)
1:1Orion GL transactions export as line-level records with header metadata (journal number, date, description) and per-line account code, debit, and credit. We split header and line data from Orion's flat export into Epicor's two-table structure: GLJrnGrp holds the batch and journal group metadata; GLJrnLine holds each posting with AccountNum, DebitSeq, and CreditSeq references. Fiscal period and fiscal year are resolved from the transaction date against Epicor's GLBook fiscal calendar. Historical GL entries are imported as posted journals with Open = false to prevent reopening closed periods.
Orion ERP
Customers
Epicor Prophet 21
Customer
1:1Orion customer master records map to Epicor Customer by company, custNum, andcustID. Billing address, payment terms, credit limit, and currency code transfer to Epicor Customer address and credit metadata. The Orion customer tax ID maps to TaxPayerID on Epicor Customer. Where Orion stores multiple contacts per customer, we create Epicor ShipTo and ConTact records linked to the parent Customer. Customer payment terms are resolved from Orion's terms code against Epicor's PaymentTerms table.
Orion ERP
Vendors
Epicor Prophet 21
Supplier
1:1Orion vendor master records map to Epicor Supplier (Vendor) with vendor code, name, tax ID, payment terms, and bank details. The Orion vendor tax ID maps to TaxPayerID on Supplier. Payment terms are matched to Epicor's PaymentTerms records, and bank details transfer to SupplierBankAcct if present in the Orion export. Vendor address maps to SupplierNum as the primary address record, with RemitTo mapped separately if Orion stores distinct remittance addresses.
Orion ERP
Accounts Payable (Open Bills)
Epicor Prophet 21
AP Invoice
lossyOrion open AP invoices are extracted as a distinct migration scope item separate from historical AP. We map vendor reference, invoice number, invoice date, amount due, and due date to Epicor APInvoiceHed and APInvoiceDtl. These records are injected as opening-balance AP invoices rather than new transactions, setting the InvoiceDate to the original invoice date and DueDate to the original due date to preserve aging accuracy in Epicor's AP aging report. Invoice reference numbers transfer to the invoice description field for reconciliation.
Orion ERP
Accounts Receivable (Open Invoices)
Epicor Prophet 21
AR Invoice
lossyOrion open AR invoices follow the same pattern as open AP: extracted as a distinct scope item and injected as opening-balance AR invoices in Epicor. Customer reference, invoice number, amount receivable, and due date map to Epicor ARInvoiceHed and ARInvoiceDtl. InvoiceDate and DueDate are preserved to maintain aging accuracy. Credit memos and adjustments stored as negative AR in Orion are imported as negative AR invoices in Epicor with the same logic applied.
Orion ERP
Inventory Items
Epicor Prophet 21
Part + PartBin
1:1Orion inventory items map to Epicor Part with part number as PartNum, description as PartDescription, unit of measure as UOMClass and UOMCode, standard cost as StandardCost, and the primary warehouse to PartBin. Orion's on-hand quantity per warehouse maps to PartBin OnHandQty for each warehouse record. If Orion stores multiple sites, we create one PartBin row per site-warehouse combination. Part's TypeCode (stock, non-stock, or service) is inferred from Orion's item type field or default to Stock.
Orion ERP
Bill of Materials (Manufacturing Cloud edition)
Epicor Prophet 21
BOM and BOMProduct
1:manyOrion Manufacturing Cloud BOM records (not present in Distribution or Financial editions) decompose into Epicor BOMHeader and BOMDetail. Each Orion BOM defines a parent part, revision, and a set of component parts with quantities and operations. We map the parent to BOMHeader.MtlPartNum and BOMHeader.RevisionNum, and each component line to BOMDetail with PartNum, QtyPer, and RelatedOperation. If Orion BOMs have multiple levels (sub-assemblies), we flatten or nest them per the customer's Epicor BOM replication preference. This object is skipped for non-Manufacturing Cloud migrations.
Orion ERP
Purchase Orders
Epicor Prophet 21
POHeader + PODetail
1:1Orion purchase order headers and lines map to Epicor POHeader and PODetail respectively. The Orion PO number becomes POHeader.PONum, vendor reference resolves to SupplierNum, and PO date becomes PODate. Each line maps with part number or MfgDetail, ordered quantity, unit cost, and due date. Open POs (status not closed) are imported as open PO records in Epicor; closed POs are logged with final received quantities for audit. POLine received and invoiced quantities are reconciled against Orion's received and invoiced totals to prevent duplicate receipt posting.
Orion ERP
Sales Orders
Epicor Prophet 21
OrderHed + OrderDtl
1:1Orion sales order headers map to Epicor OrderHed with order number as OrderNum, customer reference resolves to Customer and ShipToNum, and order date becomes OrderDate. Line items map to OrderDtl with part number, quantity ordered, unit price, and discount. We distinguish fulfilled versus pending lines from Orion's order status to set Epicor OrderDtl.Status appropriately: open lines remain open, partially shipped lines are set to partial, and completed lines are closed. Pricing from Orion transfers to OrderDtl.UnitPrice with discount codes mapped to Epicor's discount rules.
Orion ERP
Employees
Epicor Prophet 21
Employee
1:1Orion employee records map to Epicor Employee with employee ID, first name, last name, department, job title, and employment dates. Orion's compensation effective dates are preserved in Epicor's EmpBasic with the most recent salary or hourly rate stored as the primary rate. If Orion stores HR data beyond basic employee records (benefits, PTO, tax withholding), those objects require extended scoping because Epicor's HR module (if present) may use a different schema structure than Orion's HR module. We flag HR data beyond basic employee records as a separate scope item during discovery.
Orion ERP
Custom Fields
Epicor Prophet 21
UD Fields / UD Codes
lossyOrion custom fields on master and transaction records (Customers, Vendors, Parts, Orders, POs) are detected during the scoping export and mapped to Epicor User Defined fields (UD Fields) or UD Codes where applicable. Epicor's UD table structure (UD01-UD12) accommodates free-form custom data, but typed fields like date, number, and checkbox require us to define the corresponding UD field type before import. Custom field existence and data types vary by Orion edition and customer configuration, so we generate a custom field manifest during discovery and deploy Epicor UD fields to match before any data load begins.
| Orion ERP | Epicor Prophet 21 | Compatibility | |
|---|---|---|---|
| Chart of Accounts | GL Account (GLAccount)1:1 | Fully supported | |
| GL Transactions | GL Journal Entry (GLJrnGrp + GLJrnLine)1:1 | Fully supported | |
| Customers | Customer1:1 | Fully supported | |
| Vendors | Supplier1:1 | Fully supported | |
| Accounts Payable (Open Bills) | AP Invoicelossy | Fully supported | |
| Accounts Receivable (Open Invoices) | AR Invoicelossy | Fully supported | |
| Inventory Items | Part + PartBin1:1 | Fully supported | |
| Bill of Materials (Manufacturing Cloud edition) | BOM and BOMProduct1:many | Fully supported | |
| Purchase Orders | POHeader + PODetail1:1 | Fully supported | |
| Sales Orders | OrderHed + OrderDtl1:1 | Fully supported | |
| Employees | Employee1:1 | Fully supported | |
| Custom Fields | UD Fields / UD Codeslossy | Mapping required |
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.
Orion ERP gotchas
No public bulk API — migration is report-driven
Multiple cloud editions with divergent schemas
Open AP/AR opening-balance treatment requires explicit scoping
Attachment and document blobs are inaccessible via standard export
Ownership change from 3i Infotech to Azentio creates version ambiguity
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
Discovery and edition confirmation
We audit the source Orion environment to confirm the cloud edition (Distribution, Contracting, Financial, or Manufacturing Cloud), user count, and data volume across every object in scope. This includes running the built-in Data Output report engine against each object to identify which fields are available for export and which are hidden or module-restricted. We also extract a custom field manifest covering all user-defined fields on master and transaction records, and we identify any BOM or work-order objects present only in Manufacturing Cloud. The discovery output is a written migration scope with confirmed record counts, a list of fields available for export, and a recommendation on whether HR data beyond basic employee records should be included.
Custom report template design for Orion extraction
Because Orion has no bulk API, we design custom report templates in Orion's Data Output engine that cover the full field set for each object before migration day. Each template is validated by running a sample export and comparing the row count and field completeness against the discovery audit. For objects with multi-level relationships (PO headers and lines, SO headers and lines, GL batch and entries), we design linked reports or supplemental exports that preserve the relationship keys needed for Epicor import. The report templates are delivered to the customer's Orion administrator with instructions for running the final export on migration night.
Epicor schema setup and opening-balance configuration
We configure the destination Epicor Kinetic environment in coordination with the customer's Epicor administrator. This includes deploying GL Account structure matching the Orion chart of accounts, setting up fiscal calendars and GL Books, configuring Customer and Supplier number ranges, and enabling the AP/AR module. For customers with open AP and AR, we configure the opening-balance invoice workflow and confirm the correct fiscal period for injection. We pre-create any required UD fields to match the custom field manifest from Orion discovery. All configuration is deployed to a non-production Epicor environment first for validation.
Sandbox migration and reconciliation
We run a full migration into the customer's Epicor non-production environment using production-like data volumes. The customer's finance and operations leads reconcile record counts and spot-check 25-50 records per object against the Orion source data. Any field mapping gaps discovered during sandbox validation are corrected before production migration begins. Particular focus is given to open AP and AR aging accuracy in Epicor's AP and AR aging reports, BOM structure in Epicor's BOM explorer for Manufacturing Cloud customers, and GL posting accuracy for the opening-balance journals.
Production migration in dependency order
We run the production migration in dependency order: GL Account chart first (no dependencies), then Customers and Vendors (no dependencies), then open AP and AR opening-balance invoices (dependency on Vendors and Customers), then Parts and BOM (no dependencies), then open POs and SOs (dependencies on Suppliers, Customers, and Parts), then Employee records. GL historical transactions are loaded last with fiscal period validation to prevent posting to closed periods. Each phase emits a row-count reconciliation report and a field-completeness score before the next phase begins. Any records rejected during import are held in a log for correction and retry before cutover.
Cutover, delta sync, and automation inventory delivery
We freeze Orion write access during the cutover window, run a final delta migration of any records created or modified since the migration start date, then hand control to Epicor as the system of record. We deliver a written inventory of Orion workflows, approval chains, custom report definitions, and scheduled tasks that require rebuild in Epicor Kinetic. This inventory includes the object and trigger context for each automation item so the customer's Epicor administrator or implementation partner can prioritize rebuilds. We support a one-week hypercare window for reconciliation issues. Workflow and automation rebuilds are outside standard migration scope.
Platform deep dives
Orion ERP
Source
Strengths
Weaknesses
Epicor Prophet 21
Destination
Strengths
Weaknesses
Complexity grading
Standard ERP migration. 2 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 Orion ERP and Epicor Prophet 21.
Object compatibility
2 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
Orion ERP: Not publicly documented.
Data volume sensitivity
Orion 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 Orion ERP to Epicor Prophet 21 migration scoping. Not seeing yours? Book a call.
Walk through your Orion 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 Orion 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.