ERP migration
Field-level mapping, validation, and rollback between daftra and Dolibarr ERP. We move data and schema; workflows are rebuilt natively in Dolibarr ERP.
daftra
Source
Dolibarr ERP
Destination
Compatibility
6 of 12
objects map 1:1 between daftra and Dolibarr ERP.
Complexity
BStandard
Timeline
6-10 weeks
Overview
Moving from Daftra to Dolibarr is a migration from a cloud-only, MENA-oriented ERP with no public API to an open-source, self-hosted ERP with a documented community API. The central challenge is Daftra's undocumented API: we coordinate directly with Daftra's technical team to obtain export access, which adds two to four weeks to discovery. Once access is established, we extract Clients, Products, Invoices, Expenses, the Chart of Accounts, Cost Centers, Employees, and Assets in dependency order, with hierarchical account loading and Arabic UTF-8 normalization handled as structural transforms before Dolibarr's import module processes the data. Dolibarr's modular architecture means not all Daftra modules have direct Dolibarr equivalents — Bookings and the Cheque Cycle require custom configuration or a workaround via Dolibarr Projects. Workflows, dynamic fields, and custom automation logic do not migrate; we deliver a written module inventory and a Dolibarr equivalent recommendation for each active Daftra workflow.
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 daftra 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.
daftra
Clients
Dolibarr ERP
ThirdParty (Societe)
1:1Daftra Client records map to Dolibarr ThirdParty (societe) with the individual/company flag set from Daftra's client type. Contact records attached to a Daftra Client migrate to Dolibarr Contact records linked via fk_soc. Membership points, insurance records, and sales commission references from Daftra store as custom fields on the Dolibarr ThirdParty. Client follow-up activity logs migrate as Note records linked to the ThirdParty.
daftra
Products
Dolibarr ERP
Product
1:1Daftra Products and Services map to Dolibarr Product with the type field set to product or service. SKU, pricing tiers, stock levels, and supplier links transfer directly. Custom fields on Daftra products (user-defined per the field builder) require enumeration during discovery and map to Dolibarr extrafields.
daftra
Invoices
Dolibarr ERP
Invoice (Facture)
1:1Daftra Invoices map to Dolibarr Facture. Line items map to FactureLigne with product reference, quantity, and UnitPrice. Taxes, installment schedules, and sales commission assignments on the Daftra invoice transfer as invoice-level custom fields. The invoice balance and payment status reconstruct from Daftra's installment tracking and payment history. Custom fields on Daftra invoices (per-object field builder) are enumerated during discovery and mapped to Dolibarr extrafields on Facture.
daftra
Expenses
Dolibarr ERP
ExpenseReport (HRM module)
1:1Daftra Expenses map to Dolibarr ExpenseReport when the HRM module is active. Expense category, amount, date, and attachment references transfer. Recurring expense patterns from Daftra store as a flag on the expense record for admin to reconfigure in Dolibarr. Daftra Expense records are linked against the Chart of Accounts during migration so that the account code references are valid at Dolibarr import time.
daftra
Chart of Accounts
Dolibarr ERP
Banking and Financial Account (Compte)
lossyDaftra's flat Chart of Accounts export requires recursive tree reconstruction during discovery to establish parent-child hierarchy. We load accounts in Daftra account code order to respect posting sequence, then configure Dolibarr's Accounting module (plan comptable) accordingly. Sub-account parent references reconstruct from Daftra's account code prefixes. Each account type (asset, liability, revenue, expense) maps to the corresponding Dolibarr compte type in the accounting module. This is a prerequisite phase — no transactional records load until the chart of accounts is validated.
daftra
Cost Centers
Dolibarr ERP
Project or Category
lossyDaftra Cost Centers (used for expense attribution across departments or projects) have no direct Dolibarr equivalent. We recommend mapping Cost Centers to Dolibarr Projects when the Project module is active, or to Product categories for expense reporting. The linking between Cost Centers and individual Daftra transactions requires field-level extraction and a join during the transform phase. We document the Cost Center logic and configure the chosen Dolibarr equivalent before migration.
daftra
Employees
Dolibarr ERP
User + HRM (Salary, Contract, Attendance)
1:1Daftra Employee records include organizational structure placement, contracts, attendance, and payroll time-series. We extract each payroll period as a separate record and map Employees to Dolibarr User accounts (for system access) plus HRM module records for contract and payroll data. Daftra's compensation history (time-series) stores as Note records or custom fields on the Dolibarr User for audit trail. Attendance records migrate as Note entries on the User or, if the HRM module attendance sub-module is active, to attendance records.
daftra
Assets
Dolibarr ERP
Asset (Immobilization)
1:1Daftra Fixed Assets map to Dolibarr Asset (Immobilization module). Asset depreciation schedules are extracted separately from the asset master record and configured as depreciation entries in Dolibarr. Custom fields on Daftra assets (added per-asset via the field builder) require enumeration during discovery and map to Dolibarr extrafields on the Asset object. Asset custom fields are a known gap if not enumerated before migration — values are silently dropped without a pre-migration field audit.
daftra
Work Orders
Dolibarr ERP
Project + Task
1:manyDaftra Work Orders link Clients, Employees, and Products and carry a full workflow stage history. Each Work Order maps to a Dolibarr Project, with the stage history preserved as Note records. Line items and employee assignments map to Dolibarr Task records attached to the Project. Any attached files or notes migrate as ContentDocument records linked to the Project via ContentDocumentLink.
daftra
Bookings/Reservations
Dolibarr ERP
Project or Work Order (no direct equivalent)
lossyDaftra Reservation Files (PNR-style booking management with status tracking and appointment scheduling) have no native Dolibarr equivalent. We recommend mapping Reservations to Dolibarr Projects with status fields and appointment scheduling implemented via the Project's task calendar. Alternatively, if the customer licenses a third-party Dolibarr booking module from the Dolibarr marketplace, we configure and map accordingly. We flag this as a configuration decision to make during scoping and document the chosen approach before migration.
daftra
Cheque Cycle
Dolibarr ERP
Bank Account + Various Payment
lossyDaftra's cheque cycle (issue, deposit, return stages) tied to the Chart of Accounts has no direct Dolibarr equivalent. We recommend mapping cheque records to Dolibarr Bank Account entries (Comptes bancaires) with payment type set to cheque, and the stage transitions recorded as Note entries on the bank account record. The reconciliation between cheque cycle stages and Dolibarr payment statuses requires a custom configuration documented during scoping.
daftra
Custom Fields
Dolibarr ERP
Extrafields
lossyDaftra supports custom fields independently on Invoices, Assets, and Workflows. There is no single schema export for all custom fields. We enumerate each object's custom field definitions via Daftra's UI during discovery, reading field type, required flag, and options list. We then configure corresponding Dolibarr extrafields before migration and map values during the data phase. Skipping enumeration results in custom field values being silently dropped — this is one of the highest-risk migration gaps for Daftra customers with heavily customized installations.
| daftra | Dolibarr ERP | Compatibility | |
|---|---|---|---|
| Clients | ThirdParty (Societe)1:1 | Fully supported | |
| Products | Product1:1 | Fully supported | |
| Invoices | Invoice (Facture)1:1 | Mapping required | |
| Expenses | ExpenseReport (HRM module)1:1 | Fully supported | |
| Chart of Accounts | Banking and Financial Account (Compte)lossy | Fully supported | |
| Cost Centers | Project or Categorylossy | Mapping required | |
| Employees | User + HRM (Salary, Contract, Attendance)1:1 | Mapping required | |
| Assets | Asset (Immobilization)1:1 | Mapping required | |
| Work Orders | Project + Task1:many | Fully supported | |
| Bookings/Reservations | Project or Work Order (no direct equivalent)lossy | Fully supported | |
| Cheque Cycle | Bank Account + Various Paymentlossy | Mapping required | |
| Custom Fields | Extrafieldslossy | 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.
daftra gotchas
API is not publicly documented
Custom fields are object-scoped and must be enumerated per object
Chart of Accounts export does not flatten sub-account hierarchy
Arabic character encoding requires normalization
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 API access coordination
We audit Daftra across all active modules (Clients, Products, Invoices, Expenses, Chart of Accounts, Cost Centers, Employees, Assets, Work Orders, Bookings, Custom Fields) and enumerate every custom field on Invoices, Assets, and Workflows via the UI. Simultaneously, we coordinate with Daftra's technical team to obtain API access credentials. This is the critical path item — if Daftra does not provide API access within two weeks, we pivot to a structured UI export approach with enhanced transform work. We also identify which Dolibarr modules are required to host each Daftra object and confirm the customer's chosen Dolibarr installation (self-hosted, VPS, or Dolibarr Cloud trial). The discovery output is a written migration scope, a field-level custom field audit, and a Dolibarr module activation checklist.
Schema design and Dolibarr module activation
We design the destination schema in the customer's Dolibarr instance. This includes activating the required Dolibarr modules (ThirdParty/Contacts, Products, Invoices, HRM, Accounting, Project, Asset, Bank), configuring the plan comptable from Daftra's reconstructed account hierarchy, and creating extrafields on all objects that receive custom field data. We create Cost Center equivalents (Project-based or Category-based per the scoping decision), configure Bookings workaround (Project with task calendar), and configure the Cheque workaround (Bank Account entries with payment type). All schema work deploys into the customer's staging or test Dolibarr instance before any data migration begins.
Arabic normalization and encoding standardization
We run all extracted Daftra data through an encoding normalization pipeline before any transform work. Arabic text is converted from Daftra's locale-specific encoding to UTF-8. Dates are normalized to ISO 8601 (YYYY-MM-DD) with explicit calendar resolution (Hijri dates converted to Gregorian equivalents or stored as separate custom fields depending on business requirements). Currency amounts in SAR are stored as numeric values without locale formatting. This pipeline runs as a pre-transform step so that downstream Dolibarr imports receive clean, standard-format data.
Chart of Accounts and hierarchical account loading
We reconstruct the Daftra Chart of Accounts hierarchy from the flat export by parsing account code prefixes to establish parent-child relationships. Accounts load into Dolibarr in account code order to respect posting sequence. Sub-account parent references are resolved before import. This phase validates before any transactional records load, because every Invoice, Expense, and Asset record in Daftra posts to an account code — if the chart of accounts is incomplete or misordered, transaction balances in Dolibarr will be incorrect. We produce a reconciliation report comparing the Daftra account count and balance totals against the loaded Dolibarr accounts before proceeding.
Staged migration in record-dependency order
We run migration into the customer's Dolibarr instance in dependency order: Chart of Accounts (prerequisite, validated), ThirdParty records (from Daftra Clients, with Contact child records), Products and Services, Invoices (with line items, taxes, and custom fields), Expenses (against validated chart of accounts), Employees and HRM records, Assets (with depreciation schedules), Work Orders (as Projects and Tasks), and Bookings (as Projects with custom configuration). Each phase emits a row-count reconciliation report. Custom fields migrate in the same phase as their parent object.
Cutover, validation, and workflow handoff
We freeze Daftra 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 module inventory documenting every active Daftra workflow, dynamic field configuration, and automation logic with a recommended Dolibarr equivalent. We do not rebuild Daftra workflows as Dolibarr workflows inside the migration scope. We support a one-week hypercare window for reconciliation issues. We do not provide post-migration admin support, training, or workflow rebuild as standard scope — these are separate engagements.
Platform deep dives
daftra
Source
Strengths
Weaknesses
Dolibarr ERP
Destination
Strengths
Weaknesses
Complexity grading
Standard ERP migration. All 8 core objects map 1:1 between daftra and Dolibarr ERP.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across daftra and Dolibarr ERP.
Object compatibility
All 8 core objects map 1:1 between daftra 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
daftra: Not publicly documented.
Data volume sensitivity
daftra 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 daftra to Dolibarr ERP migration scoping. Not seeing yours? Book a call.
Walk through your daftra 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 daftra
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.