ERP migration
Field-level mapping, validation, and rollback between inoERP and Microsoft Dynamics 365 Business Central. We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Business Central.
inoERP
Source
Microsoft Dynamics 365 Business Central
Destination
Compatibility
13 of 13
objects map 1:1 between inoERP and Microsoft Dynamics 365 Business Central.
Complexity
BStandard
Timeline
6-8 weeks
Overview
Migrating from inoERP to Microsoft Dynamics 365 is a structural migration that moves organisations from a free, self-hosted ERP built around dynamic pull-based manufacturing logic to a cloud-native, subscription ERP backed by Azure infrastructure and deep Microsoft 365 integration. The source extraction requires identifying whether the inoERP instance runs on the legacy PHP codebase or the newer Go/Flutter OneApp, because the database schemas differ and the MRP logic diverges significantly. inoERP's dynamic pull system recalculates lot sizes at each supply trigger, meaning historical MRP-generated requisitions reflect conditions that no longer apply in the destination. We flag these records rather than import them, recommend customers re-run MRP post-migration, and preserve the full transactional history so that financial closes, inventory balances, and work order completions are audit-ready in Dynamics 365. Workflows, automations, and the inoERP project module do not migrate as code; we deliver a written inventory for the customer's Dynamics 365 partner to rebuild.
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.
Source platform
inoERP platform overview
Scorecard, SWOT, gotchas, and pricing for inoERP.
Destination platform
Microsoft Dynamics 365 Business Central platform overview
Scorecard, SWOT, gotchas, and pricing for Microsoft Dynamics 365 Business Central.
Data migration guide
The complete Dynamics 365 Business Central migration guide
Data model, import mechanisms, field mapping strategy, pitfalls, and cutover — by the engineers running it.
Destination checklist
Dynamics 365 Business Central migration checklist
Pre- and post-cutover tasks for moving onto Microsoft Dynamics 365 Business Central.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a inoERP object lands in Microsoft Dynamics 365 Business Central, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
inoERP
Chart of Accounts
Microsoft Dynamics 365 Business Central
Ledger and Chart of Accounts Structure
1:1inoERP GL accounts map directly to the Ledger and Chart of Accounts structure in Dynamics 365 Finance and Operations. The account code, description, type (Asset, Liability, Equity, Revenue, Expense), and currency assignments transfer. We extract the current period trial balance from inoERP and map it to the opening balance in the destination ledger. If the destination is Business Central, the chart of accounts maps to the Chart of Accounts page with Main Account type and dimension categories preserved. Account dimension structures in D365 F&O (Financial Dimensions) require a mapping design decision: inoERP's cost-centre-on-account approach may map to D365's Financial Dimension set framework, and we configure the dimension set during schema design.
inoERP
Journal Entries
Microsoft Dynamics 365 Business Central
General Journal / Subledger Journals
1:1inoERP journal entries carry header data (journal batch name, date, description, source module) and line data (account, debit, credit, dimensions, reference). We extract all posted journal entries and map them to D365 F&O General journal lines or Business Central General Journal lines. Entries with non-posting status are flagged for customer review. Intercompany journal entries in inoERP require a dimension-based intercompany mapping design in D365 if multi-entity consolidation is in scope.
inoERP
Accounts Receivable
Microsoft Dynamics 365 Business Central
Accounts Receivable / Customer Transactions
1:1inoERP AR subledger contains customer records, open and closed invoices, credit memos, and payment history. Customer party records map to D365 F&O CustTable with address, contact, and payment terms. inoERP invoice headers and lines map to CustInvoiceJour and CustInvoiceTrans respectively. Open invoice status is preserved so that D365 displays correct aging. inoERP's party-based model requires mapping to D365's customer-account structure. Customer-specific price lists and discount groups transfer if configured in inoERP.
inoERP
Accounts Payable
Microsoft Dynamics 365 Business Central
Accounts Payable / Vendor Transactions
1:1inoERP AP subledger includes vendor records, open and closed bills, debit memos, and payment history. Vendor records map to D365 F&O VendTable with the same address and payment terms mapping as the AR side. inoERP vendor invoices map to VendInvoiceJour and VendInvoiceTrans. We extract all posted AP transactions and preserve the invoice approval workflow status where inoERP stores it. Vendor-specific terms and charges require a line-by-line review because inoERP stores some terms as header-level while D365 supports both header and line-level terms.
inoERP
Items / Inventory
Microsoft Dynamics 365 Business Central
Released Products and Inventory Dimensions
1:1inoERP item masters store UOM, cost layers (FIFO, Average, Standard), item category hierarchies, and on-hand balances by inventory location. We extract item definitions, on-hand quantities, cost layers, and location assignments. Items map to D365 F&O Released Products with the appropriate product type (Item or Service). Inventory dimension groups in D365 (Site, Warehouse, Location, Batch, Serial) require a mapping decision: inoERP multi-location setups map to D365 Warehouse dimension, and lot and serial number tracking settings transfer if enabled. Cost layer data in inoERP's inventory valuation table maps to D365's InventDim and InventValue tables for open item cost preservation.
inoERP
Sales Orders
Microsoft Dynamics 365 Business Central
Sales Orders
1:1inoERP sales orders include header fields (order number, customer reference, dates, terms, warehouse) and line items (item, quantity, price, discount, warehouse). We extract open and closed sales orders by status. Open orders map to D365 F&O SalesTable and SalesLine records for continuation post-migration. Closed orders migrate as historical records with a status flag so they do not trigger fulfilment actions in D365. Header charges, freight, and miscellaneous items in inoERP map to SalesOrderHeaderCharge and SalesOrderLineCharge tables in D365 F&O.
inoERP
Purchase Orders
Microsoft Dynamics 365 Business Central
Purchase Orders
1:1inoERP purchase orders contain vendor references, item lines, quantities, prices, delivery dates, and warehouse assignments. Open purchase orders map to D365 F&O PurchTable and PurchLine records. Closed purchase orders migrate as historical records. inoERP's approval workflow status transfers to D365's purchase order workflow state. Multi-line purchase orders with mixed delivery dates are preserved at line level, and any landed cost components in inoERP map to D365's cargo type and costing version structures.
inoERP
Work Orders / WIP
Microsoft Dynamics 365 Business Central
Production Orders / Kanban Jobs
1:1inoERP work orders contain routing steps, material issues, resource transactions, and completion records. WIP ledger aggregates costs per work order. We extract the full work order history including start and end dates, material consumption, operation resource time, and completion quantities. Active and scheduled production orders map to D365 F&O ProdTable and ProdBOM. The inoERP WIP cost roll-forward maps to the InventValue table in D365 with a WIP dimension so that the customer's finance team can reconcile work-in-progress balances post-migration. Historical completed work orders migrate as closed production orders.
inoERP
Bills of Material / Routings
Microsoft Dynamics 365 Business Central
BOMs and Routes
1:1inoERP BOMs and routings define product structures and manufacturing steps with multi-level BOM support and super BOM capability. We export the full BOM hierarchy and routing sequence including phantom BOMs and co-products. Phantom BOMs and configurable BOMs in inoERP map to D365 F&O BOM versions with the appropriate BOM type (Phantom or Static). Routing operations, work centre assignments, and process times transfer to D365 route versions with the same operation sequence. BOM explosion in D365 during production order creation will recalculate based on D365's lot sizing rules, which may differ from inoERP's dynamic pull calculations, and we document this divergence during scoping.
inoERP
Employees / HR
Microsoft Dynamics 365 Business Central
Workers (HR Core)
1:1inoERP HR module contains employee profiles, job definitions, position assignments, compensation records, and leave balances. We extract employee records and position assignments. Compensation history (salary, bonuses, deductions) migrates to D365 HR Core Worker compensation structures. inoERP leave balances map to D365 HR Core leave plans, though leave plan template configuration is required post-migration because leave types and accrual rules differ between platforms. inoERP role-based access control maps to D365 Security roles, though the role permission model differs and we document the mapping rather than apply it automatically.
inoERP
Asset Accounting
Microsoft Dynamics 365 Business Central
Fixed Assets
1:1inoERP asset registers include acquisition details, depreciation schedules, and asset categories. We export the full asset record including acquisition cost, book value, accumulated depreciation, and the depreciation method. Asset records map to D365 F&O Fixed Assets with the same acquisition date, acquisition cost, and depreciation convention. Depreciation methods (straight-line, declining balance, units of production) transfer with the same parameters, and the customer's fixed asset register opening balance posts to the general ledger through D365 Fixed Asset posting profiles.
inoERP
Users / Roles
Microsoft Dynamics 365 Business Central
Users and Security Roles
1:1inoERP users and role-based access control records export as user accounts with role assignments. We map inoERP roles to D365 F&O Security roles and duty/privilege sets. Because the permission models differ significantly between platforms, we provide a role-mapping matrix rather than a direct permission transfer. The customer's D365 admin reviews and assigns security roles post-migration based on the mapping matrix we deliver.
inoERP
Payroll / Bank Files
Microsoft Dynamics 365 Business Central
Payroll Bank Transfers
1:1inoERP payroll generates electronic bank files for direct deposit via its customisable JavaScript REST API. We export payroll registers, leave balances, and compensation history. Bank file formats are inoERP-instance-specific and require a custom transformation to match the customer's payroll processor format. D365 HR Core payroll integration is typically handled through a payroll add-on (such as ADP, Blue-badge, or another certified payroll provider), and we document the payroll data export format so the customer's payroll partner can configure the integration.
| inoERP | Microsoft Dynamics 365 Business Central | Compatibility | |
|---|---|---|---|
| Chart of Accounts | Ledger and Chart of Accounts Structure1:1 | Fully supported | |
| Journal Entries | General Journal / Subledger Journals1:1 | Mapping required | |
| Accounts Receivable | Accounts Receivable / Customer Transactions1:1 | Fully supported | |
| Accounts Payable | Accounts Payable / Vendor Transactions1:1 | Fully supported | |
| Items / Inventory | Released Products and Inventory Dimensions1:1 | Fully supported | |
| Sales Orders | Sales Orders1:1 | Fully supported | |
| Purchase Orders | Purchase Orders1:1 | Fully supported | |
| Work Orders / WIP | Production Orders / Kanban Jobs1:1 | Mapping required | |
| Bills of Material / Routings | BOMs and Routes1:1 | Fully supported | |
| Employees / HR | Workers (HR Core)1:1 | Mapping required | |
| Asset Accounting | Fixed Assets1:1 | Mapping required | |
| Users / Roles | Users and Security Roles1:1 | Mapping required | |
| Payroll / Bank Files | Payroll Bank Transfers1:1 | 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.
inoERP gotchas
Architecture version split between PHP and Go/Flutter
OneApp API has no publicly documented rate limits
Closed-order and historical transaction volume drives migration scope
Dynamic pull system recalculates lot sizes at runtime
Self-hosting creates data export dependency on the customer
Microsoft Dynamics 365 Business Central gotchas
Named-user licensing has no concurrent-use relief
API rate limits throttle large-volume migrations
Historical posted transactions require selective migration scoping
NAV-to-Business Central cloud migration requires partner coordination
Custom fields and AL extensions require separate migration handling
Pair-specific challenges
Migration approach
Discovery and version identification
We audit the source inoERP instance to identify the codebase version (PHP or Go/Flutter OneApp), the database type (MySQL, MariaDB, or Oracle 12c), the list of active modules, the count of transactional records per module, the number of active users, and the fiscal period calendar. We review the chart of accounts structure, any multi-site inventory configuration, the BOM hierarchy depth, and whether any custom fields have been added to standard inoERP tables. We also confirm whether the instance is self-hosted on-premises or cloud-hosted, and we establish database read access or arrange for a database dump export. The discovery output is a written scope document with record counts, a migration target recommendation (D365 Finance and Operations or Business Central), and a date-range filter proposal for historical transactions.
Schema design and ledger configuration
We design the destination Dynamics 365 schema before any data extraction begins. For Finance and Operations, this includes the Chart of Accounts structure and Financial Dimension framework, the fiscal period calendar, the ledger setup, and the posting profile definitions for AR, AP, and inventory. For Business Central, this includes the Chart of Accounts page configuration, the dimension setup, and the posting group definitions. We map inoERP's account types and cost-centre-on-account approach to D365's dimension set model. If multi-entity or multi-site inventory is in scope, we design the operating unit structure and the inventory dimension group assignments for each site and warehouse.
Sandbox migration and reconciliation
We run a full migration into a Dynamics 365 sandbox environment using production-like data volume sourced from the discovery phase. The customer's finance lead and operations lead reconcile record counts against the inoERP source (Accounts in, Journal Entries in, Customers in, Vendors in, Items in, Orders in, Work Orders in), spot-check 25-50 records at random for field-level accuracy, and verify that inventory on-hand balances match between inoERP and the destination. Any mapping corrections, dimension assignment errors, or currency rounding issues surface here before production migration begins.
Owner reconciliation and User provisioning
We extract every distinct inoERP user referenced on transactional records and map them to D365 Worker or User records. The customer's D365 admin provisions any missing workers and assigns security roles using the role-mapping matrix we deliver. Migration cannot proceed to production record imports until all OwnerId references in the destination are satisfied, because D365's posting workflows require a responsible worker on journal and order records.
Production migration in dependency order
We run production migration in record-dependency order: Ledger and Chart of Accounts first, followed by journal entries, then customers and vendors, then items with inventory dimensions and on-hand balances, then open sales and purchase orders, then production orders with BOM and routing assignments, then employee records, and finally fixed assets. BOM explosion and work order cost roll-forward happen against the item and routing data already migrated. MRP-generated plan records are extracted separately, flagged for post-migration re-run, and excluded from the production import. Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, validation, and MRP re-run handoff
We freeze inoERP writes during the cutover window, run a final delta migration of any records created or modified during the migration window, then make Dynamics 365 the system of record. We deliver the MRP re-run recommendation document listing all flagged plan-generated records and the suggested lot-sizing parameters to apply in D365. We do not rebuild inoERP automations, project configurations, or workflow rules as D365 equivalents; we deliver a written inventory of these for the customer's Dynamics 365 partner to rebuild. We support a one-week post-cutover hypercare window for reconciliation issues raised by the customer's team.
Platform deep dives
inoERP
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Business Central
Destination
Strengths
Weaknesses
Complexity grading
Standard ERP migration. All 8 core objects map 1:1 between inoERP and Microsoft Dynamics 365 Business Central.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across inoERP and Microsoft Dynamics 365 Business Central.
Object compatibility
All 8 core objects map 1:1 between inoERP and Microsoft Dynamics 365 Business Central.
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
inoERP: Not publicly documented.
Data volume sensitivity
inoERP 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 inoERP to Microsoft Dynamics 365 Business Central migration scoping. Not seeing yours? Book a call.
Walk through your inoERP to Microsoft Dynamics 365 Business Central migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave inoERP
Other ways to arrive at Microsoft Dynamics 365 Business Central
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.