ERP migration

Migrate from JTL-Wawi to Epicor Prophet 21

Field-level mapping, validation, and rollback between JTL-Wawi and Epicor Prophet 21. We move data and schema; workflows are rebuilt natively in Epicor Prophet 21.

JTL-Wawi logo

JTL-Wawi

Source

Epicor Prophet 21

Destination

Epicor Prophet 21 logo

Compatibility

75%

9 of 12

objects map 1:1 between JTL-Wawi and Epicor Prophet 21.

Complexity

BStandard

Timeline

6-10 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from JTL-Wawi to Epicor ERP is an e-commerce-to-manufacturing data model translation, not a record copy. JTL-Wawi organizes data around multi-channel retail (Artikels with Variationskombinationen, Aufträge with marketplace tracking, Lagerbestände per Lager) while Epicor Kinetic organizes data around production planning, BOMs, and supply chain execution. We resolve that structural difference by separating the JTL catalog into Epicor Part, PartPlant, and BOM structures, mapping customer and supplier records into Epicor Customer and Vendor tables with proper address handling, and routing historical Aufträge into Epicor OrderHed and OrderDtl with the original order lifecycle state preserved. We do not migrate JTL-Workflows, JTL-Connector storefront links, or JTL-WMS pick-and-pack configurations as code; we deliver written inventories of these for your admin to rebuild in Epicor Kinetic. SCX API rate-limit awareness and UNC path handling are built into our JTL-Wawi extraction layer.

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

Epicor Prophet 21 logo

Epicor Prophet 21

What's pulling them in

  • Industry-specific design for wholesale distributors, not a general-purpose ERP repurposed for distribution — distributors choose P21 because it matches their replenishment, kitting, and counter-sale workflows out of the box.
  • Strong inventory control with automated replenishment, lot and serial tracking, and multi-warehouse management appeals to distributors with complex stock requirements and tight margin pressure.
  • Responsive customer support cited across G2 and Gartner reviews, with Epicor's 90% retention rate reflecting long-term customer satisfaction in a market where switching costs are high.
  • Cloud deployment on Microsoft Azure provides the flexibility to scale user counts and warehouse locations without on-premise infrastructure investment.
  • The Software Development Kit lets distributors personalize P21 to their specific business processes without modifying the application source code, preserving upgrade paths.

Object mapping

How JTL-Wawi objects map to Epicor Prophet 21

Each row shows how a JTL-Wawi object lands in Epicor Prophet 21, 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

maps to

Epicor Prophet 21

Part + PartPlant

1:1
Fully supported

JTL-Wawi Artikels (items with Variationskombinatione) translate to Epicor Part master records where the base Stammartikel maps to Part and each active Variationskombination maps to a separate PartRevision or PartPlant row depending on Epicor configuration. We export via JTL-Ameise CSV, transform Variationskombinatione SKUs into Part PartNum with a parent-child relationship preserved via PartBin or PartRev, and load into Epicor via DMT PartMaster templates. JTL's cBestellung (reorder point) and cLagerbestand (stock level) map to PartPlant MinimumOrderQty and MaxOrderQty.

JTL-Wawi

Variationskombination

maps to

Epicor Prophet 21

PartRevision or PartPlant

1:many
Fully supported

JTL-Wawi Variationskombinatione (size/color variant combinations) do not have a direct Epicor equivalent at the variant level. We split each Variationskombination into its own Epicor Part record with the parent Stammartikel PartNum stored in a custom field jtl_parent_artikel__c. The variant attributes (Größe, Farbe) migrate as Part custom fields or as a PartAttr table entry. If the customer uses Epicor's configure-to-order module, we map the variant matrix into OptionSets instead of separate Part records during scoping.

JTL-Wawi

Kunden

maps to

Epicor Prophet 21

Customer

1:1
Fully supported

JTL-Wawi Kunden map directly to Epicor Customer records. The JTL customer number (kKundenNr) becomes Customer-CustID; the email and billing address map to the Customer's default billing contact and address. We preserve the original JTL customer number in a custom field jtl_kundennr__c for reconciliation. Customer payment terms (Zahlungsziel) map to Epicor PaymentTerms.

JTL-Wawi

Lieferanten

maps to

Epicor Prophet 21

Vendor

1:1
Fully supported

JTL-Wawi Lieferanten map to Epicor Vendor records with the JTL supplier number preserved in jtl_lieferantennr__c. The Lieferanten address and Einkaufspreise (purchase prices) require transformation: JTL stores Einkaufspreise per Lieferantenartikel relationship, which we map to Epicor VendorPartNo records. Zusatzkosten (transport, customs, duties) on Lieferantenbestellungen map to Epicor POMisc records linked to POHeader with the appropriate MiscCode.

