ERP migration

Migrate from PILOT:Suite to Dolibarr ERP

Field-level mapping, validation, and rollback between PILOT:Suite and Dolibarr ERP. We move data and schema; workflows are rebuilt natively in Dolibarr ERP.

PILOT:Suite logo

PILOT:Suite

Source

Dolibarr ERP

Destination

Dolibarr ERP logo

Compatibility

77%

10 of 13

objects map 1:1 between PILOT:Suite and Dolibarr ERP.

Complexity

CModerate

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from PILOT:Suite to Dolibarr is a platform-type migration: PILOT:Suite organizes manufacturing-centric data around Items, Warehouses, Vendors, Customers, Purchase Orders, Sales Orders, and GL Accounts; Dolibarr uses a modular PHP-based schema where Third Parties (with type flags) cover both customers and suppliers, Products cover items with optional stock tracking, and a separate accounting module covers GL entries. We extract Chart of Accounts balances and open AP/AR during discovery, resolve item-warehouse assignments during import, and recreate PILOT:Suite custom module fields as Dolibarr extra attributes using Dolibarr's built-in extrafields system or the CustomFields module. We do not migrate internal workflow rules, custom business logic, or PILOT:Suite-specific module configurations; we deliver a written inventory of these for the customer's admin to rebuild in Dolibarr's action/condition system. Migration sequencing preserves transactional continuity where source entities reference active destination entities, and we flag orphaned records referencing inactive or missing parents.

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

PILOT:Suite logo

PILOT:Suite

What's pushing teams away

  • No public reviews on Capterra (0 reviews recorded) make peer validation effectively impossible during evaluation.
  • Pricing is fully sales-led with no published tiers, making early-stage budget conversations difficult.
  • Mid-market and enterprise MES competitors (Rockwell PlantPAx, Siemens Opcenter, Aveva) have larger partner ecosystems and broader IIoT integration libraries.
  • Felten Group is a German-rooted vendor — partner coverage and support depth outside DACH and Europe may be thinner than buyers expect.
  • Custom integrations to ERP and CMMS systems require Felten Group services rather than a self-serve API marketplace.

Choosing

Dolibarr ERP logo

Dolibarr ERP

What's pulling them in

  • Free open-source core with no per-user license fee makes it the lowest-cost entry point for small teams needing ERP and CRM in one package.
  • Self-hosted deployment gives full data ownership and eliminates vendor lock-in, especially attractive to businesses with compliance requirements.
  • Modular architecture means teams enable only the features they use, keeping the interface uncluttered and reducing learning curve.
  • Fast installation with no technical knowledge required — one reviewer set up multiple businesses in minutes using their own hosting.
  • Active community forum and marketplace of third-party add-ons provide support and extension options without mandatory subscription costs.

Object mapping

How PILOT:Suite objects map to Dolibarr ERP

Each row shows how a PILOT:Suite object lands in Dolibarr ERP, including any object-level transformations, lookup resolution, or schema-design dependencies.

Typical mapping — final map is confirmed during the sample migration step.

PILOT:Suite

Item

maps to

Dolibarr ERP

Product (or Service)

1:1
Fully supported

PILOT:Suite Items map to Dolibarr Products with type=Product for physical goods and type=Service for non-inventory items. PILOT:Suite item properties (SKU, description, unit of measure, cost price, sell price) map to Dolibarr fields ref, label, units, cost_price, and price. If PILOT:Suite uses item variants, each variant becomes a separate Dolibarr Product; multi-variant handling requires scoping during discovery.

PILOT:Suite

Warehouse

maps to

Dolibarr ERP

Warehouse

1:1
Fully supported

PILOT:Suite Warehouses map directly to Dolibarr Warehouses (stock_warehouse table). The stock module must be enabled in Dolibarr before migration. Warehouse address, manager, and status fields migrate as Warehouse properties. We resolve warehouse references on Item-warehouse assignment records during import so that stock quantities land in the correct warehouse.

PILOT:Suite

Item-Warehouse Assignment

maps to

