ERP migration

Migrate from Microsoft Dynamics 365 Business Central to Epicor Prophet 21

Field-level mapping, validation, and rollback between Microsoft Dynamics 365 Business Central and Epicor Prophet 21. We move data and schema; workflows are rebuilt natively in Epicor Prophet 21.

Microsoft Dynamics 365 Business Central logo

Microsoft Dynamics 365 Business Central

Source

Epicor Prophet 21

Destination

Epicor Prophet 21 logo

Compatibility

85%

11 of 13

objects map 1:1 between Microsoft Dynamics 365 Business Central and Epicor Prophet 21.

Complexity

BStandard

Timeline

8-12 weeks

Rollback included Accuracy guarantee Field-level validation

Try the reverse

Epicor Prophet 21
Microsoft Dynamics 365 Business Central

Overview

What this migration involves

Moving from Microsoft Dynamics 365 Business Central to Epicor ERP is a cross-vendor ERP migration that requires schema reconciliation between two structurally different platforms. Business Central organizes data around de-normalized data entities exposed via REST API v2.0 with named-user licensing; Epicor ERP uses a normalized table structure with native manufacturing depth (BOMs, routings, work centers, MES) available across more tiers. We extract master records, open documents, and scoped historical data from Business Central, transform the records to Epicor's schema and naming conventions, and load via Epicor's REST or IDO-based API with parent-record dependency resolution. We do not migrate Business Central workflows, approval rules, RapidStart packages, or AL extensions as code; we deliver a written inventory of these for the customer's Epicor administrator to rebuild. The migration cutoff for historical posted entries (G/L Entry, Item Ledger Entry, Value Entry) is negotiated during scoping to keep the cutover window manageable while preserving the audit trail the customer actually needs.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

Microsoft Dynamics 365 Business Central logo

Microsoft Dynamics 365 Business Central

What's pushing teams away

  • Named-user licensing is expensive for organizations with many occasional users — teams report that even staff who only upload invoices or run reports each need a full paid license.
  • The learning curve is steep for users unfamiliar with Microsoft's ERP paradigm; G2 reviews cite 51 mentions of learning difficulties as a top frustration.
  • Customization requires partner support and technical expertise — G2 reviews note 20 mentions of difficult customization processes and 28 mentions of missing features for simple needs.
  • The interface is described as visually busy and overwhelming, especially for teams coming from simpler accounting tools.
  • October 2024 pricing increases (first since 2019) with another adjustment in October 2025 have alarmed existing customers and prospects already concerned about total cost of ownership.

Choosing

Epicor Prophet 21 logo

Epicor Prophet 21

What's pulling them in

  • Industry-specific design for wholesale distributors, not a general-purpose ERP repurposed for distribution — distributors choose P21 because it matches their replenishment, kitting, and counter-sale workflows out of the box.
  • Strong inventory control with automated replenishment, lot and serial tracking, and multi-warehouse management appeals to distributors with complex stock requirements and tight margin pressure.
  • Responsive customer support cited across G2 and Gartner reviews, with Epicor's 90% retention rate reflecting long-term customer satisfaction in a market where switching costs are high.
  • Cloud deployment on Microsoft Azure provides the flexibility to scale user counts and warehouse locations without on-premise infrastructure investment.
  • The Software Development Kit lets distributors personalize P21 to their specific business processes without modifying the application source code, preserving upgrade paths.

Object mapping

How Microsoft Dynamics 365 Business Central objects map to Epicor Prophet 21

Each row shows how a Microsoft Dynamics 365 Business Central 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.

Microsoft Dynamics 365 Business Central

Customer

maps to

Epicor Prophet 21

Customer

1:1
Fully supported

Business Central Customer records map directly to Epicor Customer. We resolve t ShipToAddress and PayToContact structures into Epicor's Customer and CustShipTo tables, preserving payment terms, customer posting groups, and credit limits. Customer is imported before any Sales Order or AR invoice records so that parent references are satisfied at insert time. We flag any Customer records with inactive status in Business Central for the customer's Epicor admin to confirm before migration.

