ERP migration
Field-level mapping, validation, and rollback between JTL-Wawi and Acumatica. We move data and schema; workflows are rebuilt natively in Acumatica.
JTL-Wawi
Source
Acumatica
Destination
Compatibility
11 of 12
objects map 1:1 between JTL-Wawi and Acumatica.
Complexity
BStandard
Timeline
7–14 days
Overview
JTL-Wawi is a merchandise-management system (Warenwirtschaftssystem) purpose-built for German-speaking e-commerce operators — it manages items with marketplace-specific connectors to eBay, Amazon, Otto, and Kaufland via JTL-eazyAuction, plus internal order and inventory workflows. Acumatica is a cloud ERP with a multi-entity, module-based architecture covering Financial Management, Inventory and Order Management, CRM, and Project Accounting. The migration carries all standard JTL objects — items, customers, companies, orders, purchase orders, delivery notes, invoices, and stock quantities — into Acumatica's DAC-based schema. The primary structural challenges are mapping JTL's flat product-attribute JSON blobs into Acumatica's attributes system, resolving JTL's single-warehouse-per-installation model against Acumatica's multi-warehouse structure, and handling JTL's internal order-number sequences in Acumatica's document reference fields. Workflows, label templates, shipping configurations, and JTL-Connectors have no direct Acumatica equivalents — FlitStack exports their definitions as a rebuild reference for your Acumatica administrator. We extract data via JTL's export APIs (JTL-DataTransfer CSV and direct database access), transform and validate against Acumatica's schema constraints, then load through Acumatica's import framework with a field-level diff before committing the full run.
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 Acumatica, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
JTL-Wawi
Artikel (Item)
Acumatica
InventoryItem (Stock Item) + Non-Stock Item
1:1JTL items map directly to Acumatica StockItem (for physical goods held in inventory) or NonStockItem (for dropship or service items). We preserve the JTL item internal ID as RefNbr for traceability. Items flagged as 'Stücklist' (bill of materials) in JTL require Acumatica's BOM module to be enabled and configured by your Acumatica admin before migration runs.
JTL-Wawi
Artikel.Eigenschaften (Item Attributes JSON)
Acumatica
CSAttribute + InventoryItem row
1:1JTL stores item attributes as a JSON column (Eigenschaften) per article containing key-value pairs like {color: red, size: XL, material: cotton}. We parse this JSON and create one Acumatica CSAttributeGroup entry per JTL attribute group, then link each parsed attribute to the corresponding InventoryItem row. Attributes with pick-list values in JTL become CSAttributeDefinition entries with predefined options in Acumatica.
JTL-Wawi
Kunde (Customer)
Acumatica
BQLocation + Contact
many:1JTL customer records contain both person-level and company-level data in a single record. We split this into Acumatica's BusinessAccount (company information, TaxRegistration IDs) as the parent and Contact (first name, last name, email, phone) as the child. JTL's delivery addresses become additional BQLocation records on the BusinessAccount with the IsDefaultBilling and IsDefaultShipping flags set per JTL address type.
JTL-Wawi
Firma (Company/JTL)
Acumatica
BusinessAccount
1:1JTL's Firmen table (company-level records used when JTL customer is a business entity) maps directly to Acumatica BusinessAccount with the AccountType = 'Customer' or 'Vendor' set based on JTL's firm type flag. Tax registration numbers from JTL's Steuernummer field migrate to the TaxRegistration collection on BusinessAccount.
JTL-Wawi
Auftrag (Sales Order)
Acumatica
SOOrder + SOLine
1:1JTL sales orders (Auftrag) migrate as Acumatica SOOrder records with the status mapped based on JTL's order status: 'Offen' (open) → SOOrderStatus.Open, 'Bezahlt' (paid) → SOOrderStatus.Completed, 'Storniert' → SOOrderStatus.Cancelled. Order lines map to SOLine with InventoryID resolved from the JTL article reference. JTL's internal order number is stored as an extended field (UsrJTLOrderNbr__) for reconciliation.
JTL-Wawi
Lieferschein (Delivery Note)
Acumatica
SOShipment
1:1JTL delivery notes (Lieferschein) created from shipped orders map to Acumatica SOShipment records. The shipment links to the corresponding SOOrder via the OrderNbr field. Carrier and tracking information from JTL's Versanddienstleister field migrates to SOShipment.ShipVia and SOShipment.TrackingNumber respectively. Multiple Lieferschein for a single Auftrag in JTL create multiple SOShipment records in Acumatica.
JTL-Wawi
Rechnung (Invoice / AR Invoice)
Acumatica
ARInvoice
1:1JTL invoices (Ausgangsrechnung) migrate to Acumatica ARInvoice. Tax amounts from JTL's MwSt (VAT) breakdown are preserved in ARTran tax fields. JTL's payment status (Zahlstatus) maps to ARInvoice.Status: unpaid → ARInvoiceStatus.Open, paid → ARInvoiceStatus.Closed. Where JTL tracks partial payments, we create multiple ARPayment records linked to the ARInvoice.
JTL-Wawi
Bestellung (Purchase Order)
Acumatica
POOrder + POLine
1:1JTL purchase orders (Bestellung) migrate to Acumatica POOrder. Supplier resolution happens by matching JTL's Lieferant reference against the BusinessAccount.VendorClass and VendorLocation setup. POOrder status follows the same mapping logic as sales orders. Expected delivery dates from JTL's Lieferdatum migrate to POOrder.PromisedDate on POLine.
JTL-Wawi
Wareneingang (Goods Receipt)
Acumatica
APInvoice + POReceipt
1:1JTL goods receipts (Wareneingang) linked to a purchase order migrate as Acumatica POReceipt to update inventory quantities. If a JTL Wareneingang also triggers an invoice, both POReceipt and APInvoice are created with the APInvoice linked to the POReceipt via the ReceiptNbr field. Standalone Wareneingang records without a PO order are imported as POReceipt only.
JTL-Wawi
Warenbestand (Inventory Quantity)
Acumatica
INSiteStatus + INLocationStatus
1:1JTL inventory quantities per warehouse are mapped to Acumatica's INSiteStatus (total on-hand per site) and INLocationStatus (bin-level breakdown if JTL uses Lagerplätze). If JTL has a single warehouse and Acumatica has multiple sites defined, we prompt for a site-mapping rule — by default all stock lands in the Acumatica default site (WHOLESALE or the site designated as default).
JTL-Wawi
Anschrift (Address)
Acumatica
Address + BQLocation
1:1JTL address records (Anschrift) with type flags (Rechnungsadresse, Lieferadresse) migrate to Acumatica Address records attached to BQLocation. Full street, city, postal code, and country are mapped field-by-field. JTL's Zustelladresse (special delivery instructions) is appended to the Address.AddressLine2 field in Acumatica for visibility.
JTL-Wawi
Bild(er) (Item Images)
Acumatica
UploadFile + NoteDoc (attachment on InventoryItem)
1:1JTL item images are stored as URLs or local file paths referencing the JTL database's Bilder table. We re-download and re-upload these as Acumatica UploadFile records, then attach them to the corresponding InventoryItem via NoteDoc. Image ordering (primary image, gallery order) from JTL is preserved as NoteDoc NoteID order in Acumatica.
| JTL-Wawi | Acumatica | Compatibility | |
|---|---|---|---|
| Artikel (Item) | InventoryItem (Stock Item) + Non-Stock Item1:1 | Fully supported | |
| Artikel.Eigenschaften (Item Attributes JSON) | CSAttribute + InventoryItem row1:1 | Fully supported | |
| Kunde (Customer) | BQLocation + Contactmany:1 | Fully supported | |
| Firma (Company/JTL) | BusinessAccount1:1 | Fully supported | |
| Auftrag (Sales Order) | SOOrder + SOLine1:1 | Fully supported | |
| Lieferschein (Delivery Note) | SOShipment1:1 | Fully supported | |
| Rechnung (Invoice / AR Invoice) | ARInvoice1:1 | Fully supported | |
| Bestellung (Purchase Order) | POOrder + POLine1:1 | Fully supported | |
| Wareneingang (Goods Receipt) | APInvoice + POReceipt1:1 | Fully supported | |
| Warenbestand (Inventory Quantity) | INSiteStatus + INLocationStatus1:1 | Fully supported | |
| Anschrift (Address) | Address + BQLocation1:1 | Fully supported | |
| Bild(er) (Item Images) | UploadFile + NoteDoc (attachment on InventoryItem)1:1 | 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.
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
Acumatica gotchas
API user licenses cap concurrent sessions and request throughput
Multi-tenant filtering requires CompanyID awareness
Custom fields require separate discovery before field mapping
Notes and attachments use a separate linked table structure
Implementation timelines frequently run 3–9 months end-to-end
Pair-specific challenges
Migration approach
Extract and profile JTL-Wawi data via JTL-DataTransfer and direct database access
We begin by running JTL-DataTransfer exports for items, customers, orders, purchase orders, and inventory — generating CSV extracts following JTL's documented export schema. For records with complex structures (attributes as JSON, multi-line order positions), we supplement with direct SQL queries against the JTL database (MS SQL Server or MySQL, depending on your JTL installation). We profile the data for duplicates, missing required fields, and encoding issues. The profiling report identifies items without SKUs, customers without email addresses, and orders with orphaned positions — each resolved against your JTL admin before mapping begins.
Build JTL-to-Acumatica attribute and site mapping plan
Based on the profiling results, we build an attribute-mapping plan: each JTL attribute key from the JSON column becomes a CSAttributeDefinition in Acumatica (with attribute group and type — free-text, combo, or multi-value). Simultaneously, we build the warehouse-to-site mapping: each JTL Lager (warehouse) ID is assigned to an Acumatica INSite. If your Acumatica instance has multiple sites already configured (central warehouse, fulfillment center), the mapping is applied during inventory load. This plan is reviewed with your Acumatica admin before any import runs. We also define the Acumatica document numbering sequence start numbers to avoid collision with JTL order numbers retained in CustomerOrderNbr.
Run sample migration of items, customers, and orders with field-level diff
A representative slice migrates first — typically 200–500 items spanning multiple attribute groups, 100–300 customer records including multi-address companies, and 50–100 orders across all statuses. We generate a field-level diff showing source JTL values against the Acumatica destination fields for each record. You verify: attribute parsing completeness from JSON, address-split correctness on company vs. individual customers, order-status mapping accuracy, and inventory quantity totals matching JTL's Lagerbestand report. Discrepancies are resolved in the mapping plan before the full migration proceeds.
Execute full migration with ordered entity load and delta-pickup window
The full migration runs in dependency order: inventory items first (to resolve InventoryID on all transaction lines), then customers and suppliers (to resolve VendorID and CustomerID on orders), then purchase orders, then sales orders with their shipment and invoice links. A 24–48 hour delta-pickup window captures any new or modified records in JTL during the cutover. All operations are logged to an audit table with timestamps, user references, and the Acumatica record ID created. After delta-pickup, we run a reconciliation report comparing JTL record counts and total order value against Acumatica totals. One-click rollback reverts all migration records if reconciliation fails your acceptance criteria.
Deliver reconciliation report and JTL workflow export reference document
The final deliverable is a reconciliation report: line-by-line count of migrated vs. source records per entity (items, customers, orders, inventory), plus a financial totals check comparing JTL's Gesamtwert (total order value) against Acumatica's SOOrder.OrderTotal sum. We also deliver the JTL-Workflow export as a structured PDF: every workflow trigger, condition, and action from JTL-Wawi's workflow list, formatted as a rebuild guide for your Acumatica admin. Label templates, shipping configurations, and JTL-Connector definitions are exported separately as configuration reference files for your Acumatica implementation partner.
Platform deep dives
JTL-Wawi
Source
Strengths
Weaknesses
Acumatica
Destination
Strengths
Weaknesses
Complexity grading
Standard ERP migration. 1 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 JTL-Wawi and Acumatica.
Object compatibility
1 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
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 Acumatica migration scoping. Not seeing yours? Book a call.
Walk through your JTL-Wawi to Acumatica 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 Acumatica
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.