ERP migration

Migrate from Flectra to Microsoft Dynamics 365 Business Central

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

Flectra logo

Flectra

Source

Microsoft Dynamics 365 Business Central

Destination

Microsoft Dynamics 365 Business Central logo

Compatibility

80%

12 of 15

objects map 1:1 between Flectra and Microsoft Dynamics 365 Business Central.

Complexity

BStandard

Timeline

6-9 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Flectra to Microsoft Dynamics 365 is a platform-class migration that spans ERP, CRM, and project management objects across a protocol boundary. Flectra exposes data through its XML-RPC External API, which requires a non-standard serialization adapter we build into every migration pipeline. Dynamics 365 stores data in Microsoft Dataverse with REST-based APIs authenticated via OAuth 2.0 through Azure Active Directory. We handle the protocol translation layer, resolve Flectra's two-level product model (product.template as the master, product.product as variants) into D365 product hierarchies, and preserve multi-currency rates and fiscal positions that map to D365 fiscal configurations. Workflows, automations, and custom x_custom_model extensions do not migrate as code; we deliver a written inventory of every Flectra automation for your Dynamics 365 admin to rebuild in Power Automate or Dataverse workflows post-migration.

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

Flectra logo

Flectra

What's pushing teams away

  • Community edition provides no security patches, version upgrades, or functional support, leaving self-hosted instances exposed to unpatched vulnerabilities over time.
  • The XML-RPC API lacks the documentation depth and tooling ecosystem of REST-based ERPs, making integrations and migrations harder to automate.
  • Small vendor ecosystem compared to established ERPs means limited third-party consultants, integrators, and certified implementation partners are available.
  • Performance degrades on large transaction volumes (100k+ records) without the infrastructure optimization that commercial ERPs provide out of the box.
  • Version upgrade process for on-premise installations is manual and error-prone, often requiring developer involvement to resolve module incompatibilities.

Choosing

Microsoft Dynamics 365 Business Central logo

Microsoft Dynamics 365 Business Central

What's pulling them in

  • Deep integration with Microsoft 365, Power BI, and Power Platform means organizations already on the Microsoft stack get identity, reporting, and workflow continuity out of the box.
  • Unified financials, sales, service, and operations replace multiple disconnected systems — users report that data entered once flows through purchase orders, invoicing, and approvals without manual re-entry.
  • Copilot AI features (predictive analytics, embedded business intelligence) are included in both Essentials and Premium tiers, addressing demand for AI without separate module purchases.
  • Named-user licensing with no concurrent model appeals to organizations that want predictable per-seat costs even if some users access the system infrequently.
  • Strong partner ecosystem with certified NAV-to-Business Central migration specialists gives mid-market companies confidence the cutover from legacy Navision can be executed reliably.

Object mapping

How Flectra objects map to Microsoft Dynamics 365 Business Central

Each row shows how a Flectra 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.

Flectra

res.partner (is_company=False)

maps to

Microsoft Dynamics 365 Business Central

Contact

1:1
Fully supported

Flectra Contacts (res.partner with is_company=False) map directly to Dataverse Contact. The Flectra name field maps to fullname; email, phone, street, city, state, zip, country map to corresponding Contact fields. We resolve parent_id (the link to the Flectra company record) to the D365 Account ContactId during import. Address data in Flectra's partner fields maps to postaladdress and composes into the Contact address composite field in D365.

Flectra

res.partner (is_company=True)

maps to

Microsoft Dynamics 365 Business Central

Account

1:1
Fully supported

Flectra Companies (res.partner with is_company=True) map to Dataverse Account. Fields including website, vat, industry_id, and comment transfer as Account Website, VAT, Industry, and Description. Flectra's child_ids relation (individual contacts belonging to the company) resolves to D365 Account's primarycontactid and the related contacts table. Company records are loaded before Contact records to satisfy the AccountId lookup requirement.

Flectra

