Skip to main content

Product Export Profile

The Product Export Profile synchronizes product catalog data from Magento to PlentyONE, creating and updating items, variations, prices, images, and attributes in your ERP system.

Overview

Profile Type ID: plenty_item_export Direction: Magento → PlentyONE Purpose: Export complete product catalog to PlentyONE for inventory management and fulfillment

What Gets Exported

  • Products: Simple and configurable products as PlentyONE items
  • Variations: Configurable children as PlentyONE variations
  • Attributes: Product attributes to PlentyONE properties
  • Prices: All price types (base, special, tier, group)
  • Images: Product images to PlentyONE media library
  • Inventory: Stock quantities (or use Stock Export for MSI)
  • Categories: Product-category links
  • Related Products: Cross-sell and up-sell relationships

Product Type Mapping

Magento ProductPlentyONE StructureNotes
Simple ProductItem (single variation)Standalone product
Configurable ProductItem + VariationsParent with children
Grouped ProductItem GroupProduct grouping
Bundle ProductBundle ItemBundled products

Key Configuration Differences

Product Export shares most settings with Product Import, with these key additions:

Event Configuration

Automate product exports with event observers.

Export New Products Automatically

Field: new_entity_observer Type: Checkbox Default: No Scope: Global

Automatically add newly created products to export queue.

Workflow:

  1. Admin creates product in Magento
  2. Observer detects new product
  3. Product added to export queue
  4. Next scheduled execution exports to PlentyONE

Use Cases:

  • ✅ Real-time product synchronization
  • ✅ Automated new product launches
  • ✅ Multi-user catalog management
  • ❌ Manual control over exports (disable)

Export Updated Products

Field: updated_entity_observer Type: Checkbox Default: No Scope: Global

Automatically queue products when updated.

Triggers:

  • Price changes
  • Attribute updates
  • Image changes
  • Category assignments
  • Stock updates

When to Enable:

  • ✅ Frequent product updates
  • ✅ Real-time price synchronization
  • ✅ Automated catalog management

When to Disable:

  • ❌ Batch updates preferred
  • ❌ Manual sync control needed
  • ❌ High update volume (performance)

Delete Products in PlentyONE

Field: deleted_entity_observer Type: Checkbox Default: No Scope: Global

Delete PlentyONE items when products deleted in Magento.

Destructive Action

Permanently deletes items in PlentyONE. This removes all item data, variations, and history. Cannot be undone.

Safety Considerations:

  • Only enable if Magento is the master catalog
  • Consider disabling items instead of deleting
  • Ensure PlentyONE data is backed up
  • Test thoroughly in staging first

Variation Export Strategy

Control how Magento configurable products map to PlentyONE.

Variation Handling

Field: variation_export_mode Type: Select

Options:

ModeBehaviorUse Case
Create VariationsConfigurable → Item with variationsStandard ERP export
Separate ItemsEach child → separate itemMarketplace integration
Main Product OnlyExport parent, skip childrenSimplified catalog
Skip ConfigurablesExport simple products onlyBasic inventory

Example: Create Variations

Magento:
Configurable: T-Shirt (SKU: TSHIRT)
↳ Simple: T-Shirt Red S (SKU: TSHIRT-RED-S)
↳ Simple: T-Shirt Blue M (SKU: TSHIRT-BLUE-M)

PlentyONE:
Item: T-Shirt (Item ID: 1001)
↳ Variation 1: Red / S
↳ Variation 2: Blue / M

Variation Attribute Mapping

Define which Magento attributes become variation properties.

Configuration:

Magento Attribute → PlentyONE Variation Property

color → attribute_1 (Color)
size → attribute_2 (Size)
material → attribute_3 (Material)

Variation Properties in PlentyONE:

  • attribute_1 - Usually Color
  • attribute_2 - Usually Size
  • attribute_3 - Custom variation property
  • attribute_4 - Additional property

Price Export Configuration

Price Type Mapping

Map Magento price types to PlentyONE price configurations.

Field: price_type_mapping Type: Dynamic Rows

Example Mapping:

Magento Price TypePlentyONE Price IDUse Case
Base Price1 (Default)Standard retail price
Special Price2 (Sale)Promotional pricing
Tier Price (Qty 10+)3 (Wholesale)Bulk pricing
Group Price (Wholesale)4 (B2B)Business customer pricing

Tax Configuration

Field: tax_export_mode Type: Select

Options:

  • Net Prices: Export prices excluding tax
  • Gross Prices: Export prices including tax
  • Both: Export both net and gross

Tax Class Mapping:

Magento Tax Class → PlentyONE Tax Rate

Taxable Goods → 19% VAT (Germany)
Reduced Rate → 7% VAT (Germany)
Zero Rate → 0% VAT

Media Export