Microsoft Dynamics 365 Business Central

Vendor

maps to

Epicor Prophet 21

Vendor

1:1
Fully supported

Business Central Vendor master records map to Epicor Vendor. Vendor posting groups from Business Central translate to Epicor's Vendor purchasing group or terms code. Pay-to addresses and contact records map to Vendor and VendorContact. We resolve AP invoice and open PO records against the Vendor after master import completes, preserving any pre-cutoff open balances as carry-forward entries.

Microsoft Dynamics 365 Business Central

Item

maps to

Epicor Prophet 21

Part

1:many
Fully supported

Business Central Items use three separate types (Inventory Item, Service, Non-Inventory Item) stored as distinct records in a single table with a Type field. Epicor Kinetic uses a single Part table with a PartType field (Stock, Non-Stock, Service, Expense). We transform the Business Central Item Type into Epicor PartType and map the related inventory posting group to Epicor's Commodity Code or Class. Stocking UOM, costing method, and lot/serial tracking flags carry forward as Part Plant and PartLot configuration rows. Items without inventory tracking (Service, Non-Inventory) map to PartType = Non-Stock or Service without plant-level stocking records.

Microsoft Dynamics 365 Business Central

General Ledger Account

maps to

Epicor Prophet 21

GL Account

1:1
Fully supported

Business Central Chart of Accounts records (with account categories, account type, and direct-posting flag) map to Epicor GL Account with the account number and name preserved. We resolve Business Central account categories to Epicor GL Account Categories or Segments depending on the customer's Epicor chart configuration. Pre-migration, we confirm whether the destination Epicor chart uses a flat or segmented account structure, as Business Central account numbering schemes often use prefixes that map differently to segmented charts.

Microsoft Dynamics 365 Business Central

Sales Order

maps to

Epicor Prophet 21

SalesOrder

1:1
Fully supported

Open Sales Orders from Business Central (document status not equal to Invoiced, Cancelled, or Shipped) migrate to Epicor SalesOrderHed and SalesOrderDtl. We preserve OrderDate, RequestDate, the customer and contact references, and all line quantities, unit prices, and discount amounts. Line-level Item numbers are resolved to Epicor PartNum after the Part master import completes. Backorder quantities and partial-shipment flags carry forward. Lines referencing Items that do not yet exist in Epicor are held in a reconciliation queue.

Microsoft Dynamics 365 Business Central

Purchase Order

maps to

Epicor Prophet 21

POHeader / PODetail

1:1
Fully supported

Open Purchase Orders from Business Central migrate to Epicor POHeader and PODetail. Expected receipt dates, quantities, and vendor references carry forward. Business Central prepayment percentages on PO lines map to Epicor prepayment fields if the destination is configured for prepayment tracking; otherwise they are documented as notes for the customer's AP team. Open PO lines referencing unmapped Vendors are held until Vendor master reconciliation completes.

Microsoft Dynamics 365 Business Central

Item Ledger Entry / Value Entry

maps to

Epicor Prophet 21

PartTran / PartLot

1:1
Fully supported

Business Central Item Ledger Entry and Value Entry tables represent inventory movement history and cost layers. These tables grow indefinitely and can reach millions of rows in active manufacturing or distribution environments. We negotiate a migration cutoff (typically 12-24 months of posted history) with the customer and migrate only post-cutoff Item Ledger Entries as Epicor PartTran records. Pre-cutoff on-hand quantities and average/unit costs carry forward as opening balances on the Part Plant record. Lot and serial tracking flags migrate as PartLot entries.

Microsoft Dynamics 365 Business Central

G/L Entry

maps to

Epicor Prophet 21

GLJrnLine (Opening Balances)

1:1
Fully supported