sale.order

maps to

Microsoft Dynamics 365 Business Central

SalesOrderHeader or Opportunity

1:1
Fully supported

Flectra sale.order maps to D365 SalesOrderHeader (Business Central) or Opportunity (Sales module) depending on which D365 app is licensed. Order state, date_order (order date), and origin document reference transfer directly. Flectra's partner_shipping_id and partner_invoice_id map to D365 ship-to and bill-to address lookups. We preserve the confirmed date and any origin document reference for audit trail.

Flectra

sale.order.line

maps to

Microsoft Dynamics 365 Business Central

SalesOrderLine

1:1
Fully supported

Flectra sale.order.line maps to D365 SalesOrderLine. Product ID resolves via SKU match to D365 Item Number; product_uom_qty maps to Quantity; price_unit maps to UnitPrice. Flectra's tax_id on the line maps to D365 tax group assignment. Line-level discount and description fields transfer to the corresponding D365 line discount and line description fields.

Flectra

account.move (move_type=out_invoice)

maps to

Microsoft Dynamics 365 Business Central

SalesInvoice or CustInvoiceJournal

1:1
Fully supported

Flectra customer invoices (account.move with move_type=out_invoice) map to D365 SalesInvoice in Business Central or CustInvoiceJournal in Finance. Flectra's payment_state (posted vs pending) maps to D365 status with the document status preserved as a custom field for reconciliation. Invoice lines (account.move.line) map to D365 InvoiceLines with account_id mapping to the appropriate G/L account in D365.

Flectra

product.template

maps to

Microsoft Dynamics 365 Business Central

Product Master (product.product or item master)

1:many
Fully supported

Flectra's product.template holds the product master (name, list_price, categ_id, type). This maps to the D365 item master or product record. The template-to-variant relationship (product.product records linked via product_tmpl_id) maps to D365's product variants using the Dimension framework (size, color, etc.) or by creating separate product records for each variant. We preserve attribute values from product.attribute.line during the split so that variant descriptions are accurate in D365.

Flectra

product.product (variants)

maps to

Microsoft Dynamics 365 Business Central

Product Variant

1:1
Fully supported

Flectra product.product records map to D365 product variants under the parent product.template master. We match on the combination of product attributes (attribute_id + value_id) to map to D365 Dimension values. Standard cost, lst_price, and seller_ids (vendor pricelists) transfer as variant-level pricing and vendor data. If D365 uses a flat product model, variants become separate product records with a custom parent_product__c lookup field.

Flectra

purchase.order

maps to

Microsoft Dynamics 365 Business Central

PurchaseOrder

1:1
Fully supported

Flectra purchase.order maps to D365 PurchaseOrder. Vendor (partner_id) resolves to the D365 Vendor Account. Order state (draft, sent, purchase, done, cancel) maps to D365 Status. Flectra's picking_ids (receipts linked to PO) map to D365 Receipts, though picking state may need to be reconstructed from Flectra's stock.picking records if PO and warehouse modules are active.

Flectra

purchase.order.line

maps to

Microsoft Dynamics 365 Business Central

PurchaseOrderLine

1:1
Fully supported

Flectra purchase.order.line maps to D365 PurchaseOrderLine. Product ID resolves to D365 Item Number via SKU match; product_qty and price_unit transfer directly. Flectra's date_planned maps to the D365 ExpectedReceiptDate. Taxes and discounts on the line map to D365 tax and discount fields on the purchase line.

Flectra

project.project

maps to

Microsoft Dynamics 365 Business Central

msdyn_project or Project (Business Central/Project Service)

1:1
Fully supported

Flectra project.project maps to D365 Project (Project Service Automation module or Business Central Projects). Project name, date, user_id (manager), and partner_id (customer) transfer as Project Name, StartDate, Project Manager, and Customer Account. Flectra's analytic_account_id maps to D365's analytical accounting structure if Finance is in scope.

