Skip to main content

Order Import Profile

The Order Import Profile synchronizes orders from PlentyONE to Magento, primarily used for importing marketplace orders (Amazon, eBay, etc.) that are processed through PlentyONE.

Overview

Profile Type ID: plenty_order_import Direction: PlentyONE → Magento Purpose: Import orders from external marketplaces and PlentyONE-managed sales channels into Magento

What Gets Imported

  • Orders: Complete order data with line items
  • Customers: Customer information (if not exists)
  • Addresses: Billing and shipping addresses
  • Order Status: Current order state and status
  • Payments: Payment method and transaction data
  • Shipping: Shipping method and tracking
  • Order Totals: Subtotals, tax, shipping, discounts, grand total

Primary Use Cases

  • Marketplace Orders: Import Amazon, eBay, Otto orders from PlentyONE
  • Multi-Channel Sales: Consolidate orders from various channels
  • Order Synchronization: Keep Magento updated with PlentyONE order changes
  • Fulfillment Tracking: Import shipping and tracking updates
Order Direction

Order Import is used for orders created OUTSIDE Magento (marketplaces, PlentyONE). For Magento store orders, use Order Export to send them to PlentyONE for fulfillment.

Order Configuration

Order Import Settings

Import Order Status

Field: import_order_status Type: Multiselect Scope: Global

Select which PlentyONE order statuses to import.

Common PlentyONE Statuses:

  • 3 - Waiting for payment
  • 4 - In preparation for shipping
  • 5 - Cleared for shipping
  • 7 - Shipped
  • 9 - Return

Example Configuration:

Import Order Status: 3, 4, 5
Result: Only imports orders in these statuses

Strategy:

  • ✅ Import paid/confirmed orders (Status 4, 5)
  • ✅ Import for tracking (Status 7 - Shipped)
  • ❌ Skip cancelled (Status 8)
  • ❌ Skip completed/archived (Status 10+)

Order Status Mapping

Field: order_status_mapping Type: Dynamic Rows

Map PlentyONE order statuses to Magento order statuses.

Fields per Row:

  • PlentyONE Status: Source status ID
  • Magento Status: Target status code

Example Mapping:

PlentyONE StatusMagento StatusWorkflow
3 (Waiting payment)pending_paymentAwaiting payment
4 (In preparation)processingReady to ship
5 (Cleared)processingCleared for shipping
7 (Shipped)completeOrder fulfilled
8 (Cancelled)canceledOrder cancelled
9 (Return)closedReturn processed

Magento Statuses Available:

  • pending - Order received
  • pending_payment - Awaiting payment
  • processing - Being processed
  • complete - Order complete
  • closed - Order closed
  • canceled - Order cancelled
  • holded - On hold
  • payment_review - Payment under review

Customer Handling

Create Customer if Not Exists

Field: create_customer Type: Checkbox Default: Yes Scope: Global

Automatically create Magento customer account for imported orders.

Behavior:

  • Enabled: Creates customer account if email doesn't exist
  • Disabled: Import order as guest

Use Cases:

  • ✅ Enable for marketplace orders (create customer accounts)
  • ✅ Enable for building customer database
  • ❌ Disable if orders should remain as guests

Customer Group for Imported Orders

Field: imported_order_customer_group Type: Select Default: General Scope: Global

Assign imported order customers to specific group.

Example Strategy:

Marketplace Orders → "Marketplace Customers" group
B2B Orders → "Wholesale" group

Payment Method Mapping

Field: payment_method_mapping Type: Dynamic Rows

Map PlentyONE payment methods to Magento payment methods.

Fields per Row:

  • PlentyONE Method ID: PlentyONE payment method ID
  • Magento Method Code: Magento payment method code

Example Mapping:

PlentyONE MethodMagento MethodDescription
1 (Cash)cashondeliveryCash on Delivery
2 (Credit Card)plentyonePlentyONE Payment
4 (PayPal)plentyonePlentyONE Payment
6 (Invoice)plentyonePlentyONE Payment
7 (Amazon Pay)plentyonePlentyONE Payment

PlentyONE Payment Method:

Recommended Mapping:

All PlentyONE payment methods → "plentyone"

Reason: Payment already processed in marketplace/PlentyONE

Shipping Method Mapping

Field: shipping_method_mapping Type: Dynamic Rows

Map PlentyONE shipping profiles to Magento shipping methods.

Fields per Row:

  • PlentyONE Shipping Profile: PlentyONE shipping ID
  • Magento Shipping Method: Magento method code

Example Mapping:

PlentyONE ShippingMagento ShippingCarrier
DHLflatrate_flatrateFlat Rate
DHL Expresstablerate_bestwayTable Rates
Hermesflatrate_flatrateFlat Rate
Amazon Logisticsfreeshipping_freeshippingFree Shipping

Default Shipping Method:

  • Field: default_shipping_method
  • Type: Select
  • Purpose: Fallback when no mapping matches

