ERP migration

Migrate from JTL-Wawi to Dolibarr ERP

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 logo

JTL-Wawi

Source

Dolibarr ERP

Destination

Dolibarr ERP logo

Compatibility

75%

9 of 12

objects map 1:1 between JTL-Wawi and Dolibarr ERP.

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

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.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

JTL-Wawi logo

JTL-Wawi

What's pushing teams away

  • Support costs escalate significantly when issues require Bronze or Silver tier assistance, and the tariff model means simple questions can become billable support tickets.
  • English documentation remains incomplete with many pages still showing German screenshots and links, creating friction for non-German-speaking administrators.
  • Cloud hosting was discontinued by JTL, forcing customers to either self-host on-premises or find third-party RDP providers, disrupting existing deployment patterns.
  • Customer satisfaction scores are modest (G2 3.8, Trustpilot 2.4) with reviewers citing feature gaps and support responsiveness as recurring frustrations.

Choosing

Dolibarr ERP logo

Dolibarr ERP

What's pulling them in

  • Free open-source core with no per-user license fee makes it the lowest-cost entry point for small teams needing ERP and CRM in one package.
  • Self-hosted deployment gives full data ownership and eliminates vendor lock-in, especially attractive to businesses with compliance requirements.
  • Modular architecture means teams enable only the features they use, keeping the interface uncluttered and reducing learning curve.
  • Fast installation with no technical knowledge required — one reviewer set up multiple businesses in minutes using their own hosting.
  • Active community forum and marketplace of third-party add-ons provide support and extension options without mandatory subscription costs.

Object mapping

How JTL-Wawi objects map to Dolibarr ERP

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)

maps to

Dolibarr ERP

Product

1:1
Fully supported

JTL-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)

maps to

Dolibarr ERP

ThirdParty

1:1
Fully supported

JTL-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)

maps to

Dolibarr ERP

ThirdParty

1:1
Mapping required

JTL-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)

maps to

Dolibarr ERP

Order

1:1
Fully supported

JTL-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)

maps to

Dolibarr ERP

Invoice

1:1
Mapping required

JTL-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)

maps to

Dolibarr ERP

Stock

1:1
Fully supported

JTL-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)

maps to

Dolibarr ERP

Shipment

1:1
Mapping required

JTL-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)

maps to

Dolibarr ERP

Supplier Invoice ExtraFields

1:1
Mapping required

JTL-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)

maps to

Dolibarr ERP

N/A (documentation only)

lossy
Mapping required

JTL-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.)

maps to

Dolibarr ERP

N/A (reconnection required)

lossy
Mapping required

JTL-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)

maps to

Dolibarr ERP

Stock + documentation

1:1
Mapping required

JTL-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)

maps to

Dolibarr ERP

N/A (documentation only)

lossy
Not supported

Custom 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.

Gotchas + challenges

What specifically takes care here

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 logo

JTL-Wawi gotchas

Medium

SCX API per-endpoint rate limits return HTTP 429

High

UNC paths required for all file-based imports and exports

High

JTL Cloud hosting discontinued forces third-party RDP reliance

Low

Incomplete English documentation with untranslated content

Dolibarr ERP logo

Dolibarr ERP gotchas

High

Foreign key constraint errors on cross-distribution database restore

High

SQL injection vulnerabilities in version 9.0.1

Medium

Custom fields stored as JSON in extraoptions require field-by-field deserialization

Medium

Decimal precision and rounding configuration affects price fields

Low

No native iOS/Android app forces reliance on browser

Pair-specific challenges

  • Dolibarr post-update stability requires PHP and MySQL version validation

    Dolibarr is known for post-update issues including blank screens, broken PDF generation, module conflicts, and database migration errors (e.g., key length errors on MariaDB 10.1 with utf8mb4). The Dolibarr GitHub issue #16315 documents a MySQL key length migration failure after upgrading to 13.0.1. We validate the target Dolibarr instance on a tested PHP version (7.4 or 8.x per Dolibarr requirements) and MySQL/MariaDB combination before any data migration begins, and we run migrations in a staging copy first. Updating on production without testing can corrupt the data model.

  • Dolibarr's modular architecture requires explicit activation before data loads

    Dolibarr ships with the CRM and invoicing modules active but leaves Warehouse (Stock), BOM/Manufacturing, Projects, HR (Holidays, Expenses), and Contracts as optional modules that must be explicitly activated under Home -> Setup -> Modules. If the customer needs Lagerbestände migration and the Warehouse module is not activated before stock import, stock records cannot be created. We include a Dolibarr module activation checklist in the migration plan and verify module state before each object-phase migration begins.

  • JTL-Ameise CSV encoding and delimiter mapping to Dolibarr import format

    JTL-Ameise exports CSV files with German locale settings (semicolon delimiters, Windows-1252 or UTF-8 with BOM depending on JTL version). Dolibarr's CSV importer accepts UTF-8 with comma or semicolon delimiters but may misinterpret Windows-1252 encoding as Latin-1. We normalize all JTL-Ameise exports to UTF-8 with explicit delimiter configuration before Dolibarr import, and we validate field alignment by running a 10-row sample import in the Dolibarr staging instance before the full load.

  • Dolibarr lacks native multi-channel marketplace connectors

    JTL-Wawi's JTL-eazyAuction and JTL-Connector ecosystem provide native integration with eBay, Amazon, and 30+ marketplaces. Dolibarr core has no marketplace connector. Teams relying on automated eBay or Amazon order import and item synchronization will need to re-establish these connections through Dolibarr's third-party modules (e.g., WooCommerce module for WordPress-based stores) or custom API development. We do not build marketplace connectors; we document the current JTL-Connector scope and recommend a reconnection approach for each active marketplace.

  • Dolibarr's ThirdParty model conflates customers and suppliers in one object

    JTL-Wawi maintains separate Kunden (customers) and Lieferanten (suppliers) object classes. Dolibarr uses a single ThirdParty object with a Type field (Customer, Supplier, or both). We resolve this during scoping: if a JTL Kunden record also has supplier status, we create a single ThirdParty with both customer and supplier types rather than duplicate records. The mapping notes document which JTL records require dual-type ThirdParty creation.