Flectra

project.task

maps to

Microsoft Dynamics 365 Business Central

msdyn_projecttask or Task

1:1
Fully supported

Flectra project.task maps to D365 ProjectTask under the parent Project. Stage_id maps to D365 Task Stage; user_id (assignee) resolves via email to D365 Resource; planned_hours and effective_hours transfer as Planned Hours and Actual Hours. Sub-tasks (child_ids) nest via the Parent Task lookup field in D365 Project Service. If the Project Service Automation module is not licensed, tasks migrate to Dataverse Task with a custom project__c lookup.

Flectra

hr.employee

maps to

Microsoft Dynamics 365 Business Central

BookableResource (HR or Project Service)

1:1
Fully supported

Flectra hr.employee maps to D365 BookableResource (when Project Service Automation is in scope) or a custom Employee table in Dataverse. Fields including department_id, job_id, work_email, and mobile_phone transfer. Bank account details, emergency contact, and payroll data (if present in Flectra) migrate as custom fields or remain in Flectra HR if the HR module is not in scope for the D365 migration. Salary history typically resides in a separate payroll module not migrated.

Flectra

ir.attachment

maps to

Microsoft Dynamics 365 Business Central

Annotation (SharePoint or Dataverse)

1:1
Fully supported

Flectra ir.attachment records with res_model and res_id linking to business objects migrate as D365 Annotations. Files export as base64-encoded binary and load as D365 Note documentbody with the original filename and mimetype preserved. The res_model and res_id resolve to the target D365 table and record ID during import so that the annotation attaches to the correct object. Large attachments (>120MB) may require SharePoint document management configuration in D365.

Flectra

Custom Fields (x_name on any model)

maps to

Microsoft Dynamics 365 Business Central

Custom Column (custom_<name>__c)

lossy
Fully supported

Flectra custom fields (ir.model.fields with state='manual', x_name prefix) are enumerated during discovery via ir.model.fields reads through the XML-RPC API. We pre-create equivalent custom columns in the destination D365 Dataverse table using the column name with a __c suffix per Dataverse naming convention. Field type mapping: Char -> Text, Integer -> Whole Number, Float -> Decimal Number, Boolean -> Two Options, Date -> Date, Datetime -> Date and Time, Many2one -> Lookup, Many2many -> Multi-Select Option Set or related table. The mapping is validated in a Sandbox before production load.

Flectra

Fiscal Position (account.fiscal.position)

maps to

Microsoft Dynamics 365 Business Central

Tax Configuration / Fiscal Year Setup

lossy
Fully supported

Flectra fiscal positions (account.fiscal.position) with their account_mapping rules (source account to destination account) are mapped to D365 Tax configurations or G/L Account mappings depending on the D365 module in scope. Multi-currency exchange rates from res.currency.rate transfer to D365 Currency Exchange Rates. The fiscal year configuration (account.fiscal.year) maps to the D365 Fiscal Calendar setup. These are loaded as configuration data before transactional records to ensure tax and account references resolve correctly.

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.

Flectra logo

Flectra gotchas

High

XML-RPC API format requires non-standard serialization

High

No official migration utility or dedicated export tooling

Medium

Community edition lacks functional support and hosting

Medium

Large imports can trigger timeouts without batching

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

