ERP migration
Field-level mapping, validation, and rollback between JTL-Wawi and Dolibarr ERP. We move data and schema; workflows are rebuilt natively in Dolibarr ERP.
JTL-Wawi
Source
Dolibarr ERP
Destination
Compatibility
9 of 12
objects map 1:1 between JTL-Wawi and Dolibarr ERP.
Complexity
BStandard
Timeline
3-5 weeks
Overview
JTL-Wawi to Dolibarr is a structural migration for German e-commerce teams leaving JTL's Windows-first ecosystem for Dolibarr's PHP/MySQL stack. JTL-Wawi's Artikels (products), Kunden (customers), Aufträge (orders), Rechnungen (invoices), and Lagerbestände (stock) all have Dolibarr equivalents, but the mapping requires resolving Dolibarr's modular architecture: Dolibarr ships core CRM and invoicing modules but requires explicit activation of the Warehouse/Stock, BOM/Manufacturing, and Projects modules. We extract via JTL-Ameise CSV templates, transform JTL-specific data types (Variationskombinationen, Workflow states, Zusatzkosten) into Dolibarr's ExtraFields system, and load through Dolibarr's CSV import or REST API. JTL's multi-channel eBay and Amazon connectors (JTL-eazyAuction) have no Dolibarr equivalent; we document the reconnection plan for the customer's admin. JTL-Workflows, JTL-WMS pick-and-pack configuration, and custom SQL views (Benutzerdefinierte Ansichten) do not migrate as code; we deliver written inventories for manual rebuild. The primary migration risk is Dolibarr's post-update stability: we validate that the target Dolibarr instance is on a tested PHP and MySQL/MariaDB version combination before any data loads.
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 JTL-Wawi 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.
JTL-Wawi
Artikels (Items/Products)
Dolibarr ERP
Product
1:1JTL-Wawi Artikels map to Dolibarr Product records with type set to Product (not Service). The JTLArtikel.cArtNr (article number) maps to Product.ref; Artikelname maps to Product.label; Grundpreis (base price) maps to Product.price. Variationskombinatione (variant combinations) are decomposed into separate Product records or handled via Dolibarr's optional Variants module if the customer activates it. JTL custom fields (Eigene Felder) migrate to Dolibarr ExtraFields on Product. We export via JTL-Ameise Artikelstamm CSV template and import via Dolibarr's Products import tool or REST API.
JTL-Wawi
Kunden (Customers)
Dolibarr ERP
ThirdParty
1:1JTL-Wawi Kunden map to Dolibarr ThirdParty records with Type = Customer. The Kunden.kndNr (customer number) maps to ThirdParty.code; Name maps to ThirdParty.name; address fields map to standard address fields. Payment terms and customer-specific pricing from JTL map to Dolibarr's payment term and price level ExtraFields. Kunden with Lieferantenstatus = true also generate a corresponding Supplier ThirdParty if the customer uses Dolibarr's dual-role ThirdParty model. We export via JTL-Ameise Kunden export and import via Dolibarr's ThirdParty CSV import or API.
JTL-Wawi
Lieferanten (Suppliers/Vendors)
Dolibarr ERP
ThirdParty
1:1JTL-Wawi Lieferanten map to Dolibarr ThirdParty records with Type = Supplier. The Lieferanten.lfrNr maps to ThirdParty.code; Lieferantenname maps to ThirdParty.name. Einkaufspreise (purchase prices) from JTL map to Dolibarr Product Supplier Ref/Price entries via the Product-Linked Suppliers table. Rahmenbestellungen (framework purchase orders) do not have a direct Dolibarr equivalent and are documented as open PO records requiring manual re-entry in Dolibarr if they remain active at cutover.
JTL-Wawi
Aufträge (Sales Orders)
Dolibarr ERP
Order
1:1JTL-Wawi Aufträge map to Dolibarr Order records. The Auftrag.angNr (order number) maps to Order.ref; Auftrag_erstellt/bezahlt/ausgeliefert status maps to Dolibarr status values (Draft, Validated, Shipped, Closed). Order date and delivery date migrate. Line items reference Artikels via Product ref lookup. Partial shipment handling is preserved through multiple Order line items or by splitting into separate Dolibarr shipments. We export via JTL-Ameise Aufträge export template and import via Dolibarr Orders import.
JTL-Wawi
Rechnungen (Invoices)
Dolibarr ERP
Invoice
1:1JTL-Wawi Rechnungen map to Dolibarr Invoice records with type = Customer Invoice. Rechnungsnummer maps to Invoice.ref; invoice date and due date migrate. Line items carry tax calculations from JTL; tax codes map to Dolibarr VAT rate ExtraFields. Regional VAT configurations (19% Germany, 20% Austria, etc.) require field-level mapping during transform. JTL's Rechnungen export template does not include archived PDF content; we flag that invoice PDFs must be exported separately from JTL's document archive and re-imported into Dolibarr's document management.
JTL-Wawi
Lagerbestände (Inventory/Warehouse Stock)
Dolibarr ERP
Stock
1:1JTL-Wawi Lagerbestände map to Dolibarr Stock (Warehouse) records. Aktuelle Bestände (current stock) per Lager (warehouse) map to Dolibarr stock_warehouse_product entries. Pending reservations migrate as open stock movement records if the customer activates Dolibarr's Stock module. Dolibarr warehouse locations map to JTL Lager locations. If the customer uses multiple Lager in JTL, we configure corresponding warehouses in Dolibarr before stock import. Stock snapshot is taken at migration cutover time to avoid mid-migration discrepancies.
JTL-Wawi
Versand (Shipping/Package Export)
Dolibarr ERP
Shipment
1:1JTL-Wawi Versand data (DPD, Hermes, iloxx exports) maps to Dolibarr Shipment records if the customer activates Dolibarr's Expedition (Shipment) module. Tracking IDs are stored in Dolibarr's shipment tracking field. Note: Dolibarr has no native carrier-specific label printing; DPD/Hermes/iloxx integrations require re-establishment post-migration via Dolibarr's carrier module configuration or third-party shipping modules. We export JTL shipping export templates and import tracking IDs into Dolibarr Shipment records but do not rebuild carrier API credentials.
JTL-Wawi
Zusatzkosten (Additional Costs on A/P Invoices)
Dolibarr ERP
Supplier Invoice ExtraFields
1:1JTL-Wawi Zusatzkosten (transport, customs, duties on Lieferantenbestellungen) are named cost types per purchase order. Dolibarr has no native Zusatzkosten equivalent; we map these to ExtraFields on Supplier Invoice (lignes_facture_fournisseur) with cost type categories (Transport, Customs, Duties) defined during schema setup. The customer's admin assigns cost type values post-migration.
JTL-Wawi
JTL-Workflows (Automated Workflows)
Dolibarr ERP
N/A (documentation only)
lossyJTL-Workflows define event-condition-action chains (e.g., Auftrag created -> send email -> update status). Dolibarr core has no native workflow automation engine. We document all active JTL-Workflows during scoping with their triggers, conditions, and actions, and deliver a written workflow audit report for the customer's admin to evaluate third-party Dolibarr workflow modules (e.g., module_workflowmanagers or custom PHP development). Workflows do not migrate as code.
JTL-Wawi
JTL-Connector Links (Shopware, PrestaShop, etc.)
Dolibarr ERP
N/A (reconnection required)
lossyJTL-Connector links between JTL-Wawi and Shopware, PrestaShop, or WooCommerce synchronize Artikels and Aufträge in real time. Dolibarr has no JTL-Connector equivalent and no native Shopware or PrestaShop integration in core. We deliver a connector audit document listing all active storefront connections, their sync scope (items, orders, customers), and recommended Dolibarr alternatives (Dolibarr's WooCommerce module, custom API integration, or a middleware like Celigo). The customer reconnects storefronts post-migration with our documented specification.
JTL-Wawi
JTL-WMS (Warehouse Management)
Dolibarr ERP
Stock + documentation
1:1JTL-WMS Arbeitsstationen (workstations) and Packtisch-Konfiguration (packing table settings) are JTL-WMS-specific and not exposed via JTL-Wawi REST API or JTL-Ameise exports. We extract what is available via JTL-Ameise exports (stock levels, pending shipments) and document the JTL-WMS configuration in a separate WMS audit report. Pick-and-pack workflows, pack station assignments, and worker management settings cannot be migrated and require manual rebuild in the destination WMS or Dolibarr's optional warehouse module.
JTL-Wawi
Benutzerdefinierte Ansichten (Custom SQL Views)
Dolibarr ERP
N/A (documentation only)
lossyCustom SQL views in JTL-Wawi 'Eigene Übersichten' are stored in the JTL-Wawi database and are not exposed via API or standard export. We flag these during scoping and recommend manual documentation by the customer's database administrator. These views reference JTL-specific table structures that will not exist in Dolibarr and require complete rewrite against Dolibarr's llx_* table schema.
| JTL-Wawi | Dolibarr ERP | Compatibility | |
|---|---|---|---|
| Artikels (Items/Products) | Product1:1 | Fully supported | |
| Kunden (Customers) | ThirdParty1:1 | Fully supported | |
| Lieferanten (Suppliers/Vendors) | ThirdParty1:1 | Mapping required | |
| Aufträge (Sales Orders) | Order1:1 | Fully supported | |
| Rechnungen (Invoices) | Invoice1:1 | Mapping required | |
| Lagerbestände (Inventory/Warehouse Stock) | Stock1:1 | Fully supported | |
| Versand (Shipping/Package Export) | Shipment1:1 | Mapping required | |
| Zusatzkosten (Additional Costs on A/P Invoices) | Supplier Invoice ExtraFields1:1 | Mapping required | |
| JTL-Workflows (Automated Workflows) | N/A (documentation only)lossy | Mapping required | |
| JTL-Connector Links (Shopware, PrestaShop, etc.) | N/A (reconnection required)lossy | Mapping required | |
| JTL-WMS (Warehouse Management) | Stock + documentation1:1 | Mapping required | |
| Benutzerdefinierte Ansichten (Custom SQL Views) | N/A (documentation only)lossy | Not 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.
JTL-Wawi gotchas
SCX API per-endpoint rate limits return HTTP 429
UNC paths required for all file-based imports and exports
JTL Cloud hosting discontinued forces third-party RDP reliance
Incomplete English documentation with untranslated content
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 JTL-Wawi data audit
We audit the source JTL-Wawi instance across all active modules (Wawi core, WMS if present, eazyAuction, JTL-Shop if connected), count Artikels (including Variationskombinatione), Kunden, Lieferanten, Aufträge (with status breakdown), Rechnungen (open vs. paid), and Lagerbestände per Lager. We document active JTL-Workflows, JTL-Connector storefront links, and Benutzerdefinierte Ansichten custom SQL views. We also assess the current hosting arrangement (third-party RDP provider or self-hosted) to confirm database access method. The discovery output is a written migration scope with object counts, a JTL-Workflow audit, and a JTL-Connector audit.
Dolibarr instance provisioning and module activation
We provision or validate the target Dolibarr instance on a tested PHP and MySQL/MariaDB version combination. We activate the required Dolibarr modules based on the migration scope: ThirdParty (always), Product (always), Order, Invoice, Stock (Warehouse), and optionally BOM/Manufacturing, Projects, or Contracts. We configure multi-language settings, country-specific tax rules (Germany 19%, Austria 20%, Switzerland 7.7%), and Dolibarr's ExtraFields schema to receive JTL custom field data. We validate Dolibarr CSV import behavior with a sample import before the full load.
JTL-Ameise CSV export and staging import
We configure JTL-Ameise export templates with UTF-8 encoding and semicolon delimiters for all core objects: Artikelstamm, Kunden, Lieferanten, Aufträge, Rechnungen, and Lagerbestände. We export to a dedicated UNC path accessible from the migration workstation. For each object, we run a staging import into a Dolibarr test instance, validate field mapping alignment, flag any encoding or delimiter issues, and correct the transform before the production migration. If JTL-WMS is present, we document the WMS-specific exports separately for manual review.
ThirdParty split and Supplier mapping
We process JTL Kunden and Lieferanten records into Dolibarr ThirdParty objects. Any JTL Kunden record with Lieferantenstatus = true generates a single dual-type ThirdParty (Customer + Supplier) in Dolibarr. Customer numbers (kndNr) map to ThirdParty.code; supplier numbers (lfrNr) also map to ThirdParty.code with a prefix (e.g., SUP-) to avoid code collision. Einkaufspreise (purchase prices) are loaded as Product Supplier Ref entries linked to the relevant Product records. We resolve duplicate detection using company name and email address as dedupe keys.
Production migration in dependency order
We run production migration in record-dependency order: ThirdParties (first, because they are referenced by Orders and Invoices), Products (referenced by Order and Invoice lines), Stock (Warehouse module activated first), Orders, Invoices, and then Lagerbestände stock levels. Zusatzkosten are mapped to Invoice ExtraFields after base invoice lines are loaded. Versand tracking IDs are imported as Shipment records after Orders. Each phase emits a row-count reconciliation report showing source count, imported count, skipped (duplicate), and error rows before the next phase begins.
Cutover, validation, and workflow handoff
We freeze JTL-Wawi writes during cutover, run a final delta migration of any records modified during the migration window, then mark Dolibarr as the system of record. We validate 25-50 randomly selected records against the JTL-Wawi source across each object type. We deliver the JTL-Workflow audit, JTL-Connector audit, JTL-WMS configuration documentation, and Benutzerdefinierte Ansichten inventory to the customer's admin team. We support a one-week hypercare window for reconciliation issues. We do not rebuild JTL-Workflows, marketplace connectors, or WMS pick-and-pack configuration inside the migration scope; those are separate engagements.
Platform deep dives
JTL-Wawi
Source
Strengths
Weaknesses
Dolibarr ERP
Destination
Strengths
Weaknesses
Complexity grading
Standard ERP migration. All 8 core objects map 1:1 between JTL-Wawi and Dolibarr ERP.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across JTL-Wawi and Dolibarr ERP.
Object compatibility
All 8 core objects map 1:1 between JTL-Wawi 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
JTL-Wawi: Per-endpoint rate limits enforced; HTTP 429 returned on exceed (specific limits not publicly documented).
Data volume sensitivity
JTL-Wawi 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 JTL-Wawi to Dolibarr ERP migration scoping. Not seeing yours? Book a call.
Walk through your JTL-Wawi 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 JTL-Wawi
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.