Migration approach

Six steps for a successful JTL-Wawi to Dolibarr ERP data migration

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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

Context on both ends of the pair

JTL-Wawi logo

JTL-Wawi

Source

Strengths

  • Integrated multi-channel selling across eBay, Amazon, and custom storefronts via JTL-Connector ecosystem.
  • Automated workflow engine (JTL-Workflows) reduces manual tasks using event-driven process chains.
  • JTL-Ameise provides CSV-based import/export for all core business objects without requiring API access.
  • Active German e-commerce partner network with certified service partners and 72,000-post community forum.
  • RDP-based hosting option eliminates on-premises Windows server maintenance for small teams.

Weaknesses

  • English documentation is incomplete with German-language screenshots persisting even on translated pages.
  • Support model transitioned to paid tiers, making basic issues potentially billable under Bronze or Silver plans.
  • No standalone cloud offering from JTL itself forces customers to third-party RDP providers.
  • Modest review scores (G2 3.8, Trustpilot 2.4) reflect ongoing customer satisfaction concerns.
  • JTL-Connector ecosystem is tightly coupled to JTL-Wawi, making cross-platform migrations more complex.
Dolibarr ERP logo

Dolibarr ERP

Destination

Strengths

  • Free core software with AGPL license and no per-user mandatory fee for self-hosted deployments.
  • Modular architecture lets teams activate only needed features, keeping the interface focused and the database lean.
  • Self-hosted option provides full data sovereignty and avoids recurring SaaS subscription costs.
  • Built-in CSV/Excel import and export wizard with saved profiles simplifies recurring data operations.
  • Low-code Module Builder allows functional extensions without writing PHP code.

Weaknesses

  • No native documented REST API for programmatic bulk operations — all migrations depend on the import/export wizard or direct database access.
  • Reporting and analytics are weak without paid add-ons, and built-in charts are limited compared to modern SaaS platforms.
  • UI design is described as dated by multiple reviewers, with infrequent visual updates to the default theme.
  • Community-only support for self-hosted deployments means no SLA or guaranteed response time for issues.
  • Security vulnerabilities (CVE-2024-5314, CVE-2024-5315) in version 9.0.1 with no immediate patch reported.

Complexity grading

How hard is this migration?

Standard ERP migration. All 8 core objects map 1:1 between JTL-Wawi and Dolibarr ERP.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across JTL-Wawi and Dolibarr ERP.

  • Object compatibility

    A

    All 8 core objects map 1:1 between JTL-Wawi and Dolibarr ERP.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    8-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    JTL-Wawi: Per-endpoint rate limits enforced; HTTP 429 returned on exceed (specific limits not publicly documented).

  • Data volume sensitivity

    B

    JTL-Wawi doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your JTL-Wawi to Dolibarr ERP migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about JTL-Wawi to Dolibarr ERP data migrations

Answers to the questions buyers ask most during JTL-Wawi to Dolibarr ERP migration scoping. Not seeing yours? Book a call.

Can't find your answer?

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 consultation

Migrations under 10,000 Artikels, 3,000 Kunden, and 2,000 Aufträge with no JTL-WMS data complete in three to five weeks. Migrations with JTL-WMS pick-and-pack configuration, Dolibarr BOM/Manufacturing module, large Lagerbestände snapshots (over 50,000 stock rows), or multi-warehouse structures extend to eight to twelve weeks because of warehouse schema design, BOM routing, and Dolibarr post-update validation in staging. The JTL-Ameise export preparation and Dolibarr module activation add one to two weeks of setup before any data moves.

Adjacent paths

Related migrations to explore

Ready when you are

Move from JTL-Wawi.
Land in Dolibarr ERP, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day