ERP migration
Field-level mapping, validation, and rollback between Deskera ERP and Epicor Prophet 21. We move data and schema; workflows are rebuilt natively in Epicor Prophet 21.
Deskera ERP
Source
Epicor Prophet 21
Destination
Compatibility
9 of 12
objects map 1:1 between Deskera ERP and Epicor Prophet 21.
Complexity
BStandard
Timeline
6-8 weeks
Overview
Moving from Deskera ERP to Epicor Kinetic is a structural ERP-to-ERP migration driven by manufacturing depth rather than accounting parity. Deskera's integrated SMB suite serves companies up to 50 employees with general-purpose MRP; Epicor Kinetic is purpose-built for discrete, make-to-order, engineer-to-order, and mixed-mode manufacturers with 50 to 2,500 employees who require deep shop-floor scheduling, MES, configure-to-order, and production tracking. The migration is scoped to master data, transactional records, and BOM structures. We do not migrate workflows, automations, or configured MRP routing logic; these require post-cutover rebuild inside Epicor Kinetic's production management suite. Historical journal entries and open orders move first; BOM flattening and routing reassembly are documented as manual steps in the handoff package. Epicor implementations commonly run 20-30% faster than SAP at mid-market scale, but implementation costs still start at $50,000 and are separate from migration pricing.
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 Deskera 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.
Deskera ERP
Chart of Accounts
Epicor Prophet 21
GL Account
1:1Deskera COA with account codes, names, and standard account types maps directly to Epicor GL Account. We preserve account types (Asset, Liability, Equity, Revenue, Expense), tax codes, and currency assignments during the import. GL Account codes in Epicor follow a segment structure; if Deskera uses multi-segment account codes, we split them into Epicor's configured GL Segment logic before import to avoid code-format rejections in the DMT template.
Deskera ERP
Customer
Epicor Prophet 21
Customer
1:1Deskera's /v1/account endpoint with type filter (customer) maps to Epicor Customer table. We preserve billing and shipping addresses, credit limits, payment terms, and the primary contact reference. In Epicor, Customer is tied to a Company and must exist before any Order or Quote referencing that customer is imported. We run Customer migration as the second phase after COA.
Deskera ERP
Vendor
Epicor Prophet 21
Supplier
1:1Deskera Vendors (also from /v1/account with type filter) map to Epicor Supplier. Address, payment terms, bank details, and tax ID transfer to the Supplier table. Epicor's Supplier maintains a separate credit limit and payment hold flag that does not exist as a direct field in Deskera — we map any vendor payment-status flag in Deskera to Epicor's Hold field and flag the discrepancy for manual review during cutover.
Deskera ERP
Journal Entry
Epicor Prophet 21
GL Journal Entry
1:1Historical Deskera journal entries with debit/credit amounts, account references, and optional dimensions (Class, Location, Department) map to Epicor GL Journal Entry. Deskera dimension values map to Epicor GL Control values if the customer has GL Control segments configured. Journal date and fiscal period transfer directly; reversal entries are not created during migration but are documented in the handoff package for the customer's Epicor admin to handle per their accounting policy.
Deskera ERP
Inventory Item
Epicor Prophet 21
Part
1:1Deskera Items (SKU, name, unit of measure, standard cost, on-hand quantity) map to Epicor Part with PartType = ItemPart. Lot and serial tracking settings migrate as Part.LotSh追踪 and Part.Serialized configuration. On-hand quantities map to PartBin quantity records per warehouse. Epicor's Part does not have a native description field separate from Part Number; we set Part.PartDescription to the Deskera item description to preserve text content that Deskera stores independently.
Deskera ERP
Bill of Materials
Epicor Prophet 21
PartMtl (JobMtl for job-level BOM)
lossyDeskera multi-level BOM structures (assembly, sub-assembly, component) require flattening for Epicor. We extract the Deskera BOM as a parent-to-child item association and write either Epicor PartMtl records (for make-to-stock BOMs) or JobMtl records (for job-specific material requirements). Multi-level routing is preserved as a flat material list per top-level assembly; the Epicor admin rebuilds the production routing (work centers, labor hours, machine time) inside Epicor Kinetic's production management module post-migration. This is a known limitation of BOM migration from any SMB ERP to Epicor and is documented in the handoff package.
Deskera ERP
Sales Order
Epicor Prophet 21
Order
1:1Open Deskera Sales Orders with customer linkage, line items, pricing, and expected ship dates map to Epicor Order. OrderHed and OrderDtl are created from the Deskera order and order-line records. Deskera's order-to-invoice workflow maps to Epicor's Order-to-Ship-to-Invoice cycle; pricing rules migrate as OrderDtl unit prices. Closed historical orders are not migrated unless the customer specifies a historical cutoff; we document this decision in the scope and flag any compliance or audit requirement for historical order access.
Deskera ERP
Purchase Order
Epicor Prophet 21
PO
1:1Open Deskera Purchase Orders map to Epicor POHeader and PODetail with vendor linkage, expected receipt dates, and line-item quantities. Closed historical POs migrate only if the customer specifies an accounting cutoff or regulatory requirement. Epicor's PO Release structure (POHeader -> PORel) means Deskera PO lines with partial receipt history generate PORel records at the received quantity with the remaining balance as an open receipt expectation.
Deskera ERP
Employee (Deskera People)
Epicor Prophet 21
Employee + Labor
1:1Deskera People employee records with name, department, position, hire date, and compensation map to Epicor Employee. Pay rate and benefit deductions do not migrate directly because Epicor's HR capabilities are more limited than Deskera People; we import the employment record and flag payroll data as requiring manual setup in Epicor or a separate payroll integration. Organizational hierarchy from Deskera maps to Epicor's Employee Department and Class structure.
Deskera ERP
CRM Contact
Epicor Prophet 21
Person + Contact
1:1Deskera CRM contacts with name, email, phone, company association, lifecycle stage, and custom properties map to Epicor CRM Person records linked to the matching Customer record via the CustNum foreign key. Lifecycle stage and custom contact properties migrate as UD fields on the Person table, provisioned via Epicor UD Column Map before import. Deskera contact-to-account linkage is resolved by matching the Deskera company reference to the Epicor Customer record created in phase two.
Deskera ERP
Custom Field (on any object)
Epicor Prophet 21
UD Field
lossyDeskera custom fields on any supported object migrate to Epicor User-Defined (UD) fields on the corresponding Epicor business object. We pre-provision UD columns via Epicor's UD Column Map interface before data import begins. Custom field type mapping is type-by-type: text to string, number to decimal or int, date to date, checkbox to logical. Epicor's UD field naming convention requires a UD prefix; we handle the rename during schema provisioning. If a Deskera custom field references a lookup to another object, we document the relationship for manual reconfiguration in Epicor since UD field cross-object lookups require custom BAQ configuration.
Deskera ERP
Tax Code
Epicor Prophet 21
Tax Region + Tax Code
lossyDeskera tax codes and their rate assignments map to Epicor Tax Region configuration with corresponding Tax Code and Tax Rate entries. We preserve tax applicability (sales vs. purchase) and the associated GL account. If Deskera uses compound tax structures (tax on tax), we flatten these into single Epicor tax rates per line and document the original structure for the customer's Epicor admin to configure in Tax Maintenance post-migration.
| Deskera ERP | Epicor Prophet 21 | Compatibility | |
|---|---|---|---|
| Chart of Accounts | GL Account1:1 | Fully supported | |
| Customer | Customer1:1 | Fully supported | |
| Vendor | Supplier1:1 | Fully supported | |
| Journal Entry | GL Journal Entry1:1 | Fully supported | |
| Inventory Item | Part1:1 | Fully supported | |
| Bill of Materials | PartMtl (JobMtl for job-level BOM)lossy | Fully supported | |
| Sales Order | Order1:1 | Fully supported | |
| Purchase Order | PO1:1 | Fully supported | |
| Employee (Deskera People) | Employee + Labor1:1 | Fully supported | |
| CRM Contact | Person + Contact1:1 | Fully supported | |
| Custom Field (on any object) | UD Fieldlossy | Fully supported | |
| Tax Code | Tax Region + Tax Codelossy | 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.
Deskera ERP gotchas
Hidden implementation and setup fees inflate perceived cost
No free trial means migration scoping is irreversible
Undocumented API rate limits risk migration pauses
BOM and manufacturing data requires manual routing review
CRM mobile app lacks reporting functionality
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 data audit
We audit the source Deskera tenant across modules in use (accounting, inventory, CRM, HR, MRP), record volumes per object, active BOM structures with assembly depth, custom field definitions, and open order/purchase order count. We also review the target Epicor Kinetic edition, company structure, and any existing configuration (GL segments, tax regions, warehouse codes) to determine whether a single Epicor company or multiple companies are needed for the migration. The discovery output is a written migration scope document specifying the record-count estimates and the objects in scope versus out of scope for data migration.
Schema design and Epicor UD field provisioning
We design the destination schema in Epicor Kinetic before any data loads. This includes provisioning UD columns via the UD Column Map for every Deskera custom field being migrated, configuring GL Account segments to match Deskera account code structure, setting up Tax Regions and Tax Codes from Deskera tax definitions, and pre-configuring warehouse codes and PartClass records to match Deskera location structure. Epicor UD fields must be provisioned and deployed to the target company before DMT runs; we do this via Epicor's ICE Tools or direct database insert of the UD Column Map configuration. Schema design is validated in the Epicor Sandbox or Test company before production data moves.
Historical data cutoff and archive export
We work with the customer's finance team to define the accounting cutover date. Historical journal entries before the cutover date are exported as reference-only CSVs (preserving full detail including line amounts, accounts, and dimensions) and delivered as a standalone archive rather than loaded into Epicor as live GL records. Open orders and active purchase orders at the cutover date are the transactional migration target. We also extract BOM structures as structured CSVs at this stage for the BOM flattening work in step five.
Master data migration: COA, Customers, Vendors, Parts
We run master data migration in dependency order: GL Accounts first (no dependencies), then Customers (no dependencies), then Vendors (no dependencies), then Parts (references PartClass and UOM codes). Each phase uses Epicor DMT with the appropriate template (GLAccount, Customer, Supplier, Part). We resolve Deskera's address format to Epicor's Address format (Address1, Address2, City, State, PostalCode, Country). Lot/serial configuration and warehouse assignments migrate as PartBin records. Each DMT run emits a validation report that we reconcile against the Deskera source record count before proceeding to the next phase.
BOM flattening and job material preparation
Deskera multi-level BOMs are extracted as parent-to-child item association records. We transform these into Epicor PartMtl records (for make-to-stock assemblies) or JobMtl records (for job-specific materials). The flattening collapses sub-assemblies into top-level component lists; the Epicor admin rebuilds routing logic (work centers, sequence, labor hours) in Epicor's production management module post-migration. We deliver the flattened BOM as a structured CSV alongside a BOM dependency tree document that shows the original Deskera assembly hierarchy so the Epicor admin can reconstruct routing correctly.
Transactional migration: open orders, purchase orders, contacts, employees
Open Sales Orders migrate to Epicor OrderHed/OrderDtl with CustomerNum resolved to the Epicor Customer created in step four. Open Purchase Orders migrate to POHeader/PODetail with VendorNum resolved. CRM Contacts migrate as Person records linked to the matching Customer. Deskera People employees migrate as Epicor Employee records. Each import uses DMT with parent-record lookups resolved at migration time. Closed historical orders and purchase receipts are not migrated unless the customer specifies a regulatory or audit requirement; we document this as a scope decision.
Cutover, validation, and workflow rebuild handoff
We freeze Deskera writes during the cutover window, run a final delta migration of any records modified since the last full pass, and enable Epicor as the system of record. We deliver a written inventory of every identified Deskera automation, workflow rule, and configured MRP routing requiring rebuild in Epicor Kinetic's production management, automation, and workflow tools. Epicor Kinetic automations are not migrated as code. We support a one-week hypercare window for reconciliation issues and deliver the full migration audit log (source record, destination record ID, import timestamp, any exceptions) for the customer's records.
Platform deep dives
Deskera 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 Deskera 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
Deskera ERP: Not publicly documented.
Data volume sensitivity
Deskera 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 Deskera ERP to Epicor Prophet 21 migration scoping. Not seeing yours? Book a call.
Walk through your Deskera 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 Deskera 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.