JTL-Wawi

Auftrag (Sales Order)

maps to

Epicor Prophet 21

OrderHed + OrderDtl

1:1
Fully supported

JTL-Wawi Aufträge map to Epicor OrderHed (header) and OrderDtl (line) records. The Auftrag number (tAuftrag) becomes OrderNum; the workflow state (erstellt, bezahlt, ausgeliefert) maps to OrderHed.OpenLine, OrderHed.BTAddress-val, and OrderDtl.OurShipMgr respectively. Auftrag line items (Artikels) map to OrderDtl with PartNum, SellingQuantity, and UnitPrice preserved. Marketplace assignment from JTL (eBay, Amazon, JTL-Shop) is stored as a custom field jtl_marktplatz__c on OrderHed.

JTL-Wawi

Lieferantenbestellung (Purchase Order)

maps to

Epicor Prophet 21

POHeader + PODetail

1:1
Fully supported

JTL-Wawi Bestellungen an Lieferanten (purchase orders) map to Epicor POHeader and PODetail records. The JTL delivery date (Lieferdatum) and bestelltext become POHeader.RequireDate and PODetail.LineDesc. Zusatzkosten (transport, customs) on the Lieferantenbestellung become POMisc records with MiscCode entries that we pre-create during schema configuration. JTL's Rahmenbestellungen (blanket orders) map to Epicor POHeader with a blanked Release schedule in PODetail.

JTL-Wawi

Rechnung

maps to

Epicor Prophet 21

InvoiceHist + ARInvoice

1:1
Fully supported

JTL-Wawi Rechnungen (invoices) reference Aufträge and contain line-item tax calculations. We export via the Rechnungen JTL-Ameise template and map to Epicor InvoiceHed and InvoiceDtl for open invoices, and to InvoiceHist and InvDtl for historical records. Regional VAT codes (19% MwSt, 7% reduced) map to Epicor TaxRegion and TaxCode assignments that we configure in Epicor before import. JTL invoices without a linked Auftrag require manual assignment during the migration preparation phase.

JTL-Wawi

Lagerbestände

maps to

Epicor Prophet 21

PartBin + Warehse

1:1
Fully supported

JTL-Wawi Lagerbestände (stock levels per Lager) map to Epicor PartBin records. We export aktuelle Bestände and pending reservations per Lager via JTL-Ameise CSV, and load into Epicor with Warehse code per JTL warehouse identifier. PartBin.OnHandQty carries the stock snapshot at migration cutover. If JTL-WMS is in use, pick-and-pack station configurations are documented separately and not migrated as WMS data; Epicor's own WMS module or a third-party WMS handles warehouse operations post-migration.

JTL-Wawi

Stückliste (if BOM data exists)

maps to

Epicor Prophet 21

PartRev + BOM

1:1
Fully supported

If the JTL-Wawi installation contains BOM data for assembled products (via JTL-WMS or a connected manufacturing module), we map Stücklisten to Epicor PartRev (revision) and PartBOM records. The JTL-Stückliste Kopf becomes PartRev.RevShortDesc; each BOM line becomes a PartBOMMtl row with the component PartNum, QtyPer, and BOMSequence. If no BOM data exists in JTL-Wawi (common for pure e-commerce installations), this object is marked not-in-scope and the customer's Epicor admin configures BOMs post-migration.

JTL-Wawi

JTL-Workflows

maps to

Epicor Prophet 21

Not migrated (documented)

lossy
Fully supported

JTL-Workflows define event-condition-action chains that trigger on Auftrag creation, payment received, or shipment events. We document all active JTL-Workflows during scoping with their trigger, conditions, actions, and the JTL event that fires them. Epicor Kinetic uses a different automation model (Method Directives, Data Directives, and Kinetic BPM) with different trigger types. We do not migrate JTL-Workflows as code. The Workflow audit document serves as the basis for Epicor Kinetic BPM rebuild by the customer's admin or a Kinetic implementation partner.

JTL-Wawi

JTL-Connector Links

maps to

Epicor Prophet 21

Not migrated (documented)

lossy
Fully supported

JTL-Connector synchronization between JTL-Wawi and Shopware, PrestaShop, JTL-Shop, or JTL-eazyAuction is scoped out. We provide a connector audit document listing every active storefront connection, the article-sync scope, order-pull filter, and the API credentials in use. Epicor ERP has no native storefront connector; the customer's e-commerce team selects a new e-commerce platform post-migration and configures the connector independently. We migrate the product and customer data that feeds the new storefront.

