ERP migration
Field-level mapping, validation, and rollback between PrismERP and Dolibarr ERP. We move data and schema; workflows are rebuilt natively in Dolibarr ERP.
PrismERP
Source
Dolibarr ERP
Destination
Compatibility
11 of 12
objects map 1:1 between PrismERP and Dolibarr ERP.
Complexity
BStandard
Timeline
4-6 weeks
Overview
Moving from PrismERP to Dolibarr is driven by PrismERP's module instability (only the HR module earns positive reviews) and its lack of a documented bulk API, which makes self-service migration difficult. Dolibarr is an open-source ERP and CRM launched in 2003, built for small to medium businesses, with a modular architecture and a REST and XML-RPC API that supports data extraction and loading at controlled batch sizes. We extract PrismERP data via CSV export or direct database access (depending on on-premises versus cloud-hosted), run data quality profiling on non-HR modules to surface bug-related anomalies, map multi-segment account codes to Dolibarr's flat account structure, and load in dependency order into Dolibarr's accounting, third-party, products, projects, and HR modules. Approval workflows, automations, and custom report definitions do not migrate as code; we deliver a written inventory for the customer's admin to rebuild in Dolibarr.
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.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a PrismERP 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.
PrismERP
Customer Master
Dolibarr ERP
ThirdParty (Third Parties module)
1:1PrismERP Customer Master records (personal details, company data, contacts, addresses, banking information) map to Dolibarr ThirdParty objects with the Customer flag enabled. The dedupe key is email or customer code. We preserve address records as Dolibarr Address records linked to the ThirdParty, and contact persons as Dolibarr Contact records with a link to the parent ThirdParty. Payment terms and credit limits migrate as dictionary values in Dolibarr's TermsofPayment static table.
PrismERP
Vendor Master
Dolibarr ERP
ThirdParty (Third Parties module)
1:1Vendor Master mirrors Customer Master structure in PrismERP. We map to Dolibarr ThirdParty with the Supplier flag enabled. Banking information (SWIFT, IBAN, account number) migrates as a Bank Account record linked to the ThirdParty. PrismERP vendor categories map to Dolibarr Categories (Suppliers type) for reporting segmentation.
PrismERP
Chart of Accounts
Dolibarr ERP
Account (Accounting module)
lossyPrismERP's hierarchical Chart of Accounts may include multi-segment dimension codes (company, region, department, product line) in a single account code. Dolibarr uses flat account codes (char 32 max) for its double-entry accounting. We generate a segment mapping worksheet during discovery, have the customer define how each PrismERP dimension maps to either Dolibarr account codes or cost center fields, and apply the transform as a pre-load step. Account types (Asset, Liability, Equity, Revenue, Expense) map to Dolibarr's pcmt_type values.
PrismERP
Open AR/AP Vouchers
Dolibarr ERP
Invoice/SupplierInvoice + AccountingEntry (Accounting module)
1:1Open Accounts Receivable vouchers from PrismERP map to Dolibarr Customer Invoice records with status Draft or Unbilled. Open Accounts Payable vouchers map to Dolibarr SupplierInvoice records. Current outstanding amounts and due dates are preserved as invoice total and due date. The originating journal entries from PrismERP are loaded as Dolibarr AccountingEntry records (manual bookkeeping entries) to preserve the full audit trail for closed and open periods. Historical closed-period transactions are exported as a separate read-only file set for audit retention.
PrismERP
Inventory Items
Dolibarr ERP
Product (Products module)
1:1PrismERP Items (product definitions, pricing tiers, stock levels, warehouse assignments, BOM associations) map to Dolibarr Product records. Product type (stockable, service, assembly) is determined from PrismERP item type. Current stock quantities per warehouse import into Dolibarr Stock (Warehouse module) as stock movement records with today's date and the source reason 'Import'. BOM associations migrate as Dolibarr BOM records linked to the parent Product if the MRP module is enabled in the destination.
PrismERP
Purchase Orders
Dolibarr ERP
SupplierOrder (Suppliers module)
1:1PrismERP SDM Purchase Orders (headers, line items, quantities, agreed prices, vendor assignments, approval status) map to Dolibarr SupplierOrder. PO line items map to SupplierOrderLine with Product reference resolved via SKU match, quantity, and unit price. Approval status from PrismERP becomes Dolibarr order status (Draft, Validated, Approved, Sent, Received) with a note preserved in the order description.
PrismERP
Sales Orders
Dolibarr ERP
Order (Commercial module)
1:1Sales Orders and related delivery and invoice documents from PrismERP SDM map to Dolibarr Order, then to Shipment and Invoice records depending on lifecycle stage. Line-item detail, pricing, customer linkage (ThirdParty lookup), and order status all migrate. The mapping preserves the order-to-invoice lineage so that Dolibarr's invoice can be generated from the imported order.
PrismERP
Production Orders
Dolibarr ERP
MO (Manufacturing module)
1:1PrismERP Production Planning & Control orders (BOM references, routing steps, quantities) map to Dolibarr Manufacturing Order (MO) if the MRP module is activated. The production order header migrates with BOM linkage, planned quantity, and status. Routing steps are documented as a note attachment on the MO rather than as a structured routing record, since Dolibarr's basic MRP module does not support multi-step routing. Teams with complex production planning should treat this as a scope boundary and plan a separate MRP implementation review.
PrismERP
Employees (HCM)
Dolibarr ERP
User + HR-Employee (HRM module)
1:1PrismERP HCM Employee records (personal data, employment details, department assignments, compensation history) are the highest-confidence data set in PrismERP based on user reviews. We map to Dolibarr User records for authentication plus Dolibarr Employee records (from the HRM module) for employment data. Department assignments map from PrismERP's organizational hierarchy to Dolibarr Departments. Compensation history is preserved as a Note attached to the Employee record since Dolibarr HRM does not have a native compensation history object.
PrismERP
Departments / Cost Centers
Dolibarr ERP
Department (HRM module)
1:1PrismERP organizational hierarchy maps to Dolibarr Department records. We preserve the full department tree structure as parent-child Department relationships in Dolibarr. Cost center assignments on accounts and projects from PrismERP are mapped to Dolibarr's Categories (with Cost Center type) for use in accounting reports, since Dolibarr's basic accounting module does not have a native cost center dimension.
PrismERP
Projects
Dolibarr ERP
Project (Projects module)
1:1PrismERP Project System entries (project definitions, WBS elements, time entries, budget assignments) map to Dolibarr Project records. WBS elements migrate as Dolibarr Tasks with hierarchical parent-child relationships. Time entries map to Dolibarr ProjectTaskTime records if the Tasks and Timesheets module is enabled. Budget assignments require a manual reconciliation step because PrismERP and Dolibarr use different budget tracking models. Projects without tasks are imported as Project headers with a status flag set to 'Not started'.
PrismERP
Documents / Attachments
Dolibarr ERP
Document / File (Documents module)
1:1PrismERP Document Management System files linked to transactions, master records, and projects are exported as binary files with their attachment metadata (original filename, file type, creation date, linked record ID). We load them into Dolibarr's Documents module as file attachments linked to the corresponding migrated record. The migration preserves the file association but not Dolibarr-native version history, which starts from the migration date. File types supported include PDF, Office documents, images, and CSV data files.
| PrismERP | Dolibarr ERP | Compatibility | |
|---|---|---|---|
| Customer Master | ThirdParty (Third Parties module)1:1 | Fully supported | |
| Vendor Master | ThirdParty (Third Parties module)1:1 | Fully supported | |
| Chart of Accounts | Account (Accounting module)lossy | Mapping required | |
| Open AR/AP Vouchers | Invoice/SupplierInvoice + AccountingEntry (Accounting module)1:1 | Mapping required | |
| Inventory Items | Product (Products module)1:1 | Fully supported | |
| Purchase Orders | SupplierOrder (Suppliers module)1:1 | Fully supported | |
| Sales Orders | Order (Commercial module)1:1 | Fully supported | |
| Production Orders | MO (Manufacturing module)1:1 | Mapping required | |
| Employees (HCM) | User + HR-Employee (HRM module)1:1 | Fully supported | |
| Departments / Cost Centers | Department (HRM module)1:1 | Fully supported | |
| Projects | Project (Projects module)1:1 | Mapping required | |
| Documents / Attachments | Document / File (Documents module)1:1 | Mapping required |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
PrismERP gotchas
No documented public API for bulk data extraction
Buggy non-HR modules risk data integrity in extracted records
Historical financial transactions span years with no standardized archive
Multi-dimensional account structure requires manual segment mapping
Dolibarr ERP gotchas
Foreign key constraint errors on cross-distribution database restore
SQL injection vulnerabilities in version 9.0.1
Custom fields stored as JSON in extraoptions require field-by-field deserialization
Decimal precision and rounding configuration affects price fields
No native iOS/Android app forces reliance on browser
Pair-specific challenges
Migration approach
Discovery and extraction path determination
We audit PrismERP's active modules, record volumes per module, database type (MySQL/PostgreSQL), and deployment model (on-premises versus cloud-hosted). For on-premises instances, we request database read-only credentials or confirm ability to run CSV exports per module. For cloud-hosted instances, we coordinate with PrismERP support to obtain full data dumps. We simultaneously audit the target Dolibarr instance for activated modules, existing data, and API key configuration. The discovery output is a written extraction plan specifying the data source path per module, the estimated record counts, and the module activation checklist for Dolibarr.
Data quality profiling on non-HR modules
We run mandatory data quality profiling on all PrismERP modules outside the HR module. For the accounting module, we reconcile the trial balance (debits equals credits across all accounts) and compare against PrismERP's own balance reports. For inventory, we run a stock count reconciliation against the item ledger. For sales and purchase orders, we check for orders with zero line items, duplicate order numbers, or missing customer references. Any anomalies are flagged in a written data quality report, and we quarantine affected records until the customer corrects them in PrismERP or confirms they should be excluded from migration. HR data (the highest-confidence module) proceeds in parallel without quarantine holds.
Schema design and account mapping
We design the Dolibarr destination schema before any data loads. This includes activating Dolibarr modules (Third Parties, Products, Stocks, MRP, Projects, HRM, Accounting), configuring the Chart of Accounts numbering scheme, defining the customer/vendor numbering sequence, setting up warehouse records for each PrismERP site, and mapping PrismERP's multi-segment account codes to Dolibarr flat account codes using the segment mapping worksheet produced during discovery. We also configure tax rules, payment terms, and bank accounts as static data that transactional records depend on.
Master data extraction and transformation
We extract Customer Master, Vendor Master, Chart of Accounts, and Inventory Items from PrismERP in parallel. Each extraction runs a transformation script that applies the schema mapping (field renames, type conversions, multi-segment code flattening), deduplication logic (by email for parties, by SKU for products), and data quality fixes identified in step two. Master data is staged in CSV format for Dolibarr's native CSV import tools or the Dolibarr REST API, depending on record volume. Parent-child dependencies (customer addresses, product warehouses, account hierarchy) are resolved before staging.
Transaction and engagement loading
We load transactional data in dependency order: open AR/AP vouchers (as invoices in draft), purchase orders, sales orders, production orders, employee records, project headers and tasks, and file attachments. Open vouchers are loaded first because their outstanding balances affect reporting accuracy. Order documents load after parties are established. Each phase emits a row-count reconciliation report. For large transaction volumes (over 50,000 records), we use Dolibarr's batch import capability with chunking and re-run reconciliation between batches. We do not load approval workflow definitions; these are documented for admin rebuild.
Final reconciliation, handoff, and workflow inventory
We run a final reconciliation comparing PrismERP record counts and balances against Dolibarr imports for all loaded objects. We validate that Dolibarr's accounting trial balance balances after open AR/AP loads, that inventory stock quantities match, and that open order counts are preserved. We deliver the full migration documentation including the record-to-record mapping, the account segment mapping worksheet, the data quality exceptions log, and the approval workflow and automation inventory. We do not rebuild PrismERP workflows or automations in Dolibarr; the inventory document is the admin's guide for manual rebuild. We offer a two-week post-migration support window for reconciliation questions raised by the customer's team.
Platform deep dives
PrismERP
Source
Strengths
Weaknesses
Dolibarr ERP
Destination
Strengths
Weaknesses
Complexity grading
Standard ERP migration. 1 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across PrismERP and Dolibarr ERP.
Object compatibility
1 of 8 objects need a mapping; the rest are 1:1.
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
PrismERP: Not publicly documented.
Data volume sensitivity
PrismERP 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 PrismERP to Dolibarr ERP migration scoping. Not seeing yours? Book a call.
Walk through your PrismERP to Dolibarr ERP migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave PrismERP
Other ways to arrive at Dolibarr ERP
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.