ERP migration
Field-level mapping, validation, and rollback between AFAS and Microsoft Dynamics 365 Business Central. We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Business Central.
AFAS
Source
Microsoft Dynamics 365 Business Central
Destination
Compatibility
10 of 12
objects map 1:1 between AFAS and Microsoft Dynamics 365 Business Central.
Complexity
BStandard
Timeline
6-10 weeks
Overview
Moving from AFAS Profit to Microsoft Dynamics 365 is a cross-platform ERP migration that requires resolving fundamental schema differences before data moves. AFAS Profit stores financial, HR, and operational data in a single-company Dutch-localized model; Dynamics 365 uses a multi-company legal entity architecture with structured financial dimensions, typed main accounts, and separate payroll options depending on the chosen D365 app (Business Central Essentials vs. Finance and Operations). We inventory every custom field and user-defined table in the specific AFAS installation during discovery, because no two AFAS environments share the same schema after years of customization. We preserve Dutch VAT and BTW tax codes on every invoice line, map AFAS warehouse references to D365 inventory dimensions (site, warehouse, location), and deliver a written inventory of active AFAS workflows and approval chains for the customer's admin to rebuild in Power Automate or D365 Finance workflow foundations. Workflows, document templates, and custom middleware integrations do not migrate as data or code.
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
AFAS platform overview
Scorecard, SWOT, gotchas, and pricing for AFAS.
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 AFAS 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.
AFAS
Chart of Accounts (Grootboek)
Microsoft Dynamics 365 Business Central
Main Account + Account Structure
lossyAFAS stores the Dutch chart of accounts with statutory account codes, cost-center mappings, and fiscal account references across its GL module. We map each AFAS G/L account to a D365 Main Account with the correct account type (Profit and Loss, Balance Sheet, Expense, Revenue), assign it to the appropriate COA structure, and attach the financial dimension set that AFAS uses for cost-center reporting. D365 F&O requires a formal account structure framework; Business Central uses G/L account categories. The mapping output includes the full COA spreadsheet with D365 Main Account IDs, account types, and dimension assignments for the customer's finance team to validate before import.
AFAS
Customer (Klant)
Microsoft Dynamics 365 Business Central
Customer + Address
1:1AFAS Customer records with contact details, payment terms, VAT registration numbers (BTW-nummer), and addresses map to D365 Customer (Account) records. AFAS stores a primary invoice and delivery address per customer; D365 F&O supports multiple addresses but marks one as primary per type. We preserve the BTW-nummer in the Tax Identification Number field on the Customer and validate the Dutch VAT format (NL + 9 digits + B01) before insert. Business Central uses Customer cards with address lines and VAT registration fields that align directly with AFAS fields.
AFAS
Supplier (Leverancier)
Microsoft Dynamics 365 Business Central
Vendor + Address
1:1AFAS Supplier records map to D365 Vendor records with the same address and payment-term mapping as Customer. Dutch supplier BTW-nummers are validated and mapped to the Tax Identification Number field on the Vendor. AFAS purchase invoice terms and any supplier-specific invoice discounts migrate as Vendor payment terms. D365 uses a unified vendor group structure; we assign AFAS supplier categories to D365 vendor groups during configuration.
AFAS
Sales Invoice and Purchase Invoice
Microsoft Dynamics 365 Business Central
Free Text Invoice, Sales Order Invoice, or Purchase Order Invoice
1:1AFAS generates sales invoices, purchase invoices, and credit notes with line items, tax codes, and payment references. We extract open and historical invoices. Each invoice line carries an AFAS BTW code that maps to a D365 Sales Tax Item Group and Sales Tax Group combination. Historical invoice PDFs and attached documents migrate as document attachments to the corresponding D365 invoice record. Closed invoices in AFAS are marked as paid in D365 using the original AFAS payment date and bank reference. We scope historical invoice depth with the customer, typically limiting to open items plus two to three years of closed history to manage migration volume.
AFAS
Item (Artikel)
Microsoft Dynamics 365 Business Central
Released Product / Item
1:1AFAS inventory Items with stock levels, warehouse locations, pricing tiers, and BOM structures map to D365 Released Products. AFAS warehouse references map to D365 inventory dimensions (site, warehouse, location, license plate in F&O; location in Business Central). Item pricing migrates to purchase and sales price tables with currency and unit-of-measure assignments. BOM structures from AFAS transfer as D365 BOM versions with route and operation references if the destination is F&O Manufacturing. We preserve the AFAS item status (active/inactive) and reorder thresholds.
AFAS
Project + Time Entries
Microsoft Dynamics 365 Business Central
Project + Project Lines or Project Category
1:1AFAS Project records and associated time entries use the project management module. Custom fields on AFAS projects require field-level mapping during migration, as every AFAS installation diverges from the standard schema here. We map AFAS project types (time and material vs. fixed price) to D365 Project Types, time entry billable flags to Project Line properties, and AFAS cost categories to D365 Project Categories. D365 F&O supports Projects with full WBS, resource management, and budget control; Business Central supports Jobs and Projects with simpler time tracking.
AFAS
Employee (Medewerker)
Microsoft Dynamics 365 Business Central
Worker (HCM Worker in F&O; Employee in Business Central)
1:1AFAS maintains employee records with contract details, department assignments, and employment status. We extract active and recent employees and map them to D365 Workers (Finance and Operations with Human Resources module) or Employees (Business Central). The AFAS personnel number becomes the D365 Personnel ID. AFAS custom fields on employee records (common in established AFAS installations) require pre-migration field inventory before mapping. Historical employees with terminated status migrate as inactive records.
AFAS
Payroll History (Payroll historie)
Microsoft Dynamics 365 Business Central
Payroll Transactions (F&O) or Payroll Journal Entries (Business Central via ISV)
1:1AFAS payroll history across employment periods includes earnings, deductions, employer contributions, and journal entries that feed into the financial modules. D365 Finance and Operations includes a native payroll module with Dutch payroll configurations; Business Central requires a third-party payroll ISV such as CleverBase or N漫come for Dutch payroll. We scope payroll extraction to the last three to five years of active employment history plus all year-end closing records, as AFAS can retain ten or more years of payroll data that exceeds migration volume targets. Effective-dated compensation records migrate as payroll journals in F&O or as historical entries via the configured ISV.
AFAS
Bank Account and Cash Account
Microsoft Dynamics 365 Business Central
Bank Account / Cash and Bank Management
1:1AFAS bank account configurations and current balances from the cash management module map to D365 Bank Accounts under Cash and Bank Management. Account numbers and SWIFT/BIC codes migrate as bank account identifiers. AFAS bank reconciliation data (statement lines and matched transactions) transfers as opening balances and reconciliation history in D365, though D365 requires manual rebooking of reconciliation records rather than an automated import.
AFAS
Custom Fields and User-Defined Tables
Microsoft Dynamics 365 Business Central
Extension Fields / Custom Fields
lossyAFAS administrators extend standard objects with custom fields and create entirely new tables, making every AFAS installation unique. We inventory every custom field on every standard object and every user-defined table during discovery before any extraction begins. Custom fields map to D365 extension fields with equivalent data types (text to text, number to decimal or integer, date to date). User-defined tables in AFAS map to new D365 tables via custom entities in the data management framework. The AFAS custom field inventory is the single most important pre-migration deliverable because skipping it results in silent data loss on any record that uses non-standard fields.
AFAS
Documents and Attachments
Microsoft Dynamics 365 Business Central
SharePoint / Dataverse Document Storage
1:1AFAS links documents to records across modules. We extract attachments associated with transactional records (invoices, projects, employees) and store them as files. In D365 F&O, documents attach to records via SharePoint or Azure Blob Storage; in Business Central, attachments store via the document attachment functionality. The AFAS internal document storage format may require conversion for some file types. We deliver the document set organized by AFAS module and record reference, and the customer's admin attaches them to the corresponding D365 records after migration.
AFAS
Workflow and Approval Chains
Microsoft Dynamics 365 Business Central
Power Automate / D365 Workflow Foundations
1:1AFAS workflows define approval chains, conditional routing, and automated actions across HR, finance, and operations. These are platform-configured business processes, not data records. We do not migrate workflows as data or code because AFAS workflow logic does not have a direct equivalent in D365's workflow architecture. We extract the full configuration of active AFAS workflows and deliver them as a documented process map identifying trigger events, approval steps, conditions, and actions. The customer's D365 implementation team rebuilds these in Power Automate (Finance and Operations) or D365 approval entries (Business Central).
| AFAS | Microsoft Dynamics 365 Business Central | Compatibility | |
|---|---|---|---|
| Chart of Accounts (Grootboek) | Main Account + Account Structurelossy | Fully supported | |
| Customer (Klant) | Customer + Address1:1 | Fully supported | |
| Supplier (Leverancier) | Vendor + Address1:1 | Fully supported | |
| Sales Invoice and Purchase Invoice | Free Text Invoice, Sales Order Invoice, or Purchase Order Invoice1:1 | Fully supported | |
| Item (Artikel) | Released Product / Item1:1 | Fully supported | |
| Project + Time Entries | Project + Project Lines or Project Category1:1 | Fully supported | |
| Employee (Medewerker) | Worker (HCM Worker in F&O; Employee in Business Central)1:1 | Fully supported | |
| Payroll History (Payroll historie) | Payroll Transactions (F&O) or Payroll Journal Entries (Business Central via ISV)1:1 | Fully supported | |
| Bank Account and Cash Account | Bank Account / Cash and Bank Management1:1 | Fully supported | |
| Custom Fields and User-Defined Tables | Extension Fields / Custom Fieldslossy | Mapping required | |
| Documents and Attachments | SharePoint / Dataverse Document Storage1:1 | Mapping required | |
| Workflow and Approval Chains | Power Automate / D365 Workflow Foundations1: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.
AFAS gotchas
Custom fields and user-defined tables vary per installation
API access requires AFAS partner enrollment
Workflow logic does not migrate as data
Dutch fiscal and tax data must be preserved accurately
Historical payroll data volumes can be large
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 destination D365 app selection
We audit the source AFAS installation across modules in use (finance, HR, payroll, logistics, projects), custom fields and user-defined tables, active workflows and approval chains, transaction volumes (open invoices, historical invoice count, employee count, item count, project count), and integration points with external systems. We pair this with a D365 app recommendation: Business Central Essentials ($80/user) if the scope is finance and operations without complex manufacturing or advanced supply chain; D365 Finance and Operations if the scope includes native Dutch payroll, advanced supply chain, or multi-legal-entity consolidation. The discovery output is a written migration scope, data volume estimate, and D365 app and licensing recommendation.
Schema design and Dutch tax configuration
We design the D365 schema in a Sandbox environment. This includes the Chart of Accounts with account types and financial dimension framework (F&O) or G/L account categories (Business Central), BTW and Loonheffing tax codes mapped to Dutch VAT reporting structures, Customer and Vendor groups with payment terms, item groups with inventory dimension groups, and project categories. We configure Sales Tax Groups and Item Tax Groups to produce correct BTW-aangifte output and validate the tax setup with the customer's accountant. If the destination is Business Central, we coordinate with the chosen Dutch payroll ISV for schema design on the HR and payroll side.
Legal entity and company structure design
For D365 Finance and Operations destinations, we work with the customer's finance and legal team to define the target legal entity structure before any AFAS data is touched. This includes mapping each AFAS company to one or more D365 legal entities, designing intercompany trading relationships if applicable, configuring fiscal establishments for VAT registration numbers, and planning the consolidation chart of accounts. For Business Central destinations, we confirm the single-company configuration and validate that all AFAS modules map to Business Central equivalents. The legal entity design is validated in the Sandbox before production migration planning begins.
AFAS API credential acquisition and custom field inventory
We obtain AFAS REST API credentials through the AFAS partner portal. If the customer does not have an existing AFAS partner relationship, we coordinate with the AFAS account manager to expedite partner enrollment, which can add one to three weeks to the project timeline. In parallel, we run the AFAS custom field inventory script against the specific customer environment to catalog every custom field on every standard object and every user-defined table. This inventory is the basis for the D365 extension field schema and the transformation rules applied during data extraction.
Data extraction, transformation, and sandbox migration
We extract AFAS data in dependency order: Chart of Accounts first, then Customer and Vendor master records, then open and historical invoices, then inventory items with warehouse assignments, then employees and payroll history, then project and time entry data. Each extraction run applies the custom field mapping rules derived from the field inventory, transforms AFAS BTW codes to D365 Sales Tax Groups, maps AFAS addresses to D365 address records with one primary per type, and applies the legal entity assignment. We run a full sandbox migration and the customer's finance and HR leads reconcile record counts and spot-check sample records against the AFAS source before production migration begins.
Production migration and cutover
We run the production migration into the validated D365 environment in dependency order. Each phase emits a row-count reconciliation report, a mapping log, and a record-level error report. We freeze AFAS write access during the cutover window, run a final delta migration of any records modified during the window, then validate total record counts match the AFAS source. We deliver the AFAS workflow and approval chain inventory as a documented process map to the customer's D365 implementation team. We support a one-week hypercare window where we resolve reconciliation discrepancies. We do not rebuild AFAS workflows as D365 Power Automate flows or Finance workflow foundations within the migration scope; that is a separate engagement.
Platform deep dives
AFAS
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Business Central
Destination
Strengths
Weaknesses
Complexity grading
Standard ERP migration. All 8 core objects map 1:1 between AFAS and Microsoft Dynamics 365 Business Central.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across AFAS and Microsoft Dynamics 365 Business Central.
Object compatibility
All 8 core objects map 1:1 between AFAS 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
AFAS: Not publicly documented in AFAS public materials.
Data volume sensitivity
AFAS 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 AFAS to Microsoft Dynamics 365 Business Central migration scoping. Not seeing yours? Book a call.
Walk through your AFAS 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 AFAS
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.