Business Central G/L Entry records (posted journal entries) migrate as opening balance carry-forward rather than as historical journal lines in Epicor. We aggregate G/L Account balances at the migration cutoff date and create Epicor Opening Balance journal entries per account. This approach keeps the go-live window manageable (avoiding millions of individual G/L Entry imports) while preserving the account balances needed for trial balance continuity and audit trail. Pre-cutoff G/L Entry detail is archived outside Epicor for compliance reference.

Microsoft Dynamics 365 Business Central

Job (Project Management)

maps to

Epicor Prophet 21

Project

1:1
Fully supported

Business Central Jobs with WBS-style task breakdowns, resource assignments, and job journal postings map to Epicor Project. We transform the Business Central job task hierarchy into Epicor ProjectPhase and ProjectTask records, preserving budget amounts, resource rates, and job posting groups. Active Jobs with incomplete billing or time entries migrate with their current status; completed or closed Jobs are migrated as historical records with a Closed flag. If Business Central Jobs reference Employees as resources, we resolve the Employee mapping before Job import.

Microsoft Dynamics 365 Business Central

Employee

maps to

Epicor Prophet 21

Employee

1:1
Fully supported

Business Central Employee records (demographics, employment information, bank details for payroll) map to Epicor Employee. Employee numbers carry forward as the primary key. Address and contact data map to Epicor's EmployeePer and EmpBasic tables. Note that Business Central HR capabilities are basic compared to dedicated HRMS platforms, and Epicor's HR module is similarly scoped for payroll and time tracking integration rather than full HRIS functionality.

Microsoft Dynamics 365 Business Central

Bank Account

maps to

Epicor Prophet 21

BankAcct

1:1
Fully supported

Business Central Bank Account records map to Epicor BankAcct with the account number, bank name, and posting group preserved. Open bank account ledger entries (outstanding checks, deposits in transit) migrate as Epicor Cash Hed entries to preserve the bank reconciliation state at cutoff. Bank reconciliation rules and statement import formats are documented for the customer's Epicor admin to configure post-migration.

Microsoft Dynamics 365 Business Central

Fixed Asset

maps to

Epicor Prophet 21

FAsset

1:1
Fully supported

Business Central Fixed Asset records (acquisition cost, depreciation books, insurance coverage) map to Epicor FAsset and related depreciation book tables. Depreciation schedules and book assignments carry forward as FAssetBook records with the original acquisition date, depreciable basis, and remaining useful life recalculated or preserved based on the customer's preference. Asset register balances are reconciled against the G/L Account opening balances at migration cutoff. Insurance coverage and asset location data map to Epicor UD fields or FAssetAttch records.

Microsoft Dynamics 365 Business Central

Custom Field / AL Extension Table

maps to

Epicor Prophet 21

UD Field / Custom Field

lossy
Fully supported

Business Central custom fields built via AL extensions are stored in separate extension tables and do not have a direct Epicor schema counterpart. We identify all custom fields during the discovery phase, map each to an equivalent Epicor User Defined (UD) field on the corresponding table, and execute a second migration pass after base entity validation is complete. Any custom field that overlaps with a standard Business Central field is flagged to prevent duplicate or conflicting data on import. This is a pair-specific gotcha: AL extension field types (Option, Decimal, Text with length constraints) must be explicitly mapped to Epicor UD field data types.

Gotchas + challenges

What specifically takes care here

Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.

Microsoft Dynamics 365 Business Central logo

Microsoft Dynamics 365 Business Central gotchas

High

Named-user licensing has no concurrent-use relief

High

API rate limits throttle large-volume migrations

Medium

Historical posted transactions require selective migration scoping

Medium

NAV-to-Business Central cloud migration requires partner coordination

Low

Custom fields and AL extensions require separate migration handling

Epicor Prophet 21 logo

Epicor Prophet 21 gotchas

High

Third-party bolt-on integrations complicate migration scope

High

Dirty data without standardized processes compounds migration risk