Pair-specific challenges

  • XML-RPC to Dataverse REST requires a custom adapter layer

    Flectra exposes its External API exclusively via XML-RPC using method calls like execute_kw(db, uid, password, model, method, args). This serialization format is not natively supported by most modern integration frameworks. We implement an XML-RPC client adapter within FlitStack AI's migration engine that wraps every Flectra read and write operation. This adapter translates XML-RPC responses into Python dictionaries that feed the transformation pipeline, and converts outbound data into the XML-RPC format Flectra's API expects for any write-back operations. Without this adapter layer, no migration pipeline can communicate with Flectra at all.

  • D365 workflows and automations do not migrate from Flectra

    Flectra Server Actions and ORM-based Workflows are defined in Python on the Odoo ORM layer. They have no structural equivalent in Microsoft Dynamics 365, which uses Power Automate cloud flows, Dataverse classic workflows, or business rules for automation. We do not migrate automations as code. We deliver a written inventory of every active Flectra Server Action and Workflow: its trigger object, conditions, and sequence of ORM calls. The customer's D365 admin or a Microsoft partner rebuilds each one in Power Automate or Dataverse workflows post-migration. Custom x_custom_model extensions also require field-level mapping before any data load.

  • Flectra's two-level product model requires schema decomposition

    Flectra uses a two-level product schema: product.template as the product master and product.product as variants linked by product_tmpl_id. Dynamics 365 (Business Central and Sales) uses a flat product model with variants managed through dimensions or variant codes. We decompose the Flectra template-to-variant relationship during the extract phase, then recompose it in D365 using the appropriate variant management approach for the destination module. If the destination D365 instance uses only the flat model, each variant becomes a separate product record with a custom parent_product__c lookup field.

  • Large Flectra imports risk timeout without chunked batching

    Flectra's XML-RPC endpoint processes create() and write() calls one record at a time with no documented bulk import endpoint. Importing 10,000+ records via individual XML-RPC calls is slow and risks HTTP timeout errors on large data sets. We chunk large record sets into batches of 100-200 records per XML-RPC call, implement retry logic with exponential backoff on transient server errors, and throttle requests to avoid overwhelming the Flectra instance during a live export. This is especially important when the Flectra instance is also in active use by the business during the migration window.

  • Data quality issues from open-source ERP require pre-migration cleansing

    Flectra instances commonly exhibit data quality patterns that must be addressed before migration to avoid polluting the D365 environment. Common issues include duplicate res.partner records (same company or contact created multiple times), missing required D365 fields (blank email on Contact, blank account number on Vendor), inconsistent product categorization (empty categ_id), and stale historical records that should be archived rather than migrated. We include a data quality report in the discovery phase with specific remediation steps for each issue, and we apply deduplication logic during the transformation step before loading into D365.

Migration approach

Six steps for a successful Flectra to Microsoft Dynamics 365 Business Central data migration

  1. Discovery and Flectra environment assessment

    We audit the source Flectra instance via XML-RPC across edition (Community vs Professional), active modules, record counts per object, custom fields on each model, active Server Actions and Workflows, and the current XML-RPC endpoint configuration (host, port, database, user credentials). We identify the target D365 environment (which D365 apps are licensed: Business Central, Finance, Sales, Project Service) and confirm the destination Dataverse API endpoint and authentication method. The discovery output is a written migration scope with a Flectra field-to-Dataverse column map for every object in scope.

  2. XML-RPC adapter deployment and schema introspection

    We deploy FlitStack AI's XML-RPC adapter within the migration pipeline and validate connectivity to the Flectra External API using the customer's provided credentials. We run an introspection pass via ir.model.fields to enumerate all standard and custom fields on each Flectra model, compare them against the D365 destination schema, and generate the field map. Any Flectra-specific fields with no D365 equivalent are flagged for custom column creation before data migration begins. The adapter is tested with a small sample set (50 records per object) before the full migration runs.

  3. D365 destination schema configuration

    We configure the destination D365 Dataverse environment with all required custom columns, lookup relationships, and option set values identified during discovery. This includes creating custom __c columns for each Flectra x_name custom field, setting up D365 product variants if the product template-to-variant decomposition is in scope, configuring currency exchange rates from Flectra's res.currency.rate data, and setting up the fiscal calendar if Flectra's fiscal year configuration is active. Schema changes deploy into a D365 Sandbox first for validation before any data loads into the production environment.

  4. Sandbox migration and reconciliation

    We run a full migration into the D365 Sandbox using production-like data volumes. The customer's team reconciles record counts against the Flectra source (Contacts in, Accounts in, Sales Orders in, Invoices in, Products in, Purchase Orders in, Project Tasks in), spot-checks 30-50 records per object for field-level accuracy, and validates that custom field data populated correctly in D365. Any mapping corrections, missing field translations, or validation rule conflicts are resolved in this phase. No production migration begins until the Sandbox sign-off is received from the customer's D365 administrator.

  5. Production migration in dependency order

    We run production migration in strict dependency order: Configuration data first (Currencies, Fiscal Calendars, Tax Codes, Product Categories), then master records (Accounts from Flectra Companies, Contacts from Flectra Contacts, Vendors, Employees), then transactional records (Sales Orders, Purchase Orders, Invoices), then project data (Projects, Tasks), then attachments (Annotations from ir.attachment), and finally Custom Objects last because they often have lookups to standard records already migrated. Each phase emits a row-count reconciliation report before the next phase begins. XML-RPC chunking (100-200 records per batch) and retry logic protect against timeout errors during large-phase loads.

  6. Cutover, delta sync, and automation rebuild handoff

    We freeze Flectra write access during the cutover window, run a final delta migration to capture any records modified during the migration window, then mark D365 as the system of record. We deliver the Flectra Workflow and Server Action inventory document to the customer's D365 admin team with recommended Power Automate equivalents for each automation. We support a one-week post-go-live window to resolve any data reconciliation issues. We do not rebuild Flectra automations as Power Automate flows within the migration scope; that is a separate engagement for the customer's D365 admin or a Microsoft partner.