Order Item Configuration

Product Matching

Field: product_matching_attribute Type: Select

Define how to match PlentyONE items to Magento products.

Options:

  • SKU - Match by SKU (recommended)
  • PlentyONE Item ID - Match by item ID attribute
  • Variation Number - Match by variation number
  • Barcode - Match by EAN/UPC

Recommended: SKU (most reliable)

Create Product if Not Found

Field: create_missing_products Type: Checkbox Default: No

Create Magento products for unknown order items.

Behavior:

  • Enabled: Creates simple product for missing items
  • Disabled: Skips order if products missing (safer)

Use Cases:

  • ✅ Enable for marketplace-specific SKUs
  • ❌ Disable if all products should exist first

Invoice and Shipment

Auto-Create Invoice

Field: auto_create_invoice Type: Checkbox Default: Yes

Automatically create invoice when importing paid orders.

When to Enable:

  • ✅ Orders already paid in marketplace
  • ✅ Payment confirmed in PlentyONE
  • ✅ Automated invoicing workflow

Auto-Create Shipment

Field: auto_create_shipment Type: Checkbox Default: No

Automatically create shipment for shipped orders.

When to Enable:

  • ✅ Orders already shipped from PlentyONE
  • ✅ Importing tracking information
  • ✅ Automated fulfillment workflow

Address Handling

Address Validation

Field: validate_addresses Type: Checkbox Default: Yes

Validate addresses before importing orders.

Validation Checks:

  • Required fields present (name, street, city, postcode, country)
  • Country code is valid
  • Postcode format matches country
  • Street address not empty

Failed Validation:

  • Order import skipped
  • Error logged
  • Can be reviewed and manually corrected

Address Field Mapping

Similar to Customer Import, map PlentyONE address fields to Magento:

PlentyONE FieldMagento Field
name1firstname
name2lastname
name3company
address1street[0]
address2street[1]
postalCodepostcode
towncity
countryIdcountry_id
phonetelephone

CLI Commands

# Import orders
bin/magento softcommerce:plenty:order:import --profile-id=7

# Import specific order
bin/magento softcommerce:plenty:order:import --profile-id=7 --order-id=12345

# Import orders by date range
bin/magento softcommerce:plenty:order:import --profile-id=7 --from-date="2024-01-01" --to-date="2024-01-31"

# Import with specific status
bin/magento softcommerce:plenty:order:import --profile-id=7 --status=5

# Force re-import (update existing)
bin/magento softcommerce:plenty:order:import --profile-id=7 --force

Troubleshooting

Orders Not Importing

Solutions:

  1. Check Import Status Filter: Verify PlentyONE order status is in import list
  2. Verify Payment Method: Ensure PlentyONE payment method is enabled in Magento
  3. Check Product Existence: Verify order products exist in Magento
  4. Review Address Validation: Check if addresses pass validation

Order Import with Wrong Status

Solutions:

  1. Review Status Mapping: Check PlentyONE → Magento status mapping
  2. Check Default Status: Verify default status for unmapped statuses
  3. Update Mapping: Add missing status mappings

Customer Not Created

Solutions:

  1. Enable Customer Creation: Set create_customer to Yes
  2. Check Email Exists: Verify customer with email doesn't already exist
  3. Review Customer Group: Ensure customer group is set

Products Missing in Order

Solutions:

  1. Check Product Matching: Verify matching attribute (SKU) is correct
  2. Enable Product Creation: Consider enabling create_missing_products
  3. Pre-Import Products: Import products before importing orders
  4. Review SKU Format: Ensure SKUs match between systems

Invoice Not Created

Solutions:

  1. Enable Auto-Invoice: Set auto_create_invoice to Yes
  2. Check Order Status: Verify order status allows invoicing
  3. Check Payment Status: Ensure order is marked as paid

Best Practices

Initial Setup

  1. Import Products First: Ensure all products exist before importing orders
  2. Configure Payment Method: Enable PlentyONE payment method
  3. Map Statuses: Set up complete status mapping
  4. Test with One Order: Import single order to validate configuration

Ongoing Operations

  1. Frequent Imports: Run every 15-30 minutes for near real-time
  2. Status Filtering: Only import relevant statuses
  3. Monitor for Errors: Check execution history regularly
  4. Address Validation: Keep validation enabled for data quality

Marketplace Integration

  1. Separate Referrers: Use different PlentyONE referrers per marketplace
  2. Customer Groups: Assign marketplace customers to specific groups
  3. Payment Mapping: All marketplace payments → plentyone method
  4. Order Prefix: Consider adding marketplace prefix to order numbers

Performance

  1. Batch Size: 25-100 orders per execution
  2. Date Filters: Limit import to recent orders
  3. Status Filtering: Only import processable statuses
  4. Off-Peak Scheduling: Import during low-traffic periods