ERP migration
Field-level mapping, validation, and rollback between Opto and Dolibarr ERP. We move data and schema; workflows are rebuilt natively in Dolibarr ERP.
Opto
Source
Dolibarr ERP
Destination
Compatibility
9 of 12
objects map 1:1 between Opto and Dolibarr ERP.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Opto Enterprise to Dolibarr is an inventory-first migration that requires CSV-based data extraction from Opto since no public REST API exists. We extract Items with SKU, reorder point, and supplier cost; map Opto Customers and Vendors to Dolibarr's Third Party object using a type flag; transfer stock quantities to Dolibarr Warehouses; and move open Purchase Orders as Supplier Orders or convert them to Approved Supplier Orders depending on the destination Dolibarr edition. Reorder Rules are configuration data rather than transactional records — we export them as a structured reference table and document the manual re-entry steps so the Dolibarr admin can rebuild them through Dolibarr's product minimum-stock rules. Custom fields from Opto Items and Customers migrate as Dolibarr Extra Fields, which we pre-create in the destination before any product data loads. We do not migrate workflows, eCommerce connector configurations, or reporting templates as code; these require manual rebuild in Dolibarr's module system post-migration.
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 Opto 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.
Opto
Item
Dolibarr ERP
Product
1:1Opto Items (SKU, name, description, unit cost, reorder point) map directly to Dolibarr Products. The product type (stockable, service, consumable) is set based on Opto's item classification. Unit cost from Opto becomes the Best buying price (PMP) in Dolibarr. We pre-create Dolibarr Extra Fields for any Opto custom Item properties before product import so that custom values populate correctly during the data load.
Opto
Customer
Dolibarr ERP
Third Party (type=Customer)
1:1Opto Customers map to Dolibarr Third Parties with the Third party type set to Customer. Contact name, email, phone, and billing address transfer directly. Customer-specific pricing tiers from Opto map to Dolibarr's price per customer configuration or are documented as manual reconfiguration if the pricing model is too granular for the standard field structure.
Opto
Vendor
Dolibarr ERP
Third Party (type=Supplier)
1:1Opto Vendors map to Dolibarr Third Parties with the Third party type set to Supplier. Supplier name, contact, and payment terms transfer directly. Any lead-time data associated with Opto Items for a given Vendor maps to Dolibarr's Supplier catalog entries (ProductFournisseurPrice) so that buying prices are linked per supplier.
Opto
Stock Location
Dolibarr ERP
Warehouse
1:1Opto multi-location inventory (named bins or warehouses) maps to Dolibarr Warehouses. Each Opto Stock Location becomes a separate Dolibarr Warehouse with its address and description. Stock quantities per Item per location transfer to Dolibarr's Product Stock entries linked to the corresponding Warehouse. If Opto uses a hierarchical location model, we flatten it to the warehouse level and preserve the bin or sub-location name as a label in the Dolibarr Warehouse description field.
Opto
Purchase Order
Dolibarr ERP
Supplier Order
1:1Opto Purchase Orders (Vendor linked to Items with quantities and expected delivery dates) map to Dolibarr Supplier Orders. Open Purchase Orders migrate as draft or validated Supplier Orders based on their status in Opto. Historical closed Purchase Orders migrate as Supplier Order records with a closed status for audit trail purposes. If the destination Dolibarr edition does not have the Supplier Orders module enabled, we convert them to Approved Supplier Orders or documented supplier commitments per the customer's module configuration.
Opto
Invoice (Accounts Receivable)
Dolibarr ERP
Customer Invoice
1:1Opto open and historical customer invoices migrate to Dolibarr Customer Invoices with line items, amounts, and payment status preserved. We separate open invoices from historical records during extraction so open invoices can be re-created as open items in Dolibarr while historical invoices are imported as closed or paid records for reporting continuity. Payment reconciliation against bank statements requires manual review post-migration if the customer's Dolibarr accounting module is not active.
Opto
Invoice (Accounts Payable)
Dolibarr ERP
Supplier Bill
1:1Opto vendor invoices (AP side) migrate to Dolibarr Supplier Bills using the same separation logic as AR invoices. Open vendor invoices are imported as unpaid Supplier Bills; historical records are imported with their settled status. The customer's accounts payable team reviews open AP items post-migration to confirm that payment terms and outstanding balances match the source system before processing through Dolibarr's payment workflow.
Opto
Reorder Rule
Dolibarr ERP
Minimum Stock Rule
lossyOpto Reorder Rules define per-Item minimum thresholds and reorder quantities — they are account-level configuration, not transactional records. We export them as a structured CSV with Item SKU, minimum quantity, and reorder quantity. Reconfiguration in Dolibarr requires manual entry through the Product > Minimum Stock Rules menu for each product. We provide the complete rule set in the mapping worksheet so the Dolibarr admin enters each rule during the setup phase before go-live.
Opto
Barcode
Dolibarr ERP
Barcode field on Product
1:1Opto barcode-to-Item associations transfer to Dolibarr's barcode field on the Product record. We extract the barcode value from Opto's item export and populate the Barcode field in Dolibarr. If Opto uses a barcode format that requires a prefix (e.g., internal vs. GS1), we note this in the mapping worksheet and the Dolibarr admin configures the barcode reader module accordingly.
Opto
Custom Fields (Item)
Dolibarr ERP
Extra Fields (Product)
lossyOpto custom fields on Items (properties beyond SKU, name, cost, reorder point) map to Dolibarr Extra Fields on the Product object. We extract the full custom field schema during discovery, pre-create each Extra Field in the destination Dolibarr instance before product import, and then populate values during the product load. Field types are matched as closely as possible (text, numeric, date, dropdown) to Dolibarr's Extra Field type options.
Opto
Custom Fields (Customer)
Dolibarr ERP
Extra Fields (Third Party)
lossyOpto custom fields on Customer records map to Dolibarr Extra Fields on the Third Party object. We follow the same pre-creation and population pattern as for Item custom fields. Any customer-specific pricing tier fields that cannot map to Dolibarr's standard price-per-customer structure are documented for manual evaluation and rebuild in Dolibarr's pricing rules.
Opto
Sales Order
Dolibarr ERP
Customer Order
1:1If Opto tracks customer sales orders (not just Purchase Orders to vendors), these map to Dolibarr Customer Orders. Open orders migrate as draft or validated Customer Orders; completed orders migrate as closed records. Order-to-invoice linkage is preserved by mapping the Opto order number to the Dolibarr ref customer field so that invoice matching against orders is possible post-migration.
| Opto | Dolibarr ERP | Compatibility | |
|---|---|---|---|
| Item | Product1:1 | Fully supported | |
| Customer | Third Party (type=Customer)1:1 | Fully supported | |
| Vendor | Third Party (type=Supplier)1:1 | Fully supported | |
| Stock Location | Warehouse1:1 | Fully supported | |
| Purchase Order | Supplier Order1:1 | Fully supported | |
| Invoice (Accounts Receivable) | Customer Invoice1:1 | Fully supported | |
| Invoice (Accounts Payable) | Supplier Bill1:1 | Fully supported | |
| Reorder Rule | Minimum Stock Rulelossy | Fully supported | |
| Barcode | Barcode field on Product1:1 | Fully supported | |
| Custom Fields (Item) | Extra Fields (Product)lossy | Fully supported | |
| Custom Fields (Customer) | Extra Fields (Third Party)lossy | Fully supported | |
| Sales Order | Customer Order1:1 | Fully supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
Opto gotchas
No documented export API for programmatic data pull
Reorder Rules are configuration data, not records
Custom field schema varies per account
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 export scope validation
We audit the Opto account to identify all active modules (Items, Customers, Vendors, Purchase Orders, Stock Locations, Invoices), the custom field schema on Items and Customers, and the export capability available in the account. We extract sample exports from each module and validate that column headers, data types, and row counts match expectations. Any export limitations (filtered views, maximum rows, missing fields) are flagged before we design the migration schema. We also confirm which Dolibarr modules are active or required in the destination instance so that we can adjust the mapping for the correct target objects.
Schema design and Extra Field pre-creation in Dolibarr
We design the destination Dolibarr schema by mapping each Opto object to its Dolibarr equivalent and pre-creating all required Dolibarr Extra Fields for custom Item and Customer properties. This includes configuring Dolibarr Warehouses to match Opto Stock Locations, setting product types (stockable, service, consumable) based on Opto's item classification, and preparing the Third Party import profiles with the correct type flags (Customer vs. Supplier). Schema is validated in a DoliCloud or partner-hosted staging instance before production data loads begin.
CSV extraction, transformation, and staging import
We extract CSV data from Opto for each object in dependency order: Third Parties (Customers and Vendors first), then Products, then Warehouses, then stock quantities, then Purchase Orders, then Invoices. Each CSV is validated for data quality — missing required fields, malformed addresses, duplicate SKUs — and transformed to match the Dolibarr import profile column order. Large files are chunked into batches of 1,000-5,000 rows per Dolibarr's recommended import size. Custom fields are included as additional columns in the product and third-party imports.
Reorder Rule documentation and manual rebuild handoff
We export Opto Reorder Rules as a structured reference table (Item SKU, minimum quantity, reorder quantity, preferred vendor) and deliver it alongside the mapping worksheet. The customer's Dolibarr admin rebuilds minimum stock rules in Dolibarr's Product module for each Item during the setup phase. We document the equivalent Dolibarr menu path, required fields, and any vendor-specific price configuration so that the admin can complete this work independently before go-live. We do not automate reorder rule entry because Dolibarr's rule model is UI-driven.
Production import, row-count reconciliation, and delta validation
We run the production import in strict dependency order: Third Parties, Products with Extra Fields, Warehouses, stock quantities, Purchase Orders, and open Invoices. Each phase emits a row-count reconciliation report comparing Opto source counts to Dolibarr destination counts. Any records rejected during import are logged with the reason (missing required field, invalid format, duplicate key) and corrected in the source CSV before re-import. After all primary objects are loaded, we run a delta check against any records modified in Opto during the migration window and import the delta set before cutover.
Cutover, open invoice handoff, and post-migration support
We freeze Opto writes during cutover, run a final delta import of any modified records, and confirm that Dolibarr is the active system of record. Open invoices and supplier bills are flagged in the mapping worksheet with their outstanding amounts so that the customer's accounting team can complete bank reconciliation in Dolibarr post-migration. We deliver the complete mapping worksheet, the Reorder Rule reference table, and a record-count summary for each object. We support a five-business-day hypercare window to resolve any data quality issues reported by the customer's team. We do not rebuild Opto eCommerce connector configurations, barcode label templates, or reorder alert email templates in Dolibarr — these require manual rebuild using Dolibarr's document template system.
Platform deep dives
Opto
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 Opto 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
Opto: Not publicly documented — typical SaaS limits assumed and confirmed during scoping.
Data volume sensitivity
Opto exposes a bulk API — large-volume migrations stream efficiently.
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 Opto to Dolibarr ERP migration scoping. Not seeing yours? Book a call.
Walk through your Opto 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 Opto
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.