ERP migration

Migrate from Maximum Software to Dolibarr ERP

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

Maximum Software logo

Maximum Software

Source

Dolibarr ERP

Destination

Dolibarr ERP logo

Compatibility

79%

11 of 14

objects map 1:1 between Maximum Software and Dolibarr ERP.

Complexity

CModerate

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Maximum Software to Dolibarr is an ERP consolidation from a proprietary platform to a free, open-source ERP/CRM built on PHP and MySQL. Dolibarr uses a modular architecture — you activate only the modules you need (Third Parties, Products, Invoices, Projects, HR) — which means migration scope depends directly on which Maximum Software modules are in active use. We extract the chart of accounts, customer and vendor records, item master, open invoices, and engagement history from Maximum Software, map them to Dolibarr's corresponding modules, and resolve product-to-stock dependencies before import because Dolibarr requires the Stock module to be enabled before products can carry inventory quantities. We do not migrate automations, custom workflows, or scheduled tasks as code; we deliver a written inventory of these for the customer's admin to rebuild in Dolibarr's built-in automation tools. Dolibarr's core software is free under the AGPL license, with hosting costs of €9–14 per user per month on DoliCloud or $5–20 per month for self-hosted instances.

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

Maximum Software logo

Maximum Software

What's pushing teams away

  • Vendor name ambiguity creates procurement friction — the maximum.software domain hosts an unrelated PDF-automation vendor, so research and contract signing take extra cycles to confirm the correct Maximum Software Inc. ERP vendor.
  • Limited modern REST/API and developer ecosystem compared to cloud-native ERPs (NetSuite, Odoo, MS Dynamics 365 Business Central), pushing API-first teams to alternatives.
  • Predominantly Quebec and francophone-Canada focus limits multi-national expansion — companies growing outside Canada often migrate to multi-country ERPs.
  • No public pricing or self-serve trial — every deal is sales-led, slowing procurement vs. transparent SaaS competitors.
  • Smaller global consultant community than mainstream ERPs makes finding implementation talent or migration partners harder outside Quebec.

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 Maximum Software objects map to Dolibarr ERP

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

Maximum Software

Customer

maps to

Dolibarr ERP

Third Party (Module ThirdParty)

1:1
Fully supported

Maximum Software Customer records map to Dolibarr ThirdParty entities with the Third Party type set to Customer. The source customer name maps to the required name field, and address, phone, and email map to the corresponding contact fields. Dolibarr's dedupe check uses email as the unique key; we resolve any Maximum Software customers sharing an email address by appending a disambiguating suffix before import. The source's customer-specific fields (payment terms, credit limit) map to Dolibarr's Payment Terms and Maximum Recommended Payment Delay settings on the ThirdParty record.

Maximum Software

Vendor

maps to

Dolibarr ERP

Third Party (Module ThirdParty)

1:1
Fully supported

Maximum Software Vendor records map to Dolibarr ThirdParty entities with the type set to Supplier. The vendor name, address, and contact information migrate directly. We flag any Maximum Software vendor that shares an email with an existing customer record and surface the conflict for the customer's admin to resolve before import, because Dolibarr does not allow a single ThirdParty to be both Customer and Supplier simultaneously without module configuration changes.

Maximum Software

Chart of Accounts

maps to

Dolibarr ERP

Accounting Configuration (Module Accountancy)

lossy
Mapping required

Maximum Software chart-of-accounts records map to Dolibarr's accounting module configuration. Each account code maps to a Bank Account or Account record in Dolibarr depending on the account type (asset, liability, equity, income, expense). We flag accounts with non-numeric characters or lengths exceeding Dolibarr's account code format (typically 6-8 digits) for manual review and code normalization. Dolibarr's accounting module must be enabled and configured before invoices are imported, because invoice lines reference account codes that must exist at import time.

Maximum Software

Item (Product/Service)

maps to

Dolibarr ERP

Product/Service (Module Products)

1:1
Fully supported

Maximum Software Items map to Dolibarr Product records. The source item type (goods vs. service) maps to Dolibarr's ProductType field. The source SKU maps to ref, and description maps to label. If the Maximum Software item carries stock quantities, we require the Dolibarr Stock module to be activated before migration because Dolibarr stores stock as a separate module-level concern and items without the Stock module enabled cannot carry real-time inventory quantities. Cost price from Maximum Software maps to the PMp field (cost price) in Dolibarr.

Maximum Software

Item (Inventory)

maps to