Medium

SDK customizations and BPMs may not survive platform upgrades

Medium

Report-based export only for non-technical users

Low

Per-user pricing model requires accurate user count before migration planning

Pair-specific challenges

  • Business Central data entity schema does not map directly to Epicor's normalized table structure

    Business Central exposes de-normalized data entities (CustomerEntity, VendorEntity, ItemEntity) via its REST API that abstract away the underlying normalized SQL tables. Epicor Kinetic uses a normalized table structure with separate header, detail, extension, and link tables. A field present in a Business Central data entity may reference a different table in Epicor (e.g., Business Central's Ship-to Address is embedded in CustomerEntity while Epicor stores it in a separate CustShipTo table with a foreign key). We build a table-level field map during discovery that resolves each Business Central entity field to its Epicor table and column before any ETL work begins. Migrations that skip this schema reconciliation step produce orphaned records, broken foreign keys, and data that appears correct at import but fails referential integrity checks during Epicor's validation routines.

  • Manufacturing BOM and routing data requires manual mapping and separate Epicor import

    Business Central Premium stores production bill of materials and routing data in separate tables (ProductionBOM, ProductionOrderRoutingLine) that do not have a direct equivalent in Epicor's Part, BOM, and PartOpr tables with a one-to-one field correspondence. Epicor Kinetic's BOM structure uses ParentPartNum, Revision, and MtlPartNum links, while routings use PartOpr with WorkCenterSeq references. We document the BOM and routing transformation rules during scoping and provide a written map with the migration package. The customer or an Epicor manufacturing consultant executes the BOM and routing import using Epicor's data load tools after the master data migration validates. Business Central Production Orders with status (Released, Finished, Firmed) migrate as Epicor JobHead and JobMtl records with their current production stage preserved.

  • Custom AL extension fields do not automatically transfer to Epicor User Defined fields

    Business Central allows custom fields via AL language extensions stored in separate extension tables (e.g., table extension ID prefixed to the base table). Epicor Kinetic does not have a direct equivalent to AL extensions; custom data requirements are handled through User Defined (UD) fields on standard tables or through custom UD tables. We identify all active AL extension fields during the discovery phase, map each to its target Epicor UD field with correct data type (character, integer, decimal, date), and import custom field data in a second pass after the base entity migration validates. Any custom field that overlaps with a standard Business Central field is flagged to prevent duplicate or conflicting data on import. The customer's Epicor administrator validates UD field labels and validation rules post-migration.

  • Historical posted transaction volumes can stall the cutover window

    Business Central's G/L Entry, Item Ledger Entry, and Value Entry tables grow indefinitely and can contain millions of rows in active manufacturing or distribution environments. Epicor Kinetic's migration import tools process records sequentially with referential integrity checks that slow under large batch sizes. We negotiate a migration cutoff with the customer during scoping, typically 12-24 months of posted history, and carry forward account and inventory balances as Epicor opening balance entries for pre-cutoff periods. Historical detail beyond the cutoff is archived outside Epicor for compliance and audit access. Migrations that attempt full historical replay without a cutoff definition routinely extend the cutover window by 2-4 weeks and increase the risk of API timeout errors during the extraction phase.

  • Business Central workflows and approval rules are not portable between tenants or vendors

    Business Central approval workflows are environment-specific, tied to user accounts, delegate settings, and response limits configured within the tenant. Epicor Kinetic uses a different workflow engine (Epicor Functions, BPM, and Method Directives) with different trigger models and action types. We do not migrate workflows as code. We deliver a written inventory of every active Business Central approval workflow and Power Automate flow with its trigger conditions, approver chain, and action sequence. The customer's Epicor administrator or an Epicor consultant uses this inventory to rebuild equivalent workflow logic in Epicor Kinetic post-migration. RapidStart configuration packages (used for master data template setup in Business Central) similarly do not migrate; they are documented for reference only.

Migration approach

Six steps for a successful Microsoft Dynamics 365 Business Central to Epicor Prophet 21 data migration

  1. Discovery and migration scope definition

    We audit the source Business Central tenant across version, licensed tier (Essentials/Premium), active user count, company structure (single or multi-entity), custom AL extensions, active workflows, and integration points. We extract record counts across all master and transactional tables to size the migration. We confirm the Epicor Kinetic deployment (cloud or on-premise), active modules (manufacturing, distribution, project), and chart of accounts structure. The discovery output is a written migration scope document covering object priority, migration cutoff for historical transactions, custom field inventory, BOM and routing presence, and a timeline estimate.

  2. Schema design and table-level field map

    We build a detailed field map between Business Central data entities and Epicor Kinetic tables. This includes resolving the de-normalized entity fields to their normalized Epicor table counterparts (e.g., CustomerEntity ship-to fields to CustShipTo), mapping Business Central account categories to Epicor GL Account segments, and designing the BOM and routing transformation rules. We coordinate with the customer's Epicor administrator to confirm the chart of accounts structure, part number format, and warehouse/location codes before any data extraction begins. The field map is reviewed and signed off before extraction.

  3. Data extraction from Business Central

    We extract data from Business Central using the REST API v2.0 with OAuth 2.0 authentication. We implement request throttling with exponential backoff and batch chunking to stay within observed rate limits (Microsoft does not publish fixed limits). We pull master records (Customers, Vendors, Items, Employees, Bank Accounts, GL Accounts, Fixed Assets) in full, then transactional records (open Sales Orders, open Purchase Orders, scoped Item Ledger Entries, scoped G/L Entries) up to the agreed cutoff date. We extract custom extension field values in a separate pass after base entity extraction validates. All extractions emit row-count and checksum reports for reconciliation against Epicor import results.

  4. Data transformation and Epicor Kinetic staging

    We transform the extracted Business Central records to match Epicor Kinetic's schema, data types, and validation requirements. This includes splitting Business Central Item types into Epicor PartType values, resolving Business Central posting groups to Epicor account segments, formatting part numbers and customer numbers to the customer's Epicor conventions, and applying date and currency formatting per the Epicor locale configuration. We run a transformation dry-run against a subset of records and validate against Epicor's validation rules before full load. Any record that fails Epicor validation is logged to a reconciliation queue with the specific field and rule violation for the customer to resolve or suppress.

  5. Epicor Kinetic production load and reconciliation

    We load master data into Epicor Kinetic first (GL Accounts, Customers, Vendors, Parts, Employees, Bank Accounts, Fixed Assets), then transactional records in dependency order (open Sales Orders, open Purchase Orders, scoped Item Ledger Entries, Job/Project records, scoped G/L opening balances). Each phase emits a row-count reconciliation report comparing Business Central source record count against Epicor inserted record count. We flag any discrepancy above 0.5% for investigation before proceeding to the next phase. BOM and routing data is delivered as a documented import package rather than loaded directly, as these require Epicor manufacturing consultant review for accuracy. Custom extension fields are loaded in a second pass after base entity validation.

  6. Cutover, validation, and handoff documentation

    We freeze writes to Business Central during the cutover window, run a final delta migration of any records modified during the window, then hand off Epicor Kinetic as the system of record. We deliver the workflow inventory document, the BOM and routing transformation map, and the post-migration data archive location for pre-cutoff historical records. We support a one-week hypercare window for reconciliation issues. We do not rebuild Business Central workflows, Power Automate flows, or RapidStart packages in Epicor Kinetic; those are delivered as written inventories for the customer's Epicor administrator or manufacturing consultant to rebuild as separate engagement scope.

Platform deep dives

Context on both ends of the pair

Microsoft Dynamics 365 Business Central logo

Microsoft Dynamics 365 Business Central

Source

Strengths

  • Tight integration with Microsoft 365 (Outlook, Teams, SharePoint) for users already in the Microsoft ecosystem.
  • Includes Copilot AI, predictive analytics, and embedded Power BI dashboards at no additional cost in both license tiers.
  • Supports multiple companies within a single tenant for holding-company or multi-entity organizational structures.
  • Open REST API v2.0 with OAuth 2.0 authentication and data entity abstraction layer for developer-friendly integrations.
  • Strong partner ecosystem specializing in NAV-to-Business Central migrations provides implementation confidence for legacy upgrades.

Weaknesses

  • Named-user licensing model means every active user account requires a paid license — no concurrent access model to reduce costs for occasional users.
  • SaaS-only deployment means no on-premises option; organizations requiring full data residency control may not have viable alternatives within Microsoft's stack.
  • Manufacturing module (Production Orders, routing, work centers) is only available on Premium tier, pushing cost-sensitive manufacturers to higher-priced plans.
  • Customization and extension development requires AL language knowledge and developer licenses, limiting what power users can do without a partner engagement.
  • Global pricing increases effective October 2024 and again October 2025 after five years of stable pricing, creating budget uncertainty for existing customers.
Epicor Prophet 21 logo

Epicor Prophet 21

Destination

Strengths

  • Purpose-built for wholesale distribution with industry-specific replenishment, kitting, and counter-sale workflows out of the box.
  • Multi-warehouse management with bin locations, cross-docking, and real-time inventory visibility across all warehouse locations.
  • Automated replenishment engine with demand-based and min-max planning reduces stockouts and overstock carrying costs.
  • AI-infused reporting via Epicor Prism provides Gen AI-driven insights into ERP data without requiring a BI team.
  • Strong customer retention at 90% and a 50-year track record in the distribution vertical provides long-term vendor stability.

Weaknesses

  • High total cost of ownership — per-user pricing of $150-200/month plus $10K-$500K implementation creates significant budget commitment for small and mid-market distributors.
  • Customization via SDK requires technical expertise and introduces upgrade risk when custom code conflicts with new P21 releases.
  • Report generation performance is a known pain point — multiple users report system freezes during large or complex report exports.
  • Third-party bolt-on reliance for functionality that competitors include natively increases integration complexity and total solution cost.
  • Limited public API documentation — developers building custom integrations report difficulty finding P21 API authentication methods and endpoint specifications.

Complexity grading

How hard is this migration?

Standard ERP migration. 2 of 8 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Microsoft Dynamics 365 Business Central and Epicor Prophet 21.

  • Object compatibility

    B

    2 of 8 objects need a mapping; the rest are 1:1.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    8-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    Microsoft Dynamics 365 Business Central: Maximum 5 concurrent requests per user with a request queue size of 95; HTTP 429 returned when exceeded.

  • Data volume sensitivity

    A

    Microsoft Dynamics 365 Business Central exposes a bulk API — large-volume migrations stream efficiently.

Estimator

Estimate your Microsoft Dynamics 365 Business Central to Epicor Prophet 21 migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about Microsoft Dynamics 365 Business Central to Epicor Prophet 21 data migrations

Answers to the questions buyers ask most during Microsoft Dynamics 365 Business Central to Epicor Prophet 21 migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Microsoft Dynamics 365 Business Central to Epicor Prophet 21 migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most Business Central to Epicor migrations land between 8 and 12 weeks for straightforward scopes (under 5,000 Customers, 2,000 Vendors, 10,000 Items, open orders only, no BOM or routing data). Migrations that include BOM and routing data, multi-site inventory across multiple warehouse and location tables, large historical ledger entries (over 500,000 rows), or active AL custom extensions move to 12-18 weeks because of the BOM transformation work, multi-site warehouse mapping, and the two-pass custom field migration. Epicor Kinetic cloud deployments add 1-2 weeks for environment provisioning and network configuration before data load begins.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Microsoft Dynamics 365 Business Central.
Land in Epicor Prophet 21, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day