Skip to main content

Mage2Plenty v3.7 - Order Import Hardening & Stock Delta-Mode Fix

· 3 min read
Soft Commerce Team
Mage2Plenty Development Team

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

ModuleVersionBumpKey Changes
module-plenty-order2.1.0 → 2.2.0minorTAGS / TAG_ID constants on the order REST API interface
module-plenty-order-profile2.5.0 → 2.5.1patchShipping-profile fallback to line items on import; case-insensitive payment method resolution
module-plenty-stock2.2.0 → 2.2.1patchFix %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.