Dolibarr ERP

Product + Stock (Module Products + Module Stock)

1:1
Fully supported

Items with active inventory tracking in Maximum Software map to Dolibarr Product records with the Stock module enabled and warehouse-level quantity records created during import. We create a default warehouse (Warehouse ID 0) if one does not exist in the Dolibarr destination. The source's current stock quantity, reorder point, and unit of measure map to the corresponding Dolibarr stock record fields. Any items with negative stock in Maximum Software are flagged as exceptions before import because Dolibarr's stock module does not natively support negative inventory without explicit configuration.

Maximum Software

Open Invoice (AR)

maps to

Dolibarr ERP

Invoice (Module Facture)

1:1
Fully supported

Maximum Software open invoices (accounts receivable) map to Dolibarr Customer Invoice records with status set to Draft or Unvalidated. The invoice number, date, due date, line items, and total amounts migrate. Payments already applied to invoices in Maximum Software are not recreated as separate payment records in Dolibarr; instead, the paid amount is noted in an invoice-level custom field and the invoice status is set to Paid if fully settled, or Partial if partially paid. Invoice PDFs from Maximum Software are stored as ContentDocument linked to the corresponding Dolibarr invoice.

Maximum Software

Open Bill (AP)

maps to

Dolibarr ERP

Supplier Invoice (Module Facture)

1:1
Fully supported

Maximum Software vendor bills (accounts payable) map to Dolibarr Supplier Invoice records. The vendor is resolved via the ThirdParty lookup (Vendor-to-Supplier mapping). Line items map by matching the Maximum Software item reference to the imported Product record. Paid status is set consistent with the Maximum Software payment state. Historical paid invoices with no open balance are imported with status Validated and Closed for audit trail completeness.

Maximum Software

User

maps to

Dolibarr ERP

User (Module Users)

1:1
Fully supported

Maximum Software User records map to Dolibarr User accounts. The source user's email becomes the login, and the active/inactive status maps to the Dolibarr account status. We resolve the Maximum Software user role (admin vs. standard) to Dolibarr permissions flags (Read/Write/Delete/Print/Export per module). Any Maximum Software user without a valid email is assigned a generated placeholder email for migration compatibility and flagged for the admin to update post-migration.

Maximum Software

Engagement: Calls

maps to

Dolibarr ERP

Intervention / Task (Module Interventions or Module Agenda)

1:1
Fully supported

Maximum Software call records map to Dolibarr Intervention records (if the Interventions module is enabled) or Agenda Event records (if only Agenda is enabled). The call direction, duration, date, and disposition migrate to the corresponding fields in the destination. The linked contact or vendor is resolved via the ThirdParty lookup by email or name match. Calls without a resolvable ThirdParty link are imported as standalone interventions and flagged for the admin to reconnect manually.

Maximum Software

Engagement: Meetings

maps to

Dolibarr ERP

Event (Module Agenda)

1:1
Fully supported

Maximum Software meeting records map to Dolibarr Agenda Event records. The meeting title, scheduled date and time, duration, location, and attendee list migrate to the corresponding Event fields. Attendees are resolved as EventRelation records pointing to the matching ThirdParty (Customer or Supplier) or User in Dolibarr. Any attendee not resolvable in Dolibarr is stored as plain text in the Event's note field and flagged for review.

Maximum Software

Engagement: Tasks

maps to

Dolibarr ERP

Task / To-Do (Module Agenda)

1:1
Fully supported

Maximum Software task records map to Dolibarr Agenda Task records with the task subject, due date, priority, status, and assigned user migrated. The assigned user is resolved via email match against the Dolibarr User table. Completed date and completion status migrate as the task's done date. Tasks without an assignable user in Dolibarr are imported as unassigned tasks and flagged in the reconciliation report.

Maximum Software

Project / Job

maps to

Dolibarr ERP

Project (Module Projects)

1:1
Fully supported

Maximum Software project or job records map to Dolibarr Project records. The project name, description, start date, end date, status, and budget migrate directly. If the Maximum Software project has associated tasks or time entries, these map to Dolibarr ProjectTask and ProjectTaskTime records respectively. The Projects module must be enabled in Dolibarr before this object import runs; we verify module activation during the discovery phase and surface any missing module dependencies as a pre-migration action item.

Maximum Software

Custom Fields

maps to

Dolibarr ERP

ExtraFields (Module CustomFields)

lossy
Fully supported