Image Export Strategy

Field: image_export_mode Type: Select

Options:

  • Upload to PlentyONE: Upload images to PlentyONE CDN
  • Send URLs: Provide Magento image URLs
  • Skip Images: Don't export images

Image Role Mapping

Map Magento image roles to PlentyONE image positions.

Magento RolePlentyONE PositionDescription
Base ImagePosition 1Primary product image
Small ImagePosition 2Thumbnail
Swatch ImagePosition 3Color/variant swatch
Additional ImagesPosition 4+Gallery images

Inventory Export

Basic stock export (use Stock Export for advanced MSI).

Fields:

  • Export Stock Quantity: Include qty in export
  • Stock Warehouse Mapping: Map to PlentyONE warehouse
  • Stock Status: In stock / Out of stock flag

Simple Configuration:

Magento Stock → PlentyONE Warehouse 0 (Default)
Qty Available → Stock Quantity
Stock Status → Availability (In Stock/Out of Stock)

Attribute Export Mapping

Standard Attributes

Magento AttributePlentyONE FieldRequired
namenameYes
skunumberYes
descriptiondescriptionNo
short_descriptionshortDescriptionNo
pricepriceYes
weightweightNo
manufacturermanufacturerNo
eanbarcode (EAN)No

Custom Attributes

Field: custom_attribute_mapping Type: Dynamic Rows

Example:

Magento AttributePlentyONE PropertyType
warranty_periodProperty 150Text
energy_ratingProperty 151Selection
eco_friendlyProperty 152Checkbox

CLI Commands

# Export all products
bin/magento softcommerce:plenty:item:export --profile-id=6

# Export specific products
bin/magento softcommerce:plenty:item:export --profile-id=6 --entity-ids=10,20,30

# Export new products only
bin/magento softcommerce:plenty:item:export --profile-id=6 --new-only

# Export with specific store view
bin/magento softcommerce:plenty:item:export --profile-id=6 --store-id=1

# Force re-export (ignore change detection)
bin/magento softcommerce:plenty:item:export --profile-id=6 --force

# Export without images (faster)
bin/magento softcommerce:plenty:item:export --profile-id=6 --skip-media

# Process export queue
bin/magento softcommerce:plenty:item:export --profile-id=6 --queue

Troubleshooting

Products Not Exporting

Solutions:

  1. Check if product is in export queue:
    bin/magento softcommerce:plenty:item:queue --list
  2. Verify product visibility and status
  3. Check attribute set mapping exists
  4. Review required attribute completeness

Variations Not Creating in PlentyONE

Solutions:

  1. Verify variation_export_mode is "Create Variations"
  2. Check variation attribute mapping
  3. Ensure configurable attributes are exported
  4. Verify child products have required variation attributes

Images Not Uploading

Solutions:

  1. Check image_export_mode setting
  2. Verify image file exists and is accessible
  3. Check PlentyONE media upload permissions
  4. Review image size limits
  5. Ensure image URLs are publicly accessible (if using URL mode)

Incorrect Prices in PlentyONE

Solutions:

  1. Verify price type mapping
  2. Check tax export mode matches your setup
  3. Review currency conversion settings
  4. Ensure price decimals are correct

Export Queue Growing

Problem: Export queue fills up, products don't export

Solutions:

  1. Check Schedule: Ensure profile runs frequently enough
  2. Increase Batch Size: Process more products per run
  3. Disable Auto-Queue: Turn off observers temporarily
  4. Process Queue Manually:
    bin/magento softcommerce:plenty:item:export --profile-id=6 --queue --batch-size=100
  5. Clear Old Queue Items:
    bin/magento softcommerce:plenty:item:queue --clear-processed

Best Practices

Event-Driven Exports

  1. Enable for Real-Time: Use observers for automated sync
  2. Monitor Queue: Check queue regularly for stuck items
  3. Batch Processing: Use schedule for queue processing
  4. Test in Staging: Validate observer behavior before production

Performance Optimization

  1. Batch Size: 25-100 products per batch
  2. Off-Peak Scheduling: Run large exports during low traffic
  3. Selective Export: Export only changed products
  4. Image Strategy: Consider URL mode vs upload for large catalogs
  5. Queue Management: Process queue every 15-30 minutes

Data Quality

  1. Required Attributes: Ensure all required fields are populated
  2. SKU Uniqueness: Verify SKUs are unique before export
  3. Price Accuracy: Double-check price and tax calculations
  4. Image Quality: Optimize images before export
  5. Validation: Run test exports before full catalog sync

Multi-Store Exports

  1. Store View Data: Export locale-specific content per store
  2. Price per Store: Map store-specific pricing correctly
  3. Inventory per Store: Consider MSI for multi-source inventory
  4. Test Each Store: Validate exports for all store views