Mage2Plenty v3.7 - Order Import Hardening & Stock Delta-Mode Fix
Mage2Plenty v3.7 is a focused maintenance release that hardens the PlentyONE → Magento order import path so orders keep getting created when shipping or payment data is incomplete, adds order-tag constants to the REST API surface, and ships a follow-up fix for the delta-mode stock export introduced in v3.6.
Order Import Hardening
For clients who mirror PlentyONE orders back into Magento, two edge cases were causing individual imports to fail outright. Both are now handled gracefully.
Shipping profile falls back to line items
Order import maps the PlentyONE shipping profile to a Magento shipping method to set the quote's shipping rate and the shipment's tracking carrier/title. That profile is normally carried on the order-level property — but on some orders it's missing there while still present on the individual line items.
The resolver now checks the order property first, then falls back to scanning the order items for a shipping profile when the property has none. This mirrors the export side, which already stamps the shipping profile onto line items. The fallback is applied in both the quote shipping-rate generator and the shipment tracking generator, and is backed by a new OrderConfig::getShippingMethodByProfileId() lookup built from raw config so multiple profiles mapped to the same Magento method are preserved.
Payment method code is now case-insensitive
Magento payment method codes are matched case-sensitively. The order-import profile's fallback payment method is a free-text field, so an entry like PlentyONE (matching the title an admin sees) would never resolve to the actual plentyone method — Magento rejected it with "The requested Payment Method is not available." and the imported order failed to create, even though the method was enabled.
The resolved payment method — including the configured fallback — is now lowercased and trimmed before lookup, so a casing typo can no longer block an import.
Order Tag Constants
module-plenty-order gains TAGS and TAG_ID constants on its REST API order interface, providing the shared vocabulary for order-tag handling consumed by the pre-order tag generators.
Stock Delta-Mode Fix
v3.6 introduced delta correction mode with Plenty's bookIncomingItems / bookOutgoingItems endpoints. The incoming-items URL constant used an uppercase %S format specifier — and PHP's sprintf() is case-sensitive, so %S throws "Unknown format specifier" and broke delta-mode stock export whenever an incoming booking was issued. The specifier is corrected to %s.
If you enabled delta mode in v3.6, this upgrade is recommended.
Release Summary
| Module | Version | Bump | Key Changes |
|---|---|---|---|
module-plenty-order | 2.1.0 → 2.2.0 | minor | TAGS / TAG_ID constants on the order REST API interface |
module-plenty-order-profile | 2.5.0 → 2.5.1 | patch | Shipping-profile fallback to line items on import; case-insensitive payment method resolution |
module-plenty-stock | 2.2.0 → 2.2.1 | patch | Fix %S → %s in the bookIncomingItems URL so delta-mode incoming bookings work |
Metapackage: softcommerce/mage2plenty-os 3.6.0 → 3.7.0
Upgrade Guide
composer require softcommerce/mage2plenty-os:^3.7
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento cache:flush
No configuration changes are required — all three fixes apply automatically. If you run delta-mode stock export, restart the MQ consumer after upgrade so the corrected booking URL is picked up:
bin/magento queue:consumers:start plenty.stock.export.processor
Resources
Questions about the upgrade? Reach out to us at support@byte8.io.