Maximum Software custom field values map to Dolibarr ExtraFields attached to the corresponding record. Dolibarr's CustomFields module requires the field to be pre-created in the destination before data can be stored; we create the ExtraField definition (with type matching: string, int, float, select, checkbox, date) before importing records that carry the custom field. Constrained custom fields (fields pointing to other records) use Dolibarr's fk_moduleid lookup semantics, which requires the referenced record's rowid to be available at migration time. We resolve this by pre-importing parent records and using the assigned Dolibarr rowid as the foreign key value.

Maximum Software

Workflow / Automation

maps to

Dolibarr ERP

No direct equivalent — handoff document

lossy
Fully supported

Maximum Software workflows and automations do not migrate as executable code to Dolibarr because the automation models differ. We deliver a written inventory of every active Maximum Software workflow, trigger condition, action, and automation rule. The inventory includes a recommended Dolibarr equivalent using Dolibarr's Triggers (automatic actions per module) or external tools. The customer's admin rebuilds automations in Dolibarr post-migration as part of the onboarding configuration scope. Workflows and automations are outside the data migration scope by design.

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.

Maximum Software logo

Maximum Software gotchas

High

Vendor identification ambiguity

High

Lot and serial traceability data must transfer with full lineage

Medium

Bilingual French-English data fields require careful handling

Medium

EDI-generated transactions need linkage preservation

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

  • Dolibarr Stock module must be active before inventory imports

    Dolibarr separates product data (Module Products) from stock quantity data (Module Stock). If the Stock module is not enabled, products can still be imported but will not carry inventory quantities, reorder points, or warehouse assignments. We check module activation status during discovery and surface any missing Stock module as a blocking pre-migration action. Enabling the Stock module post-inventory-import requires a reimport of stock quantities. This is a common oversight in Dolibarr migrations that causes silent data loss where inventory quantities appear as zero in the destination.

  • Maximum Software custom fields require explicit ExtraField pre-creation in Dolibarr

    Dolibarr's CustomFields module requires every custom field to be defined in the destination before data is stored. The field type (string, integer, float, select, multiselect, date) must match the data type of the Maximum Software source field. Constrained fields (foreign key lookups) require the referenced Dolibarr record's rowid to exist at migration time, which creates a parent-record-first ordering constraint across the entire migration. We handle this by running a schema-first phase where all ExtraField definitions are created and validated before any record data is imported. Skipping this phase results in records being rejected during import with foreign key constraint violations.

  • Dolibarr database key length constraint on MySQL/MariaDB

    Dolibarr's installer applies UNIQUE INDEX constraints on certain fields (notably email and msgid in recruitment and other modules) that can exceed the 767-byte key length limit on older MySQL and MariaDB versions. This is a known Dolibarr issue (GitHub issue #16315) that causes ALTER TABLE commands to fail during Dolibarr version upgrades and, by extension, during data imports that trigger schema checks. We verify the target MySQL/MariaDB version during pre-migration infrastructure review and recommend upgrading to MySQL 8.0 or MariaDB 10.3+ before migration begins. If upgrade is not feasible, we disable the affected Dolibarr modules and flag the constraint for manual resolution.

  • Dolibarr does not natively support file attachments stored outside its documents directory

    Maximum Software attachments (invoices, contracts, product images) stored in proprietary or non-standard formats must be converted to Dolibarr-compatible formats and uploaded to the Dolibarr documents directory via the upload API or direct file placement. Dolibarr's document management expects files to be linked via ContentDocument records pointing to the llx_document_model database entries. Any Maximum Software attachments that use non-standard encoding, password protection, or embedded formats (e.g., legacy Office formats with macros) require pre-migration format conversion. We flag these as a separate file preparation task and estimate the effort based on attachment volume during discovery.

  • Dolibarr accounting module requires chart-of-accounts configuration before invoice import

    Dolibarr's accounting module must be enabled and the chart of accounts configured before open invoices are imported, because invoice line items in Dolibarr's accounting-enabled mode reference account codes that must exist at import time. If the chart of accounts is not pre-configured, invoice imports either fail with an account-not-found error or bypass accounting validation and create invoices without proper ledger entries. We run the chart-of-accounts configuration as a distinct pre-migration phase, then sequence invoice imports after account code validation passes.

Migration approach

