ERP migration
Field-level mapping, validation, and rollback between WINLine and Dolibarr ERP. We move data and schema; workflows are rebuilt natively in Dolibarr ERP.
WINLine
Source
Dolibarr ERP
Destination
Compatibility
13 of 14
objects map 1:1 between WINLine and Dolibarr ERP.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from WINLine to Dolibarr is a migration from a proprietary Australian desktop ERP with file-based storage to an open-source modular PHP/MySQL platform. WINLine Classic stores data in flat-file formats that require vendor-assisted or direct file-structure export before any relational mapping is possible. Dolibarr, by contrast, runs on a standard MySQL or MariaDB database with a documented schema and a built-in CSV-based import wizard for mass data loading. We extract WINLine data via the available export routines or direct file access, normalize it into structured CSV files mapped against Dolibarr's llx_ prefixed tables, and push through Dolibarr's native Import module or direct SQL inserts for larger volumes. BOM versioning, cost center assignments, and inventory valuation methods require explicit customer confirmation before mapping. Dolibarr's modular architecture means manufacturing, project management, and CRM features must be explicitly activated; we flag any records that depend on inactive modules before loading. We do not migrate workflows, automations, or custom report definitions as code.
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 WINLine 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.
WINLine
Chart of Accounts
Dolibarr ERP
llx_accounting_account
1:1WINLine's G/L account codes, cost center assignments, and Australian tax codes map to Dolibarr's llx_accounting_account table. Account number maps to account_number, label to label, parent account to蛙(parent), and tax code to vat_reverse_charge_subject. We extract from WINLine's flat-file account masters and generate INSERT statements or CSV for Dolibarr's accounting module import profile. Cost center mapping requires customer confirmation on whether cost centers map to Dolibarr's cost center module or to sub-account structure.
WINLine
Customer
Dolibarr ERP
llx_societe (with Typent = 'C')
1:1WINLine customer records (billing addresses, payment terms, credit limits, currency) map to Dolibarr's llx_societe table with typent = 'C' for customer. Customer name becomes nom. We use company name as the dedupe key during import. Payment terms map to cond_reglement_id (looked up from llx_conditions_reglement), and credit limits map to invoice_maximum. Billing address maps to address, zip to zip, town to town, and country to pays.
WINLine
Vendor
Dolibarr ERP
llx_societe (with Typent = 'F')
1:1WINLine vendor master data maps to Dolibarr's llx_societe table with typent = 'F' for supplier. Tax registration numbers map to siret or siren depending on Australian vs French context (flag for customer review). Bank account info maps to rib fields. Vendor name becomes nom with vendor name as dedupe key.
WINLine
Open AP / AR
Dolibarr ERP
llx_facture + llx_paiement + llx_paiement_facture
1:1Outstanding WINLine invoices, credit memos, and payment records map to Dolibarr's invoice tables. Open items with invoice numbers, amounts, due dates, and aging buckets push as open transaction records in Dolibarr (facture = 'open' status). We extract aging buckets from WINLine's aged payable/receivable report and create matching records with due dates preserved. Partial payments link through llx_paiement_facture. Customer invoices use facnumber as external reference.
WINLine
Item / Product
Dolibarr ERP
llx_product
1:1WINLine Items (SKU, description, unit of measure, cost price, sell price) map to Dolibarr's llx_product. ref maps to ref, label to label, unit to unit, cost price to cost_price, and sell price to price. The inventory valuation method (FIFO or average cost) must be confirmed with the customer before mapping because Dolibarr's MRP module handles this differently than WINLine's native inventory valuation.
WINLine
Fixed Asset
Dolibarr ERP
llx_asset + llx_asset_depreciation
1:1WINLine asset registers (acquisition date, cost, accumulated depreciation, useful life) map to Dolibarr's llx_asset and llx_asset_depreciation tables. Acquisition date becomes date_achat, net book value becomes px_devise, and depreciation method maps to accounting_asset_account for the depreciation journal. We recalculate remaining depreciation schedule against Dolibarr's accounting entries, flagging any discrepancies for customer review before finalizing.
WINLine
Sales Order / Quote
Dolibarr ERP
llx_propal + llx_commandefournisseur
1:1WINLine sales orders and quotes map to Dolibarr's llx_propal (proposals) and llx_commande (customer orders). Open orders migrate as propal status 'opened' or 'signed' and closed orders as historical records. Line items map to llx_propaldet with product reference, quantity, and unit price resolved against the imported product catalog.
WINLine
Inventory / Stock
Dolibarr ERP
llx_product_stock + llx_entrepot
1:1WINLine stock levels by warehouse location map to Dolibarr's llx_product_stock linked to llx_entrepot (warehouses). Current quantities per warehouse migrate with reel as the stock quantity. We flag any negative stock, discrepant counts, or obsolete items during extraction for customer reconciliation before loading into Dolibarr's warehouse inventory module.
WINLine
BOM / Bill of Materials
Dolibarr ERP
llx_mrp_production + llx_mrp_bom
1:1WINLine's Bill of Materials with version history and effective dates map to Dolibarr's llx_mrp_bom and llx_mrp_production tables. The active BOM version at cutover date must be identified from WINLine's versioning metadata; we flag any BOMs with pending revisions for customer review before migration. Production orders map to llx_mrp_production with qty and status preserved. Dolibarr's MRP module must be activated in the destination before this object type can be loaded.
WINLine
Production Order
Dolibarr ERP
llx_mrp_production
1:1WINLine work orders map to Dolibarr's llx_mrp_production. We extract production order status, quantity, and the parent BOM reference. Work order dates migrate as scheduled start and end dates. If WINLine tracks sub-assemblies or multi-level BOMs, we flatten them or flag multi-level resolution for customer confirmation.
WINLine
Contact / Person
Dolibarr ERP
llx_socpeople
1:1WINLine contact persons linked to customers or vendors map to Dolibarr's llx_socpeople (third-party people). firstname, lastname, phone, email, and role map to the corresponding Dolibarr fields. We link each contact to the parent llx_societe via fk_soc. Role or job title maps to poste.
WINLine
Document / Attachment
Dolibarr ERP
ContentDocument or file system
1:1WINLine's document archive linked to transactions and master records is extracted as binary files and re-attached in Dolibarr's document management. Dolibarr stores documents in the documents directory tied to the object type and ID. We create the directory structure and link files to the migrated record IDs post-load. Binary attachments are exported as-is and re-uploaded; we do not parse internal WINLine document metadata.
WINLine
Project / Project Task
Dolibarr ERP
llx_projet + llx_projet_task
1:1WINLine project management data maps to Dolibarr's llx_projet and llx_projet_task tables. If WINLine tracks time against projects, we map project tasks and any time entries. Dolibarr's project module must be activated for this object type. Project status maps from WINLine's project state field.
WINLine
Custom Fields / Extended Properties
Dolibarr ERP
llx_extrafields + dolibarr_customfields
lossyWINLine extended flat-file columns map to Dolibarr's extrafields system (llx__extrafields) or the CustomFields module if the customer uses it. Each WINLine extended property requires a new extrafields definition in Dolibarr before data can be inserted. We document every custom field found in WINLine's schema and recreate each as a Dolibarr extrafields entry with matching data type (string, int, date, select, etc.) during the schema design phase.
| WINLine | Dolibarr ERP | Compatibility | |
|---|---|---|---|
| Chart of Accounts | llx_accounting_account1:1 | Mapping required | |
| Customer | llx_societe (with Typent = 'C')1:1 | Fully supported | |
| Vendor | llx_societe (with Typent = 'F')1:1 | Fully supported | |
| Open AP / AR | llx_facture + llx_paiement + llx_paiement_facture1:1 | Fully supported | |
| Item / Product | llx_product1:1 | Fully supported | |
| Fixed Asset | llx_asset + llx_asset_depreciation1:1 | Fully supported | |
| Sales Order / Quote | llx_propal + llx_commandefournisseur1:1 | Fully supported | |
| Inventory / Stock | llx_product_stock + llx_entrepot1:1 | Mapping required | |
| BOM / Bill of Materials | llx_mrp_production + llx_mrp_bom1:1 | Fully supported | |
| Production Order | llx_mrp_production1:1 | Fully supported | |
| Contact / Person | llx_socpeople1:1 | Fully supported | |
| Document / Attachment | ContentDocument or file system1:1 | Fully supported | |
| Project / Project Task | llx_projet + llx_projet_task1:1 | Fully supported | |
| Custom Fields / Extended Properties | llx_extrafields + dolibarr_customfieldslossy | 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.
WINLine gotchas
WinLine Classic uses flat-file database storage
No publicly documented REST API for WinLine Classic
BOM and production order versioning
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
WINLine data extraction and schema audit
We work with the customer's IT team or Software Mechanics to extract clean data from WINLine using available export routines or direct file access. We audit the flat-file schemas to identify all record types, extended columns, and cross-record references. The extraction produces structured CSV or SQL dumps for each object type: account masters, customer/vendor records, open AP/AR items, products, inventory quantities, BOM structures, work orders, and fixed asset registers. Any data quality issues (missing required fields, duplicate names, invalid dates) are flagged in a pre-migration data quality report for customer resolution before extraction is considered complete.
Dolibarr environment provisioning and module activation
We provision a Dolibarr instance (self-hosted or DoliCloud) with the modules needed for the migration scope: accounting, third-party management (customers/vendors), products, stock/inventory, BOM/MRP, projects, and the Imports module. We configure base settings including country (Australia), currency (AUD), date format, and the Chart of Accounts structure. We create any extrafields definitions identified in the WINLine audit before any data is loaded, because extrafields must exist before INSERT statements can populate them.
Schema mapping design and customer validation
We design the full mapping from WINLine objects to Dolibarr tables, including field-level transforms (date format normalization, currency handling, cost center logic, BOM version selection). We deliver a written mapping document for customer sign-off before any load begins. Any ambiguous mappings (for example, multi-level BOMs, non-standard cost center structures, or custom fields with unclear data types) are resolved during this step. We also confirm which Dolibarr modules are active because inactive modules mean their tables do not exist in the schema.
Chart of Accounts and fixed asset load
We load the Chart of Accounts first because account numbers are referenced by most other financial records. We generate the accounting account import file with account codes, labels, parent relationships, and tax configuration mapped from WINLine's COA. Fixed asset registers load next with acquisition details, cost, accumulated depreciation, and useful life recalculated against Dolibarr's depreciation schedule. Each load phase emits a row-count reconciliation report against the extraction totals.
Master data and transactional record load
We load customers and vendors into llx_societe with the typent distinction (C vs F), followed by contact persons (llx_socpeople) linked to their parent company. Products load into llx_product with price and unit data. Open AP/AR items load with invoice numbers and due dates, followed by sales orders and quotes. Inventory quantities load per warehouse. Each phase runs in dependency order with reconciliation reports between phases. If Dolibarr's MRP module is active, BOM structures and production orders load last.
Cutover, validation, and automation inventory handoff
We freeze WINLine writes during cutover and run a final delta migration of any records modified during the migration window. We validate record counts, spot-check field-level accuracy against WINLine source records, and confirm that linked records (contacts to companies, invoices to customers, BOMs to products) resolve correctly in Dolibarr. We deliver a written inventory of any WINLine workflows, automations, or custom reports that cannot migrate as code, with a rebuild checklist for the customer's admin team. We do not rebuild automations inside the migration scope.
Platform deep dives
WINLine
Source
Strengths
Weaknesses
Dolibarr ERP
Destination
Strengths
Weaknesses
Complexity grading
Standard ERP migration. 3 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 WINLine and Dolibarr ERP.
Object compatibility
3 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
WINLine: Not publicly documented.
Data volume sensitivity
WINLine 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 WINLine to Dolibarr ERP migration scoping. Not seeing yours? Book a call.
Walk through your WINLine 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 WINLine
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.