How to sync B2B catalogs with ERP in Shopware 6?
Quick Answer
You can sync B2B catalogs between your ERP and Shopware 6 by connecting product data, customer-specific pricing, inventory, and account permissions through the Shopware API layer or middleware platforms like iPaaS connectors. Most B2B stores use scheduled sync jobs for catalog updates and near real-time sync for stock and pricing changes. The hard part is usually not the connection itself—it’s handling customer-specific catalogs and pricing rules without slowing the storefront down. Here’s how to structure the integration properly.
Before You Start
- ✦ ERP API access — you need stable endpoints for products, inventory, pricing, and customer accounts.
- ✦ Defined catalog ownership — decide whether ERP or Shopware controls pricing, stock, and product enrichment.
- ✦ Shopware B2B setup — customer groups, rule builder logic, and catalog segmentation should already exist.
Define system ownership
Start by deciding which platform owns each type of data. In most B2B builds, the ERP controls products, stock, prices, tax classes, and customer accounts while Shopware handles storefront presentation and checkout logic. If both systems can edit the same fields, you’ll eventually create sync conflicts or overwrite production data during imports.
- Map ownership for products, prices, stock, and media
- Document field-level sync rules before development starts
- Separate marketing content from ERP-controlled data
Choose integration method
For small ERP datasets, direct API integrations usually work fine. But once you add customer-specific pricing, large SKU counts, or multiple warehouses, middleware becomes easier to maintain. Most serious B2B stores use tools like MuleSoft, Celigo, Patchworks, or custom Laravel middleware to queue and transform data between systems.
- Use direct APIs for smaller catalogs and simple logic
- Use middleware when transformations or retries are needed
- Queue heavy imports instead of pushing everything live instantly
Map customer-specific catalogs
This is where most B2B integrations get messy. Your ERP may assign different products or prices to different customer accounts, branches, or contract groups. In Shopware 6, this usually maps to customer groups, Rule Builder conditions, dynamic product groups, or custom entities depending on complexity.
- Translate ERP customer segments into Shopware rules
- Separate shared catalogs from contract-only products
- Cache pricing aggressively for large account structures
Configure sync scheduling
Not everything needs real-time sync. Product descriptions and media can update hourly or nightly without issues. But stock availability, contract pricing, and customer permissions usually need faster updates. Splitting sync jobs by data type keeps your queues smaller and reduces storefront slowdowns during imports.
- Run stock syncs every few minutes if inventory moves fast
- Schedule catalog enrichment during low-traffic periods
- Log failed imports with retry queues enabled
Test edge-case scenarios
Before going live, test accounts with unusual pricing, restricted products, multiple shipping addresses, and branch-level permissions. Most integration failures only appear with specific customer accounts. You also want to verify how Shopware indexing behaves after large ERP imports because catalog visibility delays are common on high-SKU stores.
- Test large customer accounts with thousands of SKUs
- Validate pricing against ERP exports manually
- Monitor indexing queues after bulk imports complete
Shopware ERP Sync Checklist
0 of 6 completeMistakes Most Developers Make
! Syncing everything in real time
What happens: Large ERP calls overload queues and slow storefront indexing.
Fix: Split sync jobs by data type and prioritize stock and pricing only.
! Ignoring ERP data cleanup
What happens: Bad ERP category structures create broken product visibility rules in Shopware.
Fix: Clean and normalize ERP product data before integration starts.
! Missing retry queue handling
What happens: One failed ERP response silently skips thousands of updates.
Fix: Store failed jobs separately and retry them automatically with alerts enabled.
Key Takeaway
The short version: syncing B2B catalogs with ERP in Shopware 6 works best when the ERP owns operational data and Shopware handles storefront delivery. Most integration issues come from messy pricing logic, oversized sync jobs, and unclear customer segmentation rules. Use middleware once your catalog or pricing structure becomes even moderately complex, and separate real-time updates from bulk catalog imports. Test unusual customer accounts before launch because that’s where hidden permission and pricing issues appear. Start with Step 1—that one alone handles most of it.
Related Answers
Still need help?
Talk to our Shopware experts
We've handled GDPR/CCPA compliance for dozens of EU & US Shopware stores.