Dolibarr ERP

Product-Stock

lossy
Fully supported

PILOT:Suite item-warehouse assignments (stock quantities per item per warehouse) map to Dolibarr stock_product records linked to the product and warehouse. Each stock record is created after both the Product and Warehouse records exist in Dolibarr. We use Dolibarr's stock movement API to set initial stock levels rather than direct SQL writes to preserve trigger integrity.

PILOT:Suite

Customer

maps to

Dolibarr ERP

Third Party (type=Customer)

1:1
Fully supported

PILOT:Suite Customers map to Dolibarr Third Parties with the Customer checkbox enabled. PILOT:Suite customer fields (name, address, phone, email, tax ID, payment terms) map to the corresponding Dolibarr fields. The customer code in PILOT:Suite becomes the code (ref) field in Dolibarr and is used as the dedupe key during import. We create the Third Party record before any linked Sales Orders or Invoices to satisfy the socid foreign key.

PILOT:Suite

Vendor

maps to

Dolibarr ERP

Third Party (type=Supplier)

1:1
Fully supported

PILOT:Suite Vendors map to Dolibarr Third Parties with the Supplier checkbox enabled. Vendor fields (name, address, phone, email, tax ID, payment terms) migrate identically to Customer mapping. The dedupe key is the vendor code. Third Parties that are both customers and suppliers get both type flags set in Dolibarr.

PILOT:Suite

Purchase Order

maps to

Dolibarr ERP

Supplier Order

1:1
Fully supported

PILOT:Suite Purchase Orders map to Dolibarr Supplier Orders (commande_fournisseur). Status mapping: PILOT:Suite Draft/Submitted/Confirmed/Closed maps to Dolibarr Draft/Validated/Approved/Closed. Line items map to order lines with Product reference, quantity, unit price, and VAT rate resolved. The Supplier link (socid) must resolve before order import; we create any missing supplier Third Parties in a pre-phase if the vendor is referenced but not yet in Dolibarr.

PILOT:Suite

Sales Order

maps to

Dolibarr ERP

Customer Order

1:1
Fully supported

PILOT:Suite Sales Orders map to Dolibarr Customer Orders (commande). Status mapping parallels Purchase Orders. Line items migrate with Product reference, quantity, unit price, and VAT rate. The Customer link (socid) is resolved from the Third Party mapping. If PILOT:Suite open orders reference inactive customers, we flag them in the reconciliation report for the customer to reactivate or close before import.

PILOT:Suite

Open AP (Accounts Payable)

maps to

Dolibarr ERP

Supplier Invoice / Supplier Credit Note

1:1
Fully supported

PILOT:Suite open AP items (unpaid vendor invoices, credit memos) map to Dolibarr Supplier Invoices (facture_fournisseur) and Supplier Credit Notes. Invoice status (unpaid/partial/paid) maps to Dolibarr payed field. We extract the vendor reference, invoice date, due date, amount, and VAT breakdown, and create the invoice before any linked payments. Payment records (bank transfers, checks) map to Dolibarr Payment objects linked to the invoice.

PILOT:Suite

Open AR (Accounts Receivable)

maps to

Dolibarr ERP

Customer Invoice / Customer Credit Note

1:1
Fully supported

PILOT:Suite open AR items (unpaid customer invoices, credit memos) map to Dolibarr Customer Invoices (facture) and Customer Credit Notes. Invoice status maps to Dolibarr payed field. We extract the customer reference, invoice date, due date, amount, and VAT breakdown, and create the invoice before any linked payments. If PILOT:Suite tracks invoice PDF attachments, these migrate as ContentDocument records linked to the invoice.

PILOT:Suite

GL Account

maps to

Dolibarr ERP

Bank Account / Accounting Account

lossy
Fully supported