JTL-Wawi

Versand / Tracking

maps to

Epicor Prophet 21

OrderRel + ShipHead

1:1
Fully supported

JTL-Wawi Versand data (DPD, Hermes, iloxx tracking IDs and shipping method assignments) is exported per logistics partner CSV. We map tracking IDs to Epicor ShipHead records linked to the corresponding OrderRel. The shipping method (Versandart) migrates as a custom field jtl_versandart__c on OrderHed for reference. Epicor does not natively integrate with German carrier APIs (DPD, Hermes); the customer's logistics team configures carrier integration post-migration if real-time tracking is required.

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

Epicor Prophet 21 logo

Epicor Prophet 21 gotchas

High

Third-party bolt-on integrations complicate migration scope

High

Dirty data without standardized processes compounds migration risk

Medium

SDK customizations and BPMs may not survive platform upgrades

Medium

Report-based export only for non-technical users

Low

Per-user pricing model requires accurate user count before migration planning

Pair-specific challenges

  • E-commerce to manufacturing data model translation is not 1:1

    JTL-Wawi organizes around e-commerce retail (Artikels with variants, marketplace orders, warehouse stock) while Epicor Kinetic organizes around production planning and supply chain execution (Part with BOM, Job, PO, and OrderRel). There is no direct 1:1 mapping for JTL-Wawi objects; every migration requires a data model design phase where the JTL catalog is re-engineered into Epicor Part structures, BOMs, and plant-level inventory. Migrations that skip this step result in imported records that cannot be used in Epicor's production or purchasing modules. We include a mandatory schema design step before any data moves.

  • SCX API per-endpoint rate limits on extraction

    JTL-Wawi's SCX APIs enforce per-endpoint rate limits that return HTTP 429 when exceeded. During bulk extraction of Artikels, Kunden, and Aufträge, we throttle requests per endpoint and implement exponential backoff. We map each affected endpoint during discovery and configure batch sizes accordingly. For large catalogs with thousands of Artikels and Aufträge, extraction may require multiple sessions spread over days.

  • UNC paths mandatory for JTL-Ameise exports

    JTL-Wawi resolves file paths per user and workstation, making relative paths unreliable. All JTL-Ameise export templates must use UNC paths (e.g., \\servername\JTL_Exports\). We configure UNC paths for every JTL-Ameise template and verify path accessibility from the migration workstation before executing any data transfer. This is a high-severity blocker if the UNC path is unavailable when extraction runs.

  • Supplier Einkaufspreise require intermediate CSV transformation

    JTL-Wawi stores Einkaufspreise (purchase prices) as a per-Lieferanten relationship on the Lieferantenartikel. Epicor stores vendor pricing as VendorPartNo records with effective dates and quantity breaks. We build an intermediate transformation that flattens the JTL supplier-price matrix into Epicor VendorPartNo entries. Zusatzkosten (transport, customs, duties) on Lieferantenbestellungen require separate POMisc code creation and mapping before PO imports run.

  • Epicor ERP has no native e-commerce storefront connector

    JTL-Wawi's native JTL-Connector ecosystem (Shopware, PrestaShop, JTL-Shop, JTL-eazyAuction) is tightly integrated into the order and article data flow. Epicor ERP has no native storefront integration. Teams migrating from JTL-Wawi to Epicor must select and configure a new e-commerce platform (Shopify, BigCommerce, WooCommerce, or a comparable system) post-migration. We migrate the product catalog and customer data to support the new storefront, but the storefront connector itself is out of scope and requires separate implementation.

Migration approach

