OilOnline industrial oils ecommerce project by STAGEM

Magento 1 to 2 Migration

Magento 1 to 2 Migration

B2B Commerce

B2B Commerce

Multi-Store eCommerce

Multi-Store eCommerce

OilOnline — Streamlining Lubricant Supply with Efficiency, Expertise, and Trust

Client

OilOnline, Netherlands

Project timeline

2023 – 2025

OilOnline is a Netherlands-based B2B lubricants platform serving 78 countries with 5,500+ products across major industrial brands — Mobil, Castrol, Fuchs, Houghton, Klüber, Shell, Q8, Total. VAT-free intra-EU delivery, direct sourcing, and pallet-scale ordering for industrial buyers. The store was running on Magento 1.9, four years past end-of-life. We led the full Magento 1.9 → Magento 2.4.7 migration with 10 country-specific stores, custom B2B logic, multi-source inventory across 7 EU warehouses, and a per-country payment configuration tuned for how EU industrial buyers actually pay.

The challenge

OilOnline came to us in 2023 with a clear mandate: migrate from Magento 1 to Magento 2. The store had been running on Magento 1.9 — four years past Adobe's June 2020 end-of-support deadline — and every category of issue typical of late-stage Magento 1 was present at once:

  • Security exposure — accumulated unpatched CVEs across four years of no official patches

  • Performance degradation — slow page loads under a 5,500-SKU catalog with real-time stock from multiple warehouses

  • Mobile experience — underperforming on the device share that even B2B buyers increasingly use for research and reordering

  • Platform stagnation — no upgrade path, no modern integrations, no compatibility with current third-party modules

But the migration scope was far harder than a typical M1 → M2 lift. OilOnline operates one of the most demanding B2B profiles in European eCommerce:

  • 5,500+ SKUs across eight major industrial lubricant brands

  • 78 countries served, with 10 country-specific stores (Czech, Danish, Spanish, French, Italian, Polish, Hungarian, Romanian, Finnish, Swedish — plus an English Global store)

  • 7 warehouses across Europe with real-time stock and country-aware fulfillment routing

  • VAT-free intra-EU delivery — meaning every order required correct VAT logic per customer country, with B2B reverse-charge rules for cross-border transactions

  • Country-specific payment methods — Satispay and Bancomat Pay in Italy, EPS in Austria, SEPA across the EU, Czech bank transfers (Předběžná platba) for local proforma billing

  • Pallet-scale orders mixed with parcel-weight orders, each routed through different carriers under different Incoterms

The migration had to preserve years of B2B customer data, contract pricing, order history, and SEO equity — across 10 stores — without disrupting an active multi-country distribution business.

The solution

We led the project across four phases over 12 months, with OilOnline's internal team handling business operations and our team executing the full technical migration end-to-end.

Phase 1 — Discovery, Audit & Architecture (2023, early)

A 5,500-SKU B2B store with 10 country stores and 7 warehouses doesn't migrate the same way a single-store B2C catalog does. Discovery took longer than usual and produced more than just a plan — it produced the architectural decisions that the rest of the project would depend on.

Key questions we resolved in this phase:

  • Single-source vs multi-source inventory — confirmed Magento MSI as the foundation for the 7-warehouse setup

  • Store hierarchy — designed the 10-store / 78-country structure: one Magento installation, multiple websites for major regions, store views for languages, with shared catalog and per-store inventory rules

  • B2B customer model — customer groups by country, by contract tier, and by VAT status; pricing rules per customer group

  • Payment matrix — which methods to enable per store (no point in showing Satispay to a Polish customer or EPS to a French one)

  • Carrier routing — DPD/DHL/UPS as parcel carriers up to 30kg, local transport for pallet-scale orders, Incoterm: DAP for transparency to industrial buyers

  • VAT engine — EU B2B reverse-charge logic, VIES validation for customer VAT IDs, per-country tax rules

The migration tool decision: LitExtension migration scripts as the data backbone, supplemented with custom mapping scripts for OilOnline-specific attributes, customer-group logic, and contract pricing that no off-the-shelf tool could handle.

Phase 2 — Magento 2.4.7 Build & Data Migration (2023 — early 2024)

The new Magento 2.4.7 build was deployed to a dedicated server hosted in the Netherlands — chosen specifically for latency to the Dutch operations team, GDPR data residency, and the bandwidth required for a B2B catalog with rich product data.

Core technical decisions:

  • Magento 2.4.7 — current stable release at the time, full PHP 8.x compatibility, supported through Adobe's standard lifecycle

  • Luma-based custom theme — customized for OilOnline's industrial-buyer audience, with brand-aware navigation across 10 country stores

  • ElasticSearch for catalog search and faceted filtering across 5,500 SKUs with brand, application, viscosity, and packaging attributes

  • Magento MSI (Multi-Source Inventory) configured for the 7 EU warehouses with real-time stock sync

Data migration ran through multiple staging cycles:

  • Products with brand attributes, technical specs, and packaging variants

  • Customer accounts with B2B groups, contract pricing, and VAT registration data preserved

  • Order history across years of B2B transactions

  • 10-store-specific configurations: language packs, currency display (EUR primary), country-specific catalog visibility

  • URL mapping and 301 redirect strategy for every M1 product, category, and CMS page across all 10 stores

Every dry-run was validated against production data before the next iteration.

Phase 3 — B2B Logic, Multi-Store & Integrations (early — mid 2024)

This was the phase that turned a "Magento 2 store" into "the OilOnline platform." Most of the engineering work happened here.