PILOT:Suite GL Accounts map to Dolibarr Accounting module accounts (accounting_account table). If the customer migrates with Chart of Accounts balances, each PILOT:Suite GL Account becomes a Dolibarr Accounting Account with the account number, label, and type (asset, liability, equity, revenue, expense) preserved. The accounting module must be enabled and configured in Dolibarr before GL migration. Historical balance carryforward requires a opening balance entry (mouvement d'ouverture) in the accounting module.

PILOT:Suite

PILOT:Suite Custom Module Field

maps to

Dolibarr ERP

Extrafield

lossy
Fully supported

PILOT:Suite custom fields configured in the system's module structure map to Dolibarr Extrafields on the corresponding object. We identify each PILOT:Suite custom field during discovery (field name, data type, module association), create the equivalent Dolibarr Extrafield on the target object before migration, and populate it during record import. Complex PILOT:Suite module-specific data that does not map to a standard Dolibarr object is documented as a custom mapping task; the customer may need the CustomFields Pro module for structured field management.

PILOT:Suite

User / Owner

maps to

Dolibarr ERP

User

1:1
Fully supported

PILOT:Suite Users and record Owners map to Dolibarr Users. We match by email address. Any PILOT:Suite User without a matching Dolibarr User goes to the reconciliation queue for the customer's admin to provision before record import resumes. User permissions and role mappings from PILOT:Suite do not transfer; we deliver a permissions inventory for the admin to configure in Dolibarr's user management.

PILOT:Suite

Transaction History (historical documents)

maps to

Dolibarr ERP

Archived Invoices / Orders

1:1
Fully supported

PILOT:Suite closed Purchase Orders, Sales Orders, Invoices, and Credit Memos that predate the migration window can be migrated as archived documents in Dolibarr if the customer requires full history. These migrate as read-only records (condensed to key fields) linked to the corresponding Third Parties. We scope the historical depth during discovery; migrations without historical document requirements skip this phase to reduce scope.

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.

PILOT:Suite logo

PILOT:Suite gotchas

High

Vendor-implemented system with no public developer portal

Medium

Process-industry data model differs from discrete-manufacturing MES

Medium

No published reviews complicate gotcha discovery

Low

Mobile apps and web UI run against the same relational database

Dolibarr ERP logo

Dolibarr ERP gotchas

High

Foreign key constraint errors on cross-distribution database restore

High

SQL injection vulnerabilities in version 9.0.1

Medium

Custom fields stored as JSON in extraoptions require field-by-field deserialization

Medium

Decimal precision and rounding configuration affects price fields

Low

No native iOS/Android app forces reliance on browser

Pair-specific challenges

  • Custom fields from PILOT:Suite require manual recreation in Dolibarr

    PILOT:Suite custom fields configured in the module structure do not export as a standard API payload that Dolibarr can consume directly. We identify each custom field during discovery, map it to a Dolibarr Extrafield on the equivalent object, and create the Extrafield before migration. Complex multi-select, date-range, or cross-module PILOT:Suite fields may require the CustomFields Pro module (paid, from Dolibarr MarketPlace) for equivalent structured management. We include a custom field inventory in the discovery deliverable so the customer can confirm the target Extrafield configuration before migration.

  • Dolibarr accounting module must be explicitly enabled and configured

    PILOT:Suite integrates GL Accounts, AP, and AR as core entities. Dolibarr treats the accounting module as an optional module that is not enabled by default and requires a separate chart of accounts setup. If the migration includes GL account balances or open AP/AR, we activate Dolibarr's accounting module, configure the chart of accounts structure, and create opening balance entries before invoice migration. Skipping this step results in invoices and payments that have no accounting impact, breaking financial reporting in Dolibarr.

  • Item-warehouse stock levels require the stock module and correct sequencing

    PILOT:Suite items with warehouse-specific stock quantities require Dolibarr's stock module to be enabled and the Warehouse records to exist before stock imports. We sequence stock migration after Product and Warehouse creation, using Dolibarr's stock movement API (not direct SQL) to set initial quantities. If the stock module is not enabled, PILOT:Suite stock data is skipped and flagged in the discovery report for the customer to enable the module before migration.

  • Third Party deduplication requires a stable code scheme

    Dolibarr uses a code (ref) field as the primary identifier on Third Parties and requires it to be unique. PILOT:Suite customer and vendor codes must map to Dolibarr ref values, but Dolibarr also allows alphanumeric codes while PILOT:Suite may use numeric-only schemes. We establish the dedupe key during scoping by matching PILOT:Suite entity codes to Dolibarr ref values, and we flag any duplicates before import. If PILOT:Suite uses the same code for a customer and a vendor (dual-type entity), we append a suffix during migration to ensure uniqueness in Dolibarr.

  • Dolibarr version upgrades can require database migration scripts

    Dolibarr releases major version upgrades (e.g., 19 to 20) that sometimes include database schema changes with constraint additions (DB_ERROR_1452 on ALTER TABLE) that can fail if custom data violates new integrity rules. We verify the target Dolibarr version and run any required upgrade scripts (php upgrade.php from oldx.oldy.oldz) before migration begins. If the customer's target Dolibarr instance is significantly outdated, we include version upgrade in the project scope as a prerequisite.

Migration approach

Six steps for a successful PILOT:Suite to Dolibarr ERP data migration

  1. Discovery and PILOT:Suite data audit

    We audit the source PILOT:Suite instance to extract entity counts (Items, Warehouses, Vendors, Customers, Purchase Orders, Sales Orders, GL Accounts), identify custom module fields and their data types, assess open AP/AR volume and aging, review historical transactional depth requirements, and identify any inactive entities that will create orphaned references. We also confirm the target Dolibarr version, module activation state, and hosting environment. The discovery output is a written migration scope, a custom field inventory, and a dependency graph for sequencing.

  2. Dolibarr schema preparation and module activation

    We enable the required Dolibarr modules (Third Party, Product, Stock, Supplier Order, Customer Order, Supplier Invoice, Customer Invoice, Accounting) based on the discovered data. We create the corresponding Extrafields for each PILOT:Suite custom field, configure the chart of accounts structure for GL migration, and set up Warehouse records matching the PILOT:Suite warehouse list. Third Party type flags (Customer, Supplier, or both) are configured as a group decision during scoping. Schema preparation happens in the target Dolibarr instance with admin credentials.

  3. Sandbox migration and reconciliation

    We run a full migration into a test environment (or a fresh Dolibarr install) using production-equivalent data volume. The customer's operations lead reconciles record counts (Items in, Products created, Warehouses created, Vendors in, Customers in, Orders in, Invoices in), spot-checks 25-50 records against the PILOT:Suite source, and verifies that stock levels, account balances, and open invoice amounts match. Mapping corrections are documented and applied to the production migration plan. No production writes happen until this phase is signed off.

  4. Third Party and User provisioning

    We create all Dolibarr Third Parties (Customers and Suppliers) in dependency order, using PILOT:Suite entity codes as the ref field with uniqueness checks applied. We create or map Dolibarr Users against PILOT:Suite record Owners by email match. Owners without a matching Dolibarr User go to a reconciliation queue for the customer's admin to provision before record import resumes. Third Parties must be complete before any linked Orders or Invoices can be imported.

  5. Product, Warehouse, and Stock migration

    We import PILOT:Suite Items as Dolibarr Products (type=Product or Service) and Warehouses as Dolibarr Warehouse records. Once both are present, we import item-warehouse stock quantities as stock movements using Dolibarr's stock movement API, setting initial stock levels per product per warehouse. If PILOT:Suite uses variants or BOM, we scope these during discovery and create each variant as a separate Product or flag BOM for the Manufacturing module (experimental) rebuild.

  6. Order and Invoice migration with AP/AR resolution

    We import Purchase Orders and Sales Orders after Third Parties are resolved, mapping status values to Dolibarr equivalents and preserving line items with product references, quantities, unit prices, and VAT rates. Open AP (Supplier Invoices) and Open AR (Customer Invoices) migrate with payment status preserved; we create invoice records before any linked payment records. If PILOT:Suite tracks invoice PDFs, we attach them as ContentDocument records linked to the invoice.

  7. GL migration and accounting balance carryforward

    If the migration scope includes Chart of Accounts balances or historical GL entries, we activate the Dolibarr accounting module, create the account structure matching PILOT:Suite GL Accounts, and post opening balance entries (mouvement d'ouverture) to carry forward account balances at the migration date. Historical GL transactions beyond the opening balance are migrated as archived entries at the customer's request and scoped during discovery. We validate that debit and credit totals balance in Dolibarr before closing the accounting migration phase.

  8. Cutover, delta migration, and handoff

    We freeze PILOT:Suite writes during the cutover window, run a final delta migration of any records created or modified during the migration process, validate total record counts against the discovery baseline, and enable Dolibarr as the system of record. We deliver the custom field inventory, permissions mapping, and any custom module data that could not be automatically mapped as a written handoff document for the customer's admin. We do not rebuild PILOT:Suite internal workflow rules, custom business logic, or module-specific configurations in Dolibarr as part of the migration scope; these require a separate configuration engagement.

Platform deep dives

Context on both ends of the pair

PILOT:Suite logo

PILOT:Suite

Source

Strengths

  • Process-industry depth since 1990 (quality, energy, supply chain integrated with production).
  • Web-based plus native iOS, Android, and iPad apps from one codebase.
  • Hierarchical multi-site model with rights/roles and multilingual support.
  • Cloud and on-premise deployment options off the same data model.
  • Relational database backend simplifies BI and reporting integration.

Weaknesses

  • No public Capterra/G2 reviews mean peer validation is difficult.
  • Pricing is fully sales-led with no published tiers.
  • No public developer portal or OpenAPI spec.
  • Partner ecosystem skews European; coverage thinner outside DACH.
  • Custom integrations require Felten Group services rather than self-serve.
Dolibarr ERP logo

Dolibarr ERP

Destination

Strengths

  • Free core software with AGPL license and no per-user mandatory fee for self-hosted deployments.
  • Modular architecture lets teams activate only needed features, keeping the interface focused and the database lean.
  • Self-hosted option provides full data sovereignty and avoids recurring SaaS subscription costs.
  • Built-in CSV/Excel import and export wizard with saved profiles simplifies recurring data operations.
  • Low-code Module Builder allows functional extensions without writing PHP code.

Weaknesses

  • No native documented REST API for programmatic bulk operations — all migrations depend on the import/export wizard or direct database access.
  • Reporting and analytics are weak without paid add-ons, and built-in charts are limited compared to modern SaaS platforms.
  • UI design is described as dated by multiple reviewers, with infrequent visual updates to the default theme.
  • Community-only support for self-hosted deployments means no SLA or guaranteed response time for issues.
  • Security vulnerabilities (CVE-2024-5314, CVE-2024-5315) in version 9.0.1 with no immediate patch reported.

Complexity grading

How hard is this migration?

Moderate ERP migration. 2 of 8 objects need a manual workaround.

C

Overall complexity

Moderate migration

Derived from compatibility, mapping clarity, API constraints, and data volume across PILOT:Suite and Dolibarr ERP.

  • Object compatibility

    C

    2 of 8 objects need a manual workaround.

  • 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

    PILOT:Suite: Not publicly documented..

  • Data volume sensitivity

    B

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

Estimator

Estimate your PILOT:Suite to Dolibarr ERP 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 PILOT:Suite to Dolibarr ERP data migrations

Answers to the questions buyers ask most during PILOT:Suite to Dolibarr ERP migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your PILOT:Suite to Dolibarr ERP migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Migrations under 10,000 items, 2,000 customers and vendors, and 500 open orders typically complete in three to five weeks. Migrations with active GL account balances, multi-warehouse stock assignments, custom module data requiring Extrafield recreation, or full historical document archives extend to eight to twelve weeks. The timeline is driven by data volume, custom field count, and whether the Dolibarr accounting module needs to be configured from scratch.

Adjacent paths

Related migrations to explore

Ready when you are

Move from PILOT:Suite.
Land in Dolibarr ERP, 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