Six steps for a successful Maximum Software to Dolibarr ERP data migration

  1. Discovery and module inventory

    We audit Maximum Software across all active modules — customers, vendors, chart of accounts, items with stock tracking, open invoices, open bills, users, engagements (calls, meetings, tasks), and projects. We pair this with a Dolibarr installation review to identify which modules are currently enabled and which are missing. The discovery output is a written migration scope specifying which Dolibarr modules must be activated (Stock, Projects, Interventions, Agenda, Accounting), which account codes need to be pre-created, and which Maximum Software custom fields require Dolibarr ExtraField definitions.

  2. Schema design and ExtraField pre-creation

    We design the destination Dolibarr schema by creating all required ExtraField definitions before any record data is imported. This includes custom fields for customers, vendors, products, invoices, and projects. For constrained custom fields, we identify the parent record type and establish the ordering in which parent records must be imported first. The accounting module's chart of accounts is configured with account codes matching (or normalized from) the Maximum Software chart of accounts. All schema changes are validated in a pre-production Dolibarr environment before the migration phase begins.

  3. Module activation and configuration validation

    We activate all required Dolibarr modules — ThirdParty, Products, Stock, Facture, Agenda, Projects, Interventions, CustomFields, and Accountancy — in a staging Dolibarr instance. We verify that the accounting module is correctly configured with the imported chart of accounts, that the Stock module is linked to the Products module, and that the ExtraField definitions render correctly in the Dolibarr UI. The customer's admin reviews the configured Dolibarr instance and confirms module activation and field placement before production migration begins.

  4. Owner and ThirdParty reconciliation

    We extract all distinct customer and vendor email addresses from Maximum Software and match them against the Dolibarr ThirdParty table. We also extract all Maximum Software user emails and match them against the Dolibarr User table. Any Maximum Software contact without a matching Dolibarr ThirdParty record is flagged for creation. Any Maximum Software user without a matching Dolibarr User is placed in a reconciliation queue for the customer's admin to provision the account. Owner assignment on engagements is resolved by email match against the User table at this stage.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Users (validated from reconciliation queue), ThirdParty records (Customers then Suppliers), Products (with Stock module pre-validated), Chart of Accounts (Accountancy configuration), Customer Invoices (with account code validation), Supplier Invoices, Projects, Engagements (calls via Interventions, meetings via Agenda, tasks via Agenda), and Custom Field values (via ExtraField mapping after parent records are confirmed). Each phase emits a row-count reconciliation report. Attachments are uploaded to the Dolibarr documents directory and linked to the corresponding records via ContentDocument records.

  6. Cutover, validation, and automation handoff

    We freeze Maximum Software writes during cutover, run a final delta migration of any records modified during the migration window, then enable Dolibarr as the system of record. We deliver a written automation inventory document listing every Maximum Software workflow and automation rule with a recommended Dolibarr equivalent. We do not rebuild workflows inside the migration scope. We support a one-week post-cutover validation window where we resolve record reconciliation issues. Dolibarr's triggering of automatic actions (e.g., email on invoice creation) is enabled as part of the cutover configuration.

Platform deep dives

Context on both ends of the pair

Maximum Software logo

Maximum Software

Source

Strengths

  • Bilingual French-English ERP suited to Quebec and francophone Canadian customers
  • Integrated MRP, BOM, lot/serial traceability for discrete and process manufacturing
  • Long-tenured Canadian vendor with hands-on professional services
  • EDI exchange built in for North American trading partners
  • End-to-end stack covering accounting, inventory, transport, CRM, payroll, and HR

Weaknesses

  • Name/domain ambiguity (maximum.software hosts an unrelated PDF vendor)
  • Limited modern REST API and developer ecosystem
  • Regional Quebec/Canada focus limits multinational suitability
  • No public pricing or self-serve trial
  • Small global consultant community outside Quebec
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. 8 of 8 objects need a mapping; the rest are 1:1.

C

Overall complexity

Moderate migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Maximum Software and Dolibarr ERP.

  • Object compatibility

    D

    8 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

    Maximum Software: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

Estimate your Maximum Software 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 Maximum Software to Dolibarr ERP data migrations

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

Can't find your answer?

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

Book a free 30 minute consultation

Most migrations land between three and five weeks for accounts under 10,000 customers, 5,000 items, and a single-module deployment (invoicing with basic CRM). Migrations with full chart-of-accounts conversion, multi-module activation (Stock, Projects, HR), historical invoice preservation, and attachment migration move to eight to twelve weeks because of ExtraField schema design, module configuration validation, and parent-record lookup resolution across all enabled Dolibarr modules.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Maximum Software.
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