B2B-specific functionality:

  • Customer groups by country and contract tier, with group-specific pricing rules

  • Custom pricing rules for B2B contracts — tier pricing, bulk discounts, customer-specific negotiated prices

  • Quote request workflow for high-value orders where buyers need formal quotes before purchase

  • B2B customer portal with order history, one-click reorder for recurring purchases, and saved product lists for procurement teams

  • VAT engine — EU B2B reverse-charge logic, VIES VAT-number validation, per-country tax calculation, with VAT shown or excluded based on customer and store

Multi-store configuration:

  • 10 country-specific stores (Czech, Danish, Spanish, French, Italian, Polish, Hungarian, Romanian, Finnish, Swedish) plus English Global

  • Per-store catalog visibility — products available only where they're warehoused and legally sellable

  • Per-store payment method matrix — Italian stores show Satispay and Bancomat Pay; Austrian buyers see EPS; SEPA available across all EU stores; Czech customers see local proforma billing

  • Hreflang configured across all stores for correct cross-country SEO

Shipping & carrier logic:

  • DPD, DHL, UPS integrated as parcel carriers for orders up to 30kg

  • Pallet-scale orders routed to local transport per destination country, with shipping rate of 0 indicating ex-works terms

  • Track & Trace email automation on label creation

  • Incoterm: DAP shown clearly in checkout — transparency expected by industrial buyers

SEO migration:

  • 301 redirect maps for every M1 URL across 10 stores

  • Hreflang implementation for cross-store country/language signals

  • Schema.org Product markup with B2B-appropriate attributes (brand, MPN, packaging)

  • Regenerated sitemaps per store

Phase 4 — Launch, Optimization & Ongoing (mid-2024 — Present)

The cutover ran during a ~2-hour overnight window — minimal downtime for a B2B store where buyers are awake and ordering across multiple time zones.

Performance work post-launch:

  • Varnish Full Page Cache for high-traffic category and product pages across all 10 stores

  • Redis for session and cache backends

  • CDN for global asset delivery (the customer base spans 78 countries)

  • WebP image conversion + lazy loading across the product catalog

  • Critical CSS extracted and inlined for above-the-fold rendering

  • Database optimization for the real-time MSI stock queries across 7 warehouses

OilOnline became less active as a partnership after launch — which is what successful B2B platforms look like. Occasional support engagements continue: feature additions, performance reviews, and the targeted work a mature multi-store B2B platform needs to stay healthy.

Key Deliverables

Magento 1.9 → Magento 2.4.7 full migration with zero data loss

  • 10 country-specific stores (CZ, DK, ES, FR, IT, PL, HU, RO, FI, SE + English Global)

  • Multi-source inventory (MSI) across 7 EU warehouses with real-time stock

  • B2B customer portal — order history, one-click reorder, saved lists

  • Custom B2B pricing engine — tier pricing, customer-group rules, contract pricing

  • Quote request workflow for high-value B2B orders

  • EU VAT engine — reverse-charge logic, VIES validation, per-country tax rules

  • Country-specific payment matrix — SEPA, Satispay, Bancomat Pay, EPS, local proforma

  • Carrier integrations — DPD, DHL, UPS for parcel; local transport for pallets

  • Custom shipping rules — weight-based carrier routing, Incoterm: DAP

  • LitExtension + custom data migration scripts

  • Luma-based custom theme

  • ElasticSearch across 5,500+ SKUs with B2B-relevant facets

  • Hreflang configuration across 10 stores

  • SEO migration: 301 redirect maps, metadata preservation, Schema.org markup

  • ~2-hour overnight cutover with minimal downtime

Results

OilOnline launched on Magento 2.4.7 in mid-2024 and continues to perform under real-world B2B load.

Real user data — Chrome UX Report (desktop, last 28 days):

✓ Core Web Vitals — passed
✓ LCP 1.9s — good
✓ INP 44ms — good
✓ CLS 0.06 — good
✓ FCP 1.2s — good
✓ TTFB 0.7s — good

For a B2B platform with 5,500+ SKUs, 10 country stores, and real-time stock from 7 warehouses, sustained desktop performance under real load is the metric that matters. B2B buyers research, compare, and order from desktop more than retail buyers — and Google measures real-user performance for ranking decisions across all 10 country stores.

Operational outcomes:

  • Multi-source inventory replaced manual stock juggling across 7 warehouses with automated real-time routing

  • Country-aware payment, shipping, and VAT logic removed exception handling that previously required manual intervention per order

  • 10-store consolidation under one Magento installation cut admin overhead vs running parallel platforms



The platform is now positioned to scale into additional EU markets without re-platforming.

Technologies & Tools

Magento 2.4.7 (migrated from Magento 1.9, Open Source edition)

  • Luma-based custom theme

  • PHP 8.x

  • ElasticSearch

  • Magento MSI (Multi-Source Inventory) — 7 EU warehouses

  • Varnish (Full Page Cache)

  • Redis (session & cache)

  • Dedicated Netherlands server hosting

  • LitExtension migration tool + custom scripts

  • Custom B2B modules: customer groups, pricing engine, quote workflow, B2B portal

  • Custom shipping module — weight-based carrier routing, Incoterm: DAP

  • DHL, DPD, UPS carrier APIs

  • Payment integrations: SEPA, Satispay, Bancomat Pay, EPS, Czech proforma billing

  • EU VAT engine with VIES validation

  • Hreflang configuration across 10 stores

  • WebP image optimization, critical CSS, lazy loading

  • Schema.org B2B Product markup

A pan-European B2B lubricants platform migrated from Magento 1.9 to Magento 2.4.7 — 10 country stores, 7 warehouses, 5,500 SKUs, and the VAT, payment, and carrier logic that makes EU B2B actually work.

A pan-European B2B lubricants platform migrated from Magento 1.9 to Magento 2.4.7 — 10 country stores, 7 warehouses, 5,500 SKUs, and the VAT, payment, and carrier logic that makes EU B2B actually work.