ERP migration
Field-level mapping, validation, and rollback between AI Works and Dolibarr ERP. We move data and schema; workflows are rebuilt natively in Dolibarr ERP.
AI Works
Source
Dolibarr ERP
Destination
Compatibility
8 of 12
objects map 1:1 between AI Works and Dolibarr ERP.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from AI Works to Dolibarr is a replatforming to a lightweight, open-source ERP and CRM with a modular architecture that is free to self-host. AI Works stores financial data, users, invoices, and purchase orders as structured records; Dolibarr maps these to its own ThirdParty, Facture, Commandefournisseur, and Product entities through a CSV-based import wizard or REST API. We extract AI Works data via its export API, validate record counts against the source, and load into Dolibarr's target tables using the correct llx_ prefix and row identifiers. Dolibarr's approval workflow model differs from AI Works' embedded approval chains — we deliver a written inventory of every AI Works approval chain for the customer's admin to rebuild as Dolibarr workflows. Module activation gaps are the most common migration fault; we confirm that Dolibarr modules for Accounting, Invoicing, and Purchases are enabled before their respective record types import, or those records are silently skipped by Dolibarr's import engine.
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 AI Works 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.
AI Works
User
Dolibarr ERP
User + Contact
1:manyAI Works User records split into Dolibarr's separate User (authentication) and Contact/ThirdParty (business record) objects. We extract email, name, and role from AI Works and create the User record first so that OwnerId lookups are satisfied during Contact import. Any AI Works user who also appears as a business contact (e.g., a supplier contact) is created as both a User and a ThirdParty with a link via the User rights table llx_user_grant.
AI Works
Account
Dolibarr ERP
ThirdParty
1:1AI Works Account records map to Dolibarr ThirdParty (llx_societe). The AI Works account name becomes thirdparty name, the domain becomes email and URL fields, and address data maps to Dolibarr's address fields (address, zip, town, country). Customer or supplier classification from AI Works sets Dolibarr's client and fournisseor flags. ThirdParty is imported before any related Contact or Invoice to satisfy foreign-key constraints in Dolibarr's import engine.
AI Works
Contact
Dolibarr ERP
Contact (llx_socpeople)
1:1AI Works Contact records map to Dolibarr Contact (llx_socpeople). The foreign key fk_soc points to the parent ThirdParty llx_societe row ID, which we resolve after the ThirdParty import phase. Email, phone, job title, and address fields migrate directly. If AI Works stores multiple contacts per account with a primary flag, we set the primary_contact flag on the first imported contact per ThirdParty.
AI Works
Invoice
Dolibarr ERP
Facture (llx_facture)
1:1AI Works Invoice records map to Dolibarr Facture. The AI Works invoice status (Draft, Sent, Paid, Cancelled) maps to Dolibarr fk_statut values (0, 1, 2, 3). Invoice line items map to llx_facturedet with fk_facture as the parent reference resolved at migration time. Payment terms, due dates, and tax rates migrate as Facture header fields and llx_facturedet tax configuration. We verify that the Facture module is activated in Dolibarr before this phase runs.
AI Works
Purchase Order
Dolibarr ERP
CommandeFournisseur (llx_commande_fournisseur)
1:1AI Works Purchase Order records map to Dolibarr CommandeFournisseur (llx_commande_fournisseur). Supplier reference from AI Works resolves to the parent ThirdParty fk_soc. Order status maps to fk_statut, and line items import to llx_commande_fournisseurdet. The Purchases module must be active in Dolibarr before import; if it is not, Dolibarr silently skips the records. We validate module activation state before this phase begins.
AI Works
Product
Dolibarr ERP
Product (llx_product)
1:1AI Works Product records map to Dolibarr Product (llx_product). SKU, description, unit, and price data migrate to llx_product fields. For products with variants, we evaluate whether AI Works variant data maps to Dolibarr's multi-price feature or requires separate Product records per variant. Product type (service vs stock) sets Dolibarr's fk_product_type field. Pricebook entries from AI Works map to llx_product_price.
AI Works
Custom Field
Dolibarr ERP
ExtraFields (llx_extrafields)
lossyAI Works custom fields require pre-creation in Dolibarr's ExtraFields system before migration. We evaluate each AI Works custom field type against Dolibarr's supported types (varchar, int, text, date, datetime, select, checkbox) and create the corresponding llx_extrafields record before data import. Dolibarr's ExtraFields are tied to specific table names (e.g., llx_societe_extrafields for ThirdParty) and must be created in advance via the ExtraFields module or direct database insert.
AI Works
Approval Chain
Dolibarr ERP
Workflow configuration
1:1AI Works approval chains attached to invoices and purchase orders have no direct Dolibarr equivalent as migrated records. We document every AI Works approval chain (trigger condition, approver role, escalation path) and deliver a written inventory with Dolibarr's Workflow module recommendations (llx_workflow) so the customer's admin can rebuild approval logic post-migration. The migration itself carries no approval configuration.
AI Works
Account Balance
Dolibarr ERP
Accounting module (llx_compta_facture)
lossyAI Works account balances and ledger entries require mapping to Dolibarr's Accounting module (Bookkeeping module activation required). We evaluate whether AI Works stores accrual-basis or cash-basis entries and configure Dolibarr's accounting period and chart of accounts before balance migration. Dolibarr's accounting module is not active by default and must be explicitly enabled; if it is absent, we migrate only the invoice record without accounting double-entry.
AI Works
Historical Timestamps
Dolibarr ERP
Record date fields
1:1AI Works creation date, modification date, and any audit timestamps on every record type migrate to Dolibarr's date fields (date_creation, date_modification, tms). These fields are set during the INSERT statement and preserved to maintain the original audit trail in the migrated records. Timestamps on attachments migrate via Dolibarr's ECM (Electronic Content Management) table llx_ecm_files.
AI Works
Attachment
Dolibarr ERP
Document (llx_ecm_files + file system)
1:1AI Works file attachments (invoices PDFs, order documents, contact photos) migrate to Dolibarr's document storage directory and the llx_ecm_files table. We preserve the original filename and Dolibarr's directory structure (by entity and year) so that documents appear in the correct context within Dolibarr's document browser. Large binary files are chunked and transferred via the source platform's file export API or FTP.
AI Works
Multi-Currency Entry
Dolibarr ERP
Multi-currency handling
lossyAI Works multi-currency invoice lines require evaluation against Dolibarr's multi-currency capability. Dolibarr's multi-currency module is a third-party or paid feature; if the source uses multiple currencies, we verify the module is active and migrate currency code, exchange rate, and base-currency amount. If Dolibarr lacks multi-currency support, we convert amounts to the base currency at the invoice date's exchange rate and document the conversion rate used.
| AI Works | Dolibarr ERP | Compatibility | |
|---|---|---|---|
| User | User + Contact1:many | Fully supported | |
| Account | ThirdParty1:1 | Fully supported | |
| Contact | Contact (llx_socpeople)1:1 | Fully supported | |
| Invoice | Facture (llx_facture)1:1 | Fully supported | |
| Purchase Order | CommandeFournisseur (llx_commande_fournisseur)1:1 | Fully supported | |
| Product | Product (llx_product)1:1 | Fully supported | |
| Custom Field | ExtraFields (llx_extrafields)lossy | Fully supported | |
| Approval Chain | Workflow configuration1:1 | Fully supported | |
| Account Balance | Accounting module (llx_compta_facture)lossy | Fully supported | |
| Historical Timestamps | Record date fields1:1 | Fully supported | |
| Attachment | Document (llx_ecm_files + file system)1:1 | Fully supported | |
| Multi-Currency Entry | Multi-currency handlinglossy | 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.
AI Works gotchas
Vendor is not positioned as a conventional packaged ERP
No publicly documented API or schema
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
Source audit and extraction plan
We audit the AI Works instance across record types (Users, Accounts, Contacts, Invoices, Purchase Orders, Products), custom field definitions, attachment storage locations, and any active approval chains. We export data using AI Works' REST API or CSV export endpoint, chunking large record sets into batches of 1,000-5,000 rows to avoid timeout errors. We validate record counts and a random sample of 25-50 records per object against the source before designing the mapping. This step produces a written extraction report and a pre-migration data cleanliness scorecard.
Dolibarr environment validation and module activation
We audit the target Dolibarr instance: version number, active modules, database character set (utf8_unicode_ci required), PHP version compatibility, and document storage path configuration. We activate the required modules (ThirdParty, Contact, Facture, CommandeFournisseur, Product, Accounting if applicable) via Dolibarr admin or direct database INSERT into llx_const. We run Dolibarr's /install/repair.php to clean any orphaned menus and ECM entries before migration begins. If the instance is more than two major versions behind, we document the upgrade path required before migration can proceed.
Schema mapping and ExtraFields creation
We design the field-level mapping from AI Works' schema to Dolibarr's llx_ prefixed tables. Custom fields from AI Works are created as Dolibarr ExtraFields rows in the appropriate llx_<table>_extrafields table before any data import. We map AI Works' account type (customer/supplier) to Dolibarr's client/fournisseur flags, and invoice status values to Dolibarr's fk_statut enumeration. The mapping document is reviewed and signed off by the customer before any database writes begin. Any AI Works field without a Dolibarr equivalent is flagged as requiring manual post-migration entry or a custom module.
Dependency-ordered migration in phases
We execute the migration in record-dependency order: Users first (so OwnerId lookups are valid), then ThirdParty accounts, then Contact records with fk_soc resolved to the new ThirdParty row IDs, then Products, then Facture invoices with fk_soc and fk_user_author resolved, then Purchase Orders, then document attachments in the ECM filesystem. Each phase produces a reconciliation report (record count in, record count confirmed in Dolibarr, error log). We use Dolibarr's native CSV import wizard for smaller volumes and direct SQL INSERT with batch commits for volumes over 50,000 rows.
Validation and reconciliation
We validate the migrated data against the AI Works extraction report: record counts per object, spot-check of 25-50 records per type for field-level accuracy, and verification that parent-child relationships (Contact to ThirdParty, Invoice to ThirdParty, Line Items to Invoice) are correctly resolved. Any missing or mis-mapped records are corrected in a delta pass. We verify that Dolibarr's date fields preserve the original AI Works creation and modification timestamps for audit compliance. The customer reviews the validated data in a sandbox or staging environment before production cutover.
Cutover and approval chain handoff
We freeze writes to the AI Works instance during the cutover window, run a final delta migration of any records modified during the migration run, and switch the system of record to Dolibarr. We deliver the written approval chain inventory document to the customer's admin team for rebuild in Dolibarr's Workflow module. We provide a one-week hypercare window for reconciliation issues raised by the customer's team. We do not rebuild AI Works approval chains or automations as part of the migration scope; that work is documented for the customer's admin to complete or for a separate Dolibarr workflow rebuild engagement.
Platform deep dives
AI Works
Source
Strengths
Weaknesses
Dolibarr ERP
Destination
Strengths
Weaknesses
Complexity grading
Standard ERP migration. All 8 core objects map 1:1 between AI Works and Dolibarr ERP.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across AI Works and Dolibarr ERP.
Object compatibility
All 8 core objects map 1:1 between AI Works and Dolibarr ERP.
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
AI Works: Not publicly documented — typical SaaS limits assumed and confirmed during scoping.
Data volume sensitivity
AI Works 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 AI Works to Dolibarr ERP migration scoping. Not seeing yours? Book a call.
Walk through your AI Works 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 AI Works
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.