Platform deep dives

Context on both ends of the pair

Flectra logo

Flectra

Source

Strengths

  • Community edition is free with no per-user licensing cost, removing financial barrier to adoption.
  • On-premise hosting option provides full data sovereignty for regulated-industry customers.
  • Modular architecture means customers deploy only the modules they need, reducing system complexity.
  • XML-RPC External API allows programmatic data access across all business objects via standard ORM methods.
  • Open-source codebase can be audited and extended by the customer's own developers without vendor dependency.

Weaknesses

  • Community edition receives no security patches or version upgrades from the vendor, creating long-term maintenance risk.
  • XML-RPC API is less widely documented and supported by third-party integration tools compared to REST alternatives.
  • Smaller community and partner ecosystem than Odoo means fewer pre-built modules and fewer implementation consultants.
  • Performance on large datasets (100k+ records) is not optimised without significant infrastructure tuning.
  • Version upgrade path for on-premise installations requires manual testing of all custom modules for compatibility.
Microsoft Dynamics 365 Business Central logo

Microsoft Dynamics 365 Business Central

Destination

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.

Complexity grading

How hard is this migration?

Standard ERP migration. All 8 core objects map 1:1 between Flectra and Microsoft Dynamics 365 Business Central.

B

Overall complexity

Standard migration

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

  • Object compatibility

    A

    All 8 core objects map 1:1 between Flectra and Microsoft Dynamics 365 Business Central.

  • 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

    Flectra: Not publicly documented.

  • Data volume sensitivity

    B

    Flectra doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Flectra to Microsoft Dynamics 365 Business Central 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 Flectra to Microsoft Dynamics 365 Business Central data migrations

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

Can't find your answer?

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

Book a free 30 minute consultation

Straightforward migrations with under 20,000 contacts, 5,000 sales orders, and a clean product catalog complete in six to nine weeks. Migrations with large product hierarchies requiring template-to-variant decomposition, multi-currency and fiscal position configurations, project/task structures exceeding 50,000 records, or multiple active Flectra modules move to fourteen to twenty weeks because of schema design, Sandbox validation cycles, and the chunked XML-RPC export process. D365 licensing decisions (Business Central vs Finance vs Sales) are made during discovery and can affect the destination schema scope.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Flectra.
Land in Microsoft Dynamics 365 Business Central, 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