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 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 payment4
- In preparation for shipping5
- Cleared for shipping7
- Shipped9
- 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 Status | Magento Status | Workflow |
---|---|---|
3 (Waiting payment) | pending_payment | Awaiting payment |
4 (In preparation) | processing | Ready to ship |
5 (Cleared) | processing | Cleared for shipping |
7 (Shipped) | complete | Order fulfilled |
8 (Cancelled) | canceled | Order cancelled |
9 (Return) | closed | Return processed |
Magento Statuses Available:
pending
- Order receivedpending_payment
- Awaiting paymentprocessing
- Being processedcomplete
- Order completeclosed
- Order closedcanceled
- Order cancelledholded
- On holdpayment_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 Method | Magento Method | Description |
---|---|---|
1 (Cash) | cashondelivery | Cash on Delivery |
2 (Credit Card) | plentyone | PlentyONE Payment |
4 (PayPal) | plentyone | PlentyONE Payment |
6 (Invoice) | plentyone | PlentyONE Payment |
7 (Amazon Pay) | plentyone | PlentyONE Payment |
PlentyONE Payment Method:
- Internal payment method for orders paid outside Magento
- See Payment Method Configuration
- Must be enabled for order import to work
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 Shipping | Magento Shipping | Carrier |
---|---|---|
DHL | flatrate_flatrate | Flat Rate |
DHL Express | tablerate_bestway | Table Rates |
Hermes | flatrate_flatrate | Flat Rate |
Amazon Logistics | freeshipping_freeshipping | Free 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 Field | Magento Field |
---|---|
name1 | firstname |
name2 | lastname |
name3 | company |
address1 | street[0] |
address2 | street[1] |
postalCode | postcode |
town | city |
countryId | country_id |
phone | telephone |
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:
- Check Import Status Filter: Verify PlentyONE order status is in import list
- Verify Payment Method: Ensure PlentyONE payment method is enabled in Magento
- Check Product Existence: Verify order products exist in Magento
- Review Address Validation: Check if addresses pass validation
Order Import with Wrong Status
Solutions:
- Review Status Mapping: Check PlentyONE → Magento status mapping
- Check Default Status: Verify default status for unmapped statuses
- Update Mapping: Add missing status mappings
Customer Not Created
Solutions:
- Enable Customer Creation: Set
create_customer
to Yes - Check Email Exists: Verify customer with email doesn't already exist
- Review Customer Group: Ensure customer group is set
Products Missing in Order
Solutions:
- Check Product Matching: Verify matching attribute (SKU) is correct
- Enable Product Creation: Consider enabling
create_missing_products
- Pre-Import Products: Import products before importing orders
- Review SKU Format: Ensure SKUs match between systems
Invoice Not Created
Solutions:
- Enable Auto-Invoice: Set
auto_create_invoice
to Yes - Check Order Status: Verify order status allows invoicing
- Check Payment Status: Ensure order is marked as paid
Best Practices
Initial Setup
- Import Products First: Ensure all products exist before importing orders
- Configure Payment Method: Enable PlentyONE payment method
- Map Statuses: Set up complete status mapping
- Test with One Order: Import single order to validate configuration
Ongoing Operations
- Frequent Imports: Run every 15-30 minutes for near real-time
- Status Filtering: Only import relevant statuses
- Monitor for Errors: Check execution history regularly
- Address Validation: Keep validation enabled for data quality
Marketplace Integration
- Separate Referrers: Use different PlentyONE referrers per marketplace
- Customer Groups: Assign marketplace customers to specific groups
- Payment Mapping: All marketplace payments →
plentyone
method - Order Prefix: Consider adding marketplace prefix to order numbers
Performance
- Batch Size: 25-100 orders per execution
- Date Filters: Limit import to recent orders
- Status Filtering: Only import processable statuses
- Off-Peak Scheduling: Import during low-traffic periods