Order Export Profile
The Order Export Profile is the MOST CRITICAL profile for Magento-PlentyONE integration. It exports Magento store orders to PlentyONE for inventory management, fulfillment, and shipping.
Overview
Profile Type ID: plenty_order_export
Direction: Magento → PlentyONE
Purpose: Export Magento web store orders to PlentyONE for processing and fulfillment
What Gets Exported
- Orders: Complete order data with line items
- Customers: Customer information (creates contacts in PlentyONE)
- Addresses: Billing and shipping addresses
- Order Totals: Prices, tax, shipping, discounts
- Payment Information: Payment method and status
- Shipping Method: Selected shipping option
- Order Comments: Customer notes and instructions
Primary Workflow
Customer Places Order (Magento)
↓
Order Export Profile Runs
↓
Order Created in PlentyONE
↓
Warehouse Fulfills Order
↓
Shipping Tracking Updated
↓
Order Status Synced Back (Order Import)
↓
Customer Notified (Magento)
Order Configuration
Export Trigger Settings
Export Order Status
Field: export_order_status
Type: Multiselect
Scope: Global
Default: processing
Select which Magento order statuses trigger export to PlentyONE.
Magento Statuses:
pending
- Order placed, payment pendingpending_payment
- Awaiting payment confirmationprocessing
- Payment received, ready to shipcomplete
- Order fulfilledholded
- On holdpayment_review
- Payment under review
Recommended Configuration:
Export Order Status: processing
Reason: Only export paid orders ready for fulfillment
Multi-Status Strategy:
Export Order Status: pending_payment, processing
Reason: Export immediately, PlentyONE holds until paid
Prevent Duplicate Export
Field: prevent_duplicate_export
Type: Checkbox
Default: Yes
Prevent re-exporting orders that already exist in PlentyONE.
Behavior:
- Enabled: Skip orders with existing PlentyONE order ID
- Disabled: Allow re-export (updates existing orders)
Automatic Export (Event-Driven)
Export New Orders Automatically
Field: new_order_observer
Type: Checkbox
Default: Yes
Scope: Global
Automatically export orders when they reach configured status.
Workflow:
- Customer completes checkout
- Order reaches "processing" status
- Observer detects status change
- Order added to export queue
- Next profile execution exports order
When to Enable:
- ✅ Real-time order fulfillment
- ✅ Automated order processing
- ✅ Standard e-commerce workflow
When to Disable:
- ❌ Manual review required before export
- ❌ Batch export during specific times
- ❌ Custom approval workflow
Customer Export
Create Customer in PlentyONE
Field: export_customer
Type: Checkbox
Default: Yes
Create PlentyONE contact when exporting order.
Behavior:
- Enabled: Creates/updates customer as PlentyONE contact
- Disabled: Creates order without linking to contact
Recommendation: Always enable for complete customer data sync
Customer Type Mapping
Field: customer_type_mapping
Type: Dynamic Rows
Map Magento customer groups to PlentyONE contact types.
Example:
Magento Group | PlentyONE Type | Use Case |
---|---|---|
General | Customer | B2C retail |
Wholesale | Business | B2B wholesale |
VIP | Premium | VIP customers |
Payment Method Mapping
Field: payment_method_mapping
Type: Dynamic Rows
Map Magento payment methods to PlentyONE payment methods.
Critical Mapping Examples:
Magento Payment | PlentyONE Method ID | PlentyONE Method Name |
---|---|---|
checkmo | 1 | Cash in advance |
cashondelivery | 1 | Cash on delivery |
banktransfer | 1 | Bank transfer |
paypal_express | 4 | PayPal |
authorizenet | 2 | Credit card |
stripe | 2 | Credit card |
braintree | 4 | PayPal |
PlentyONE Payment Method IDs (Common):
1
- Cash / Bank Transfer2
- Credit Card4
- PayPal6
- Invoice7
- Amazon Pay
How to Get PlentyONE Payment IDs:
- Click "Collect Configuration Data" in Client Configuration
- Payment methods are fetched from PlentyONE
- Available in mapping dropdowns
Every Magento payment method MUST be mapped. Orders with unmapped payment methods will fail to export.
Shipping Method Mapping
Field: shipping_method_mapping
Type: Dynamic Rows
Map Magento shipping methods to PlentyONE shipping profiles.
Example Mapping:
Magento Shipping | PlentyONE Shipping Profile | Carrier |
---|---|---|
flatrate_flatrate | 1 (Standard Shipping) | DHL |
tablerate_bestway | 2 (Express) | DHL Express |
freeshipping_freeshipping | 3 (Free Shipping) | DHL |
ups_03 | 4 (UPS Ground) | UPS |
fedex_FEDEX_GROUND | 5 (FedEx Ground) | FedEx |
Shipping Profile Configuration:
- Run "Collect Configuration Data"
- PlentyONE shipping profiles are fetched
- Available in mapping dropdowns
Default Shipping Profile:
- Field:
default_shipping_profile
- Type: Select
- Purpose: Fallback for unmapped methods
Order Referrer
Field: order_referrer_id
Type: Select
Scope: Website
Required: Yes
Assign a PlentyONE referrer (order source) to exported orders.
What is a Referrer?
- Identifies the order source/channel in PlentyONE
- Used for reporting and analytics
- Tracks sales by channel
Referrer Strategy:
Single Store:
Order Referrer: Magento Store
All Magento orders → "Magento Store" referrer
Multi-Store:
US Store → Referrer: Magento US
EU Store → Referrer: Magento EU
B2B Store → Referrer: Magento B2B
Create New Referrer:
- Click "New Referrer" button
- Opens modal to create referrer in PlentyONE
- Immediately available after creation
Order Status After Export
Field: magento_status_after_export
Type: Select
Default: (unchanged)
Change Magento order status after successful export.
Options:
- (unchanged) - Keep current status
processing
- Set to Processingplenty_exported
- Custom "Exported to PlentyONE" statuspending_fulfillment
- Awaiting fulfillment
Custom Status Workflow:
Create custom status: "Exported to PlentyONE"
1. Stores → Order Status → Create New Status
2. Status Code: plenty_exported
3. Status Label: Exported to PlentyONE
4. Assign to State: processing
Then in profile:
Magento Status After Export: plenty_exported
Order Item Configuration
Product Identification
Field: product_identifier
Type: Select
How to identify products in PlentyONE.
Options:
- SKU - Match by Magento SKU (recommended)
- PlentyONE Item ID - Use stored item ID
- Variation Number - Use variation number
- Barcode - Use EAN/UPC
Recommended: SKU (most reliable)
Handle Missing Products
Field: missing_product_action
Type: Select
What to do when order product doesn't exist in PlentyONE.
Options:
- Skip Order - Don't export order (safest)
- Skip Item - Export order without missing items
- Create Product - Create product in PlentyONE
- Use Fallback SKU - Replace with placeholder product
Recommended for Production: Skip Order (prevents incomplete orders)
Bundle Product Handling
Field: bundle_export_mode
Type: Select
How to export bundle products.
Options:
- As Bundle - Export as bundle item
- Separate Items - Export bundle children separately
- Parent Only - Export parent item only
Price Configuration
Price Export Mode
Field: price_export_mode
Type: Select
Options:
- Gross Prices - Prices including tax
- Net Prices - Prices excluding tax
- Both - Export both gross and net
Regional Considerations:
- US/UK: Usually gross prices
- EU: Often net prices
- B2B: Typically net prices
Currency Handling
Field: export_order_currency
Type: Checkbox
Default: Yes
Export order in original currency.
Behavior:
- Enabled: Use order's original currency
- Disabled: Convert to base currency
Tax Export
Field: export_tax_details
Type: Checkbox
Default: Yes
Include detailed tax information.
Exported Tax Data:
- Tax rate
- Tax amount per item
- Total tax amount
- Tax class
Event Configuration
Auto-Export on Order Status Change
Field: order_status_change_observer
Type: Checkbox
Default: Yes
Export order when it reaches configured status.
Workflow:
Order Created (pending_payment)
↓
Payment Received
↓
Status Changed to "processing"
↓
Observer Triggered
↓
Order Added to Export Queue
↓
Export Profile Runs
↓
Order in PlentyONE
Update Exported Orders
Field: update_exported_orders
Type: Checkbox
Default: No
Re-export when exported orders are modified.
When to Enable:
- ✅ Allow order modifications before shipping
- ✅ Update addresses or items after export
- ❌ Orders locked after export (safer)
CLI Commands
# Export all pending orders
bin/magento softcommerce:plenty:order:export --profile-id=8
# Export specific order
bin/magento softcommerce:plenty:order:export --profile-id=8 --order-id=1000001
# Export orders by status
bin/magento softcommerce:plenty:order:export --profile-id=8 --status=processing
# Export with date range
bin/magento softcommerce:plenty:order:export --profile-id=8 --from-date="2024-01-01"
# Process export queue
bin/magento softcommerce:plenty:order:export --profile-id=8 --queue
# Force re-export (update)
bin/magento softcommerce:plenty:order:export --profile-id=8 --order-id=1000001 --force
Troubleshooting
Orders Not Exporting
Solutions:
- Check Export Status: Verify order is in configured export statuses
- Verify Auto-Export: Ensure
new_order_observer
is enabled - Review Queue: Check export queue for stuck orders
bin/magento softcommerce:plenty:order:queue --list
- Check Payment Mapping: Ensure payment method is mapped
- Verify Shipping Mapping: Ensure shipping method is mapped
Payment Method Not Mapped Error
Problem: Order export fails with "Payment method not mapped"
Solutions:
- Check Payment Mapping: Add missing payment method to mapping
- Collect Config Data: Refresh PlentyONE payment methods
- Check Payment Method Code: Verify exact method code in Magento
- Set Default Payment: Configure fallback payment method
Shipping Method Not Mapped
Problem: Export fails with "Shipping method not found"
Solutions:
- Check Shipping Mapping: Add missing shipping method
- Collect Config Data: Refresh PlentyONE shipping profiles
- Set Default Shipping: Configure default shipping profile
- Check Method Code: Verify exact shipping method code
Customer Not Created in PlentyONE
Solutions:
- Enable Customer Export: Set
export_customer
to Yes - Check Customer Data: Verify customer has required fields
- Review Customer Type: Ensure customer group is mapped
- Check Addresses: Verify addresses are complete
Order Exported But Missing Items
Solutions:
- Check Product Matching: Verify SKUs match PlentyONE
- Review Missing Product Action: Check configuration
- Import Products First: Ensure products exist in PlentyONE
- Check Product Identifier: Verify identifier method
Best Practices
Initial Configuration
- Payment Mapping: Map ALL payment methods before going live
- Shipping Mapping: Map ALL shipping methods
- Test Orders: Create test orders for each payment/shipping combo
- Verify in PlentyONE: Check orders appear correctly in PlentyONE
- Customer Data: Ensure customer export is enabled
Production Operation
- Auto-Export: Enable automatic export for real-time processing
- Queue Processing: Run export every 5-15 minutes
- Monitor Queue: Check for stuck orders daily
- Error Alerts: Set up notifications for failed exports
- Backup Configuration: Export profile configuration regularly
Multi-Store Setup
- Separate Referrers: Use different referrer per store
- Store-Specific Mapping: Configure payment/shipping per store
- Test Each Store: Validate exports for all stores
- Currency Handling: Consider currency conversion needs
Performance
- Batch Size: 25-100 orders per execution
- Frequent Execution: Every 5-15 minutes
- Off-Peak Processing: Handle bulk exports during low traffic
- Queue Management: Monitor and clear completed queue items
Order Data Quality
- Required Fields: Ensure addresses have all required fields
- Product Existence: Import products before orders
- SKU Matching: Use consistent SKU format across systems
- Price Accuracy: Verify tax calculations match
Critical Success Factors
Must-Have Configuration
- ✅ Payment Mapping Complete: Every payment method mapped
- ✅ Shipping Mapping Complete: Every shipping method mapped
- ✅ Referrer Selected: Order referrer configured
- ✅ Customer Export Enabled: Creates contacts in PlentyONE
- ✅ Auto-Export Enabled: For real-time processing
Pre-Launch Checklist
- All payment methods mapped
- All shipping methods mapped
- Order referrer configured
- Customer export enabled
- Test order successfully exported
- Order appears correctly in PlentyONE
- Auto-export observer enabled
- Schedule configured (every 5-15 min)
- Error logging enabled
- Notification alerts set up