Six steps for a successful JTL-Wawi to Epicor Prophet 21 data migration

  1. Discovery and data profiling

    We audit the source JTL-Wawi installation across all JTL-Ameise export templates, SCX API endpoints, and connected storefronts. We profile the JTL catalog (Artikels, Variationskombinatione, Stammartikel counts), customer and supplier volumes, order history depth and state distribution, invoice date ranges, and stock levels per Lager. We also identify any JTL-Workflows, JTL-Connector credentials, and JTL-WMS configurations in use. The discovery output is a written migration scope with object counts, dependency graph, and a schema design recommendation for Epicor Kinetic.

  2. Epicor Kinetic schema design and BOM structuring

    We design the destination schema in Epicor Kinetic. This includes provisioning Part master records with PartPlant per warehouse, mapping JTL Variationskombinatione to PartRev or separate Part records with parent linkages, configuring Vendor records with VendorPartNo pricing, designing OrderHed and OrderDtl templates for Auftrag import, and setting up POMisc codes for Zusatzkosten. We also configure TaxRegion and TaxCode assignments for the VAT rates present in the JTL invoice data. Schema is deployed into a Epicor Kinetic test company first for validation before production.

  3. JTL-Ameise extraction with UNC path configuration

    We configure UNC paths for all JTL-Ameise export templates and verify path accessibility from the migration workstation. We extract Artikels, Kunden, Lieferanten, Aufträge, Rechnungen, and Lagerbestände as CSV files. We apply SCX API rate-limit awareness during extraction and chunk large datasets into multiple export sessions where needed. The extraction emits a row-count reconciliation report against the JTL-Wawi database counts to confirm completeness before transformation begins.

  4. Transformation and Epicor DMT template build

    We transform the JTL-Ameise CSV exports into Epicor Kinetic DMT-compatible templates (PartMaster, Customer, Vendor, OrderImport, POImport, InvoiceImport, PartBin). Variationskombinatione SKUs are split into individual Part records with parent linkage. Supplier purchase prices are flattened into VendorPartNo entries with effective dates. Order workflow states from JTL are mapped to Epicor OrderHed status fields. We build and test each DMT template in the Epicor Kinetic test company, validate row counts, and correct mapping errors before proceeding to production.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Part master (with PartPlant), Vendors (with VendorPartNo pricing), Customers, POHeader and PODetail (for historical purchase orders), OrderHed and OrderDtl (for historical sales orders), Invoice records, and PartBin (for stock levels). JTL-Workflows, JTL-Connector credentials, and JTL-WMS configurations are documented but not migrated as code. Each phase emits a row-count reconciliation report before the next phase begins.

  6. Cutover, validation, and handoff

    We freeze JTL-Wawi writes during cutover, run a final delta migration of any records modified during the migration window, then enable Epicor Kinetic as the system of record. We deliver the JTL-Workflow audit document, JTL-Connector credential inventory, and JTL-WMS configuration notes to the customer's Epicor admin. We support a one-week hypercare window where we resolve any reconciliation issues. We do not rebuild JTL-Workflows as Epicor Kinetic BPM, configure e-commerce connectors, or provide post-migration admin training; these 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.
Epicor Prophet 21 logo

Epicor Prophet 21

Destination

Strengths

  • Purpose-built for wholesale distribution with industry-specific replenishment, kitting, and counter-sale workflows out of the box.
  • Multi-warehouse management with bin locations, cross-docking, and real-time inventory visibility across all warehouse locations.
  • Automated replenishment engine with demand-based and min-max planning reduces stockouts and overstock carrying costs.
  • AI-infused reporting via Epicor Prism provides Gen AI-driven insights into ERP data without requiring a BI team.
  • Strong customer retention at 90% and a 50-year track record in the distribution vertical provides long-term vendor stability.

Weaknesses

  • High total cost of ownership — per-user pricing of $150-200/month plus $10K-$500K implementation creates significant budget commitment for small and mid-market distributors.
  • Customization via SDK requires technical expertise and introduces upgrade risk when custom code conflicts with new P21 releases.
  • Report generation performance is a known pain point — multiple users report system freezes during large or complex report exports.
  • Third-party bolt-on reliance for functionality that competitors include natively increases integration complexity and total solution cost.
  • Limited public API documentation — developers building custom integrations report difficulty finding P21 API authentication methods and endpoint specifications.

Complexity grading

How hard is this migration?

Standard ERP migration. 2 of 8 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across JTL-Wawi and Epicor Prophet 21.

  • Object compatibility

    B

    2 of 8 objects need a mapping; the rest are 1:1.

  • 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 Epicor Prophet 21 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 Epicor Prophet 21 data migrations

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

Can't find your answer?

Walk through your JTL-Wawi to Epicor Prophet 21 migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most JTL-Wawi to Epicor ERP migrations land between six and ten weeks for accounts with under 10,000 Artikels, 5,000 Aufträge, and no active JTL-WMS configuration. Migrations with Variationskombinatione requiring BOM translation, large supplier datasets with Einkaufspreise and Zusatzkosten, historical invoices spanning multiple fiscal years, or JTL-WMS pick-and-pack configurations move to twelve to twenty weeks because of data model design, DMT template building, and multi-phase validation. Epicor ERP implementations themselves typically run three to twelve months (per erpfocus.com and epiusers.help community data), but our data migration scope is the subset of that timeline focused on record transfer.

Adjacent paths

Related migrations to explore

Ready when you are

Move from JTL-Wawi.
Land in Epicor Prophet 21, 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