A US B2B/B2C hardware retailer ran a multi-store Magento 1 Enterprise setup: a US store, a Canadian store (CAD/USD, fr-CA), sister brands and a PunchOut store for B2B procurement buyers, with NetSuite as the ERP. The platform had to move to Magento 2 and stay current, while customer-specific pricing, B2B payments and the NetSuite order flow kept working.
My role
Lead hands-on developer for this client from 2018 to 2026, through an outsourcing company. Top code contributor on the Magento 2 platform; merged most of the project's pull requests and managed release, staging and hotfix branches.
What I did
Magento 1.9 → 2.4 migration: did most of the hands-on work. Tuned the Data Migration Tool (EAV mapping, URL rewrites), ported Magento 1 modules, built a compatibility layer for a legacy front end
2.4.0 → 2.4.6 upgrade and the move to PHP 8.2: third-party module upgrades, deprecation fixes, security patches
36 custom Magento 2 modules, including NetSuite, call-for-price, a price index, a one-page "Buy Now" checkout, Critical CSS, CSP, geo-redirect, sitemap and a mobile app API
B2B pricing: customer-specific prices with a custom price index, "My Products" pages, CSV price import, custom MySQL and Elasticsearch indexers
Payments: Cybersource, Braintree Vault, Apple Pay, Google Pay, PO payment, PunchOut2Go, and a cart-rule discount cap spread across lines so tax and refunds stay correct
Canada launch: CAD/USD pricing, fr-CA store view, PayPal currency conversion
Security and performance: CSP rollout (report-only, then enforced), webapi ACL hardening, Critical CSS, Magepack, FPC/ESI and Redis tuning
NetSuite
On Magento 1: order-status and tracking sync, SOAP clients migrated to endpoint 2025_2 with token-based auth, a lock-guarded cron against duplicate orders
2025–2026, on a shared multi-country Magento 2.4.8 platform (Hyvä, Typesense): a new NetSuite integration with SOAP and REST clients, syncing orders, customers, contacts, parent/sub-account hierarchy and customer prices, with a layered design and unit and integration tests
Customer migration tooling for the move: streaming import of 100K+ records, attribute and store mappers, a validation command