ERP migration
Field-level mapping, validation, and rollback between Accura and Epicor Prophet 21. We move data and schema; workflows are rebuilt natively in Epicor Prophet 21.
Accura
Source
Epicor Prophet 21
Destination
Compatibility
9 of 14
objects map 1:1 between Accura and Epicor Prophet 21.
Complexity
CModerate
Timeline
6-10 weeks
Overview
Migrating from Accura (Accura360/Accura MIS) to Epicor ERP is a structural shift from a print-industry-specific MIS to a manufacturing- and distribution-focused ERP with deep shop-floor, MES, and supply chain modules. The primary technical challenge is Accura's absence of a documented public API, which requires in-app CSV export coordination rather than automated API extraction. We extract Customers, Job records, Inventory balances, Invoices, and Vendor data in batches, transform the flat export structure into Epicor's relational schema, and load through Epicor's Data Management Tool (DMT) or REST API endpoints with full parent-record lookup resolution. Custom fields added in Accura carry as additional columns and we flag any that lack a direct Epicor equivalent for manual UD field configuration. Workflows, automations, and document management configurations in Accura do not migrate; we deliver a written inventory of these for the customer's implementation team to rebuild in Epicor Kinetic or Prophet 21.
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 Accura 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.
Accura
Customer
Epicor Prophet 21
Customer (CustCnt/ShipTo)
1:1Accura Customer records map to Epicor ERP Customer (Customer table) with the primary contact as a CustCnt record. Billing address and shipping address from Accura export as separate address columns; we split these into the Customer header address and one or more ShipTo records in Epicor. The Accura customer code becomes Epicor's CustNum as a string. Duplicate-name handling in Epicor uses CustNum as the unique key, not the company name, so we suppress Epicor's built-in duplicate warning during load and rely on the Accura customer ID as the dedupe anchor.
Accura
Job/Order
Epicor Prophet 21
SalesOrder / Quote
1:1Accura Job records are the primary entity and map to Epicor ERP SalesOrder (for active/in-progress jobs) and Quote (for quotes not yet converted to jobs). The Accura job status (Quote, Order, In Progress, Completed, Cancelled) determines whether we load to Quote or SalesOrder. Job number from Accura becomes OrderNum in Epicor, and job line items map to OrderDtl records with part number, quantity, unit price, and job stage resolved to Epicor's OrderLine record status.
Accura
Job Stage/Status
Epicor Prophet 21
OrderHed / OrderDtl Status fields
lossyAccura job stages (Estimate, Awaiting Approval, Scheduled, In Production, Shipped) map to Epicor OrderHed.OrderStatus and OrderDtl.StatusCode. We build a status mapping table during discovery and apply it during the transform phase. Custom stage values that have no Epicor equivalent are flagged as UD fields for the customer's Epicor admin to configure in the OrderHed UD table after schema setup.
Accura
Inventory Item
Epicor Prophet 21
Part / PartWhse
1:1Accura Inventory Items (stock and non-stock) map to Epicor Part records. Stock items with on-hand quantity create PartWhse (Part Warehouse) records with OnHandQty, ABCCode, and BinNum populated. Non-stock materials and consumables create Part records with TypeCode = Non-Stock. The Accura item number becomes Epicor PartNum, and the cost basis from Accura becomes the initial StandardCost on Part. Items with negative balances or zero on-hand are flagged for customer review before Epicor load to prevent phantom stock carry-forward.
Accura
Bill of Materials (Job BOM)
Epicor Prophet 21
JobMtl / JobOper
1:manyAccura job records may contain embedded Bill of Materials lines that represent the job's material inputs. We split these into Epicor JobMtl (material requirement) records linked to a manufacturing Job record in Epicor. The Accura job must first be promoted to an Epicor Job (JobProd/JobHead) before BOM lines can be attached. We sequence the Job creation before JobMtl load so that the JobNum foreign key is satisfied at insert time.
Accura
Invoice
Epicor Prophet 21
InvoiceHed / InvoiceDtl
1:1Accura Invoices (open and historical) map to Epicor InvoiceHed and InvoiceDtl. Paid invoices transfer as read-only records with InvoiceHed.InvoiceSuffix = '-HIST' to distinguish them from open receivables. Open invoices load with their original invoice date, due date, and payment terms, and we link the InvoiceHed.CustNum to the corresponding Epicor Customer record created during the Customer phase. Accura payment records link to InvoiceHed via reference number.
Accura
Vendor
Epicor Prophet 21
Vendor
1:1Accura Vendor records map directly to Epicor ERP Vendor. Vendor name, contact info, payment terms, and default GL accounts carry forward. Duplicate-name handling in Epicor uses VendorID as the unique key, not vendor name, so we use the Accura vendor ID as VendorID during import and suppress Epicor's duplicate warning. We validate that no two Accura vendors share the same name but have different IDs before loading.
Accura
User/Employee
Epicor Prophet 21
User / Employee
1:1Accura per-seat user accounts map to Epicor User records with role and department preserved. User passwords do not transfer and must be reset manually in Epicor post-migration. We inventory active vs. inactive user accounts during scoping and flag any seats that should be deprovisioned rather than migrated, so the customer does not over-license at Epicor. If Epicor HR modules are in scope, we map Accura users to Employee records with DcdUSERID linked to the User record.
Accura
Custom Fields
Epicor Prophet 21
UD Fields (ZDataTable / UDXX)
lossyAccura custom fields export as additional columns in the standard object CSV exports. We carry each custom field into Epicor as a User-Defined field (UD01-UD30) on the corresponding table (e.g., OrderHed.UD01 for a custom Accura job field). For custom fields that require derived logic (e.g., populating a ZIP code from the ShipTo entry), Epicor requires a BPM; we document these as part of the post-migration handoff so the customer's Epicor admin or partner can implement the BPM logic after go-live.
Accura
Tax Code
Epicor Prophet 21
TaxRegion / TaxConnect
lossyAccura tax codes in the export map to Epicor TaxRegion records. We build a tax region mapping table during discovery by reviewing the tax codes in use across Accura customers, vendors, and invoices. If the customer uses a tax calculation service (Avalara, Vertex), we configure TaxConnect integration separately from the migration scope and document the required Epicor tax setup steps.
Accura
Payment Terms
Epicor Prophet 21
Term
1:1Accura payment terms (Net 30, 2/10 Net 30, COD, etc.) map to Epicor ERP Term records. TermCode from Accura becomes Term.TermCode, and Term.DaysDefault maps from Accura's net days value. We validate term code coverage during discovery to ensure all Accura terms have a matching Epicor Term before the Invoice phase begins.
Accura
Job File / Proof (file reference)
Epicor Prophet 21
DocStar EDMS / Content Library
1:1Proofs, job files, and documents stored within Accura are not accessible via standard CSV export. We provide a file-location inventory to the customer listing each document's path or storage reference in Accura so they can manually retrieve, archive, or re-upload to Epicor's DocStar EDMS or Content Library post-migration. This is a manual step outside the automated migration scope and is documented in the handoff package.
Accura
Price List
Epicor Prophet 21
PriceLvl / PartPlant / CustomerPartXRef
lossyAccura pricing lists attached to customers or jobs map to Epicor PriceLvl records. For customer-specific pricing, we create CustomerPartXRef records linking the Epicor Customer to the Part with the negotiated price. Standard list prices migrate as PriceLvl records attached to Part records. Epicor supports multiple price lists per customer; we document the price list structure during discovery and apply it during the Customer and Order phase.
Accura
Shipping Method
Epicor Prophet 21
ShipVia
1:1Accura shipping methods in the export map to Epicor ShipVia records. ShipViaCode, Description, and tracking URL fields carry forward. If Accura uses carrier-specific account numbers, we map these to Epicor's ShipVia.FreightChargeAccount field so that freight costing flows correctly into Epicor's AR and AP modules.
| Accura | Epicor Prophet 21 | Compatibility | |
|---|---|---|---|
| Customer | Customer (CustCnt/ShipTo)1:1 | Fully supported | |
| Job/Order | SalesOrder / Quote1:1 | Fully supported | |
| Job Stage/Status | OrderHed / OrderDtl Status fieldslossy | Fully supported | |
| Inventory Item | Part / PartWhse1:1 | Fully supported | |
| Bill of Materials (Job BOM) | JobMtl / JobOper1:many | Fully supported | |
| Invoice | InvoiceHed / InvoiceDtl1:1 | Fully supported | |
| Vendor | Vendor1:1 | Fully supported | |
| User/Employee | User / Employee1:1 | Fully supported | |
| Custom Fields | UD Fields (ZDataTable / UDXX)lossy | Mapping required | |
| Tax Code | TaxRegion / TaxConnectlossy | Fully supported | |
| Payment Terms | Term1:1 | Fully supported | |
| Job File / Proof (file reference) | DocStar EDMS / Content Library1:1 | Fully supported | |
| Price List | PriceLvl / PartPlant / CustomerPartXReflossy | Fully supported | |
| Shipping Method | ShipVia1: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.
Accura gotchas
No public API requires in-app CSV exports
Per-seat license count needs reconciliation before migration
Attachment and file storage is not exported
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 extraction coordination
We audit the Accura instance with the customer's Accura admin, identifying all active objects (Customers, Jobs, Inventory, Invoices, Vendors, Users), historical record counts, custom field definitions, and any attachment file storage locations. Because Accura has no API, we coordinate a batched export schedule with the admin: Customers and Vendors export first (smaller volume, lower dependency), followed by Inventory, then Jobs with line items, then Invoices. We validate the export file structure against the Accura field inventory and flag any missing required columns before proceeding to transform. The discovery output is a written extraction plan and a data profile report listing duplicate counts, missing fields, and zero-balance inventory items.
Schema design and Epicor DMT preparation
We design the destination schema in Epicor ERP based on the customer's target edition (Standard, Professional, or Enterprise). This includes provisioning Part records with PartWhse records for multi-warehouse setups, Customer and ShipTo records with tax region assignments, Vendor records with payment terms, SalesOrder and Quote records with the appropriate OrderType, and any UD fields (UD01-UD30) mapped from Accura custom fields. We configure Epicor DMT templates for each object type, setting validation rules, required field defaults, and duplicate-check suppression keys. Schema is validated in the customer's Epicor sandbox before any production data loads.
Data cleansing and transform
We run the extracted Accura data through a cleansing and transform layer before Epicor load. This includes deduplication of Customer and Vendor records (keeping the most recent by last-modified date), address standardization to match Epicor's format requirements, part number validation (alphanumeric, no prohibited characters), and status mapping from Accura job stages to Epicor OrderHed.OrderStatus values. We also split Accura job BOM lines into Epicor JobMtl records, resolving the parent JobNum at transform time. Any records that fail validation are written to an exception report for the customer to resolve before the load phase resumes.
Epicor DMT load and REST API import
We load data into Epicor using DMT (Data Management Tool) for high-volume objects (Parts, Customers, Vendors, OrderDtl lines) and the Epicor REST API for objects requiring real-time lookup resolution (OrderHed with Customer.CustNum FK resolution, InvoiceHed with open/closed status determination). Each load phase emits a reconciliation report: records attempted, records loaded, records rejected, and rejection reason. We resolve rejected records in a correction pass before moving to the next object. Parent-record dependency order is enforced: Customers before Orders, Parts before Order lines, Vendors before AP invoices.
Inventory and financial reconciliation
We reconcile migrated inventory balances against Accura's on-hand reports by site and by part number. Items with zero on-hand in Accura are loaded as zero-balance Part records; items with negative balances are flagged for customer review before Epicor PartWhse insert. Open invoices are reconciled against Accura's open AR report, and paid invoices are loaded as historical read-only records. We validate that the Epicor GL trial balance reflects the migrated open invoice total within a configurable variance threshold (typically 0.01% or $1, whichever is greater). Any variance triggers a line-by-line investigation before cutover sign-off.
Cutover, validation, and automation handoff
We freeze Accura data entry during the cutover window, run a final delta migration of any records modified since the last export batch, then mark Epicor as the system of record. We deliver a written inventory of Accura workflow configurations, job scheduling rules, and any document management settings for the customer's Epicor implementation team to rebuild. We support a one-week hypercare window where we resolve any reconciliation issues raised by the customer's team. We do not rebuild Accura workflows as Epicor BPMs or Kinetic functions inside the migration scope; that is a separate configuration engagement with the customer's Epicor VAR.
Platform deep dives
Accura
Source
Strengths
Weaknesses
Epicor Prophet 21
Destination
Strengths
Weaknesses
Complexity grading
Moderate ERP migration. 4 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Moderate migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Accura and Epicor Prophet 21.
Object compatibility
4 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
Accura: Not publicly documented.
Data volume sensitivity
Accura 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 Accura to Epicor Prophet 21 migration scoping. Not seeing yours? Book a call.
Walk through your Accura 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 Accura
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.