Skip to main content

Mage2Plenty v3.1 - Customer Group Mapping, Order Export Fixes & Rebrand

· 5 min read
Soft Commerce Team
Mage2Plenty Development Team

We're pleased to announce Mage2Plenty v3.1, a focused release that delivers customer group mapping for order export, critical order export pagination fixes, improved email notifications, and a company-wide rebrand to Byte8 Ltd.

What's New in v3.1

This release addresses real-world issues reported by clients and introduces long-awaited customer group mapping support during order export. It also includes the official rebrand from Soft Commerce to Byte8 Ltd across all modules.

Customer Group Mapping in Order Export

The Problem

Previously, when orders were exported to PlentyONE, the customer contact was always assigned to class ID 1 regardless of their Magento customer group. This meant that customers in groups like "Hersteller & Verarbeiter" or "Wholesale" would appear with the wrong classification in PlentyONE.

The Fix

The contact generator now resolves the PlentyONE class ID using the customer group mapping configured in your order export profile:

Class ID Resolution:
1. Group Mapping - Magento group → Plenty class (per-mapping)
2. Default Group - Configured fallback class ID
3. Fallback - Class ID 1 (only if nothing configured)

How to Configure:

In your order export profile under Customer Configuration, use the Customer Group Mapping dynamic rows to map each Magento customer group to the corresponding PlentyONE customer class.

The change detection (isAsOriginal) has also been updated to include class ID comparison, ensuring that group changes on existing customers are properly synced on subsequent exports.

Order Export Pagination Fix

Infinite Loop Bug Resolved

A critical bug was fixed where the order export could enter an infinite loop when processing large batches. The root cause was Magento's SearchCriteria caching - reusing the same object across pages caused setCurrentPage() to be silently ignored.

The fix: A fresh SearchCriteria instance is now created for each page, ensuring Magento's repository always returns the correct page of results.

Before (broken):
Page 1 → 20 orders ✓
Page 2 → same 20 orders (cached) ✗
Page 3 → same 20 orders (infinite loop) ✗

After (fixed):
Page 1 → 20 orders ✓
Page 2 → next 20 orders ✓
Page 3 → next 20 orders ✓

Additional Order Export Improvements

  • Guest order name fallback - Orders with missing customer names are now handled gracefully
  • Non-retryable error handling - Orders that fail with non-retryable errors are marked as SKIPPED in the database, preventing infinite retry loops

Improved Email Notifications

Smarter Batch Sending

The notification system has been reworked to prevent duplicate emails and improve delivery timing:

  • Flag-based tracking - Uses a persistent flag to track when the last batch was sent, replacing the unreliable cutoff time filter
  • Interval-based throttling - Respects the configured interval between batches
  • Context enrichment - Email alerts now include the current profile and process context, making it easier to identify which profile triggered the notification

Notification Details in Batch Emails

Batch summary emails now include individual notification details, giving you a complete picture of what happened without needing to check the Magento admin.

Post-Processor Guard

The product export engine now properly guards against post-processors running when a type processor fails or is skipped. This prevents cascading errors and ensures cleaner error reporting.

SKU Resolution Enhancement

A new plenty_variation_entity lookup has been added for SKU to variation ID resolution, providing a more reliable mapping between Magento SKUs and PlentyONE variation IDs.

Rebrand to Byte8 Ltd

All modules have been updated to reflect the company rebrand from Soft Commerce Ltd to Byte8 Ltd. This includes:

  • Copyright headers updated across all source files
  • License files updated with new company details and URLs
  • Guide URLs updated from softcommerce.io to byte8.io
  • Admin rebrand notice added to inform users of the change

Upgrade Guide

Prerequisites

  • Magento 2.4.6+ (2.4.8 recommended)
  • PHP 8.1+ (8.3 or 8.4 recommended)
  • Mage2Plenty v3.0.x

Quick Upgrade

# Update via Composer
composer require softcommerce/mage2plenty-os:^3.1

# Run Magento updates
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento cache:flush

Post-Upgrade Steps

  1. Configure Customer Group Mapping - In your order export profile, navigate to Customer Configuration and set up the Magento group to PlentyONE class mapping.
  2. Review Notification Settings - Check your notification interval settings as the batching logic has changed.
  3. Re-export affected orders - If customers were previously exported with the wrong class ID, re-export those orders to update the contact data in PlentyONE.

Updated Modules

ModuleVersionKey Changes
module-core2.4.0Rebrand notice, copyright updates
module-plenty-customer-profile2.1.2Customer group mapping for contact export
module-plenty-item2.4.0SKU to variation ID lookup enhancement
module-plenty-item-profile3.0.2Post-processor guard on type failure
module-plenty-order-profile2.4.1Pagination fix, guest name fallback, skip non-retryable
module-plenty-profile2.1.2URL rebrand to byte8.io
module-profile-notification2.1.0Batch tracking, context enrichment, detail emails
+ 14 more modulesvariousCopyright headers updated to Byte8 Ltd

Resources


Questions about the upgrade? Reach out to us at support@byte8.io.