Customer Import Profile
The Customer Import Profile synchronizes customer data from PlentyONE to Magento, creating and updating customer accounts, addresses, and related information.
Overview
Profile Type ID: plenty_customer_import
Direction: PlentyONE → Magento
Purpose: Import customer accounts, addresses, groups, and contact details from PlentyONE
What Gets Imported
- Customer accounts and contact information
- Customer addresses (billing and shipping)
- Customer groups and classifications
- Customer prefix/gender mappings
- Multi-store customer assignments
Use Cases
- Marketplace Integration: Import customers from Amazon, eBay orders processed in PlentyONE
- ERP Migration: Import existing customer base from PlentyONE
- Multi-Channel Sync: Sync customers from various sales channels via PlentyONE
- B2B Customer Management: Import business customers with custom groups
Unique Configuration Sections
Beyond the standard profile sections (Client, Schedule, API, Store, Log), Customer Import includes:
Customer Configuration
Controls how customer data is imported and mapped.
Enable Customer Import
Field: is_active
Type: Checkbox
Default: Yes
Scope: Global
Master toggle to enable/disable customer import functionality.
When Disabled:
- Customer data is not imported
- All customer-related configuration is hidden
- Useful when only importing orders without customer sync
Create Address
Field: create_address
Type: Checkbox
Default: No
Scope: Global
Automatically create customer addresses during import.
Options:
- Enabled: Creates billing and shipping addresses from PlentyONE data
- Disabled: Only creates customer account, no addresses
Use Cases:
- ✅ Enable for full customer data sync
- ✅ Enable for marketplace order imports
- ❌ Disable if addresses are managed separately
Default Customer Group
Field: default_group
Type: Select
Scope: Global
Assign new customers to a default Magento customer group.
Behavior:
- Applied when no group mapping matches
- System configuration default is used if not set
- Can be overridden by group mapping
Common Groups:
- General (default retail customers)
- Wholesale (B2B customers)
- VIP (premium customers)
- NOT LOGGED IN (guest customers)
Customer Group Mapping
Field: group_mapping
Type: Dynamic Rows
Scope: Global
Map PlentyONE customer classes to Magento customer groups.
Fields per Row:
Field | Type | Description |
---|---|---|
Magento Group | Select (required) | Magento customer group |
PlentyONE Group | Select (required) | PlentyONE customer class |
Example Mapping:
Magento Group | PlentyONE Group | Use Case |
---|---|---|
General | Standard Customer | Retail customers |
Wholesale | Business Customer | B2B customers |
VIP | Premium Customer | High-value customers |
Retailer | Reseller | Distribution partners |
Mapping Logic:
- Check if PlentyONE customer has a class/group
- Look for matching mapping in configuration
- If found, assign Magento group from mapping
- If not found, use Default Customer Group
- If default not set, use system configuration default
Gender Mapping
Field: gender_mapping
Type: Dynamic Rows
Scope: Global
Map customer prefix (title) to PlentyONE gender values.
Fields per Row:
Field | Type | Description |
---|---|---|
Magento Prefix | Select (required) | Customer name prefix |
PlentyONE Gender | Select (required) | Gender identifier |
Common Mappings:
Magento Prefix | PlentyONE Gender | Use Case |
---|---|---|
Mr. | male | Male customers |
Mrs. | female | Married female customers |
Ms. | female | Female customers |
Dr. | company | Business/Professional |
PlentyONE Gender Values:
male
- Malefemale
- Femalediverse
- Diverse/Othercompany
- Company/Business
Why This Matters:
- Personalized communication
- Proper address formatting
- Compliance with data protection regulations
- Cultural considerations in different markets
Address Field Mapping
Field: address_field_mapping
Type: Dynamic Rows
Scope: Global
Map PlentyONE address fields to Magento address attributes.
Fields per Row:
Field | Type | Description |
---|---|---|
Magento Address Field | Select (required) | Magento address attribute |
PlentyONE Address Field | Select (required) | PlentyONE address field |
Standard Mappings:
Magento Field | PlentyONE Field | Notes |
---|---|---|
firstname | firstName | First name |
lastname | lastName | Last name |
company | companyName | Company name |
street | street | Street address |
postcode | postalCode | ZIP/Postal code |
city | town | City |
region | state | State/Province |
country_id | country | Country code |
telephone | phone | Phone number |
fax | fax | Fax number |
Custom Field Mapping:
- Map PlentyONE custom fields to Magento custom attributes
- Create Magento customer address attributes first
- Then add mapping for data import
Store Configuration (Extended)
Customer Import includes additional store-related settings:
Enable Store Filter
Field: is_active_store_filter
Type: Checkbox
Default: No
Scope: Global
Restrict customer import by mapped stores.
How It Works:
- Enabled: Only import customers from mapped stores
- Disabled: Import all customers regardless of store
Use Case:
Scenario: Multi-store with regional separation
Store Mapping:
- US Store → PlentyONE Client US
- EU Store → PlentyONE Client EU
Enable Store Filter: Yes
Result: US customers only imported to US store
Referrer
Field: referer_id
Type: Select (required)
Scope: Website
Assign a PlentyONE referrer (order origin) to imported customers.
What is a Referrer?
- Identifies the source/origin of the customer
- Used for tracking and reporting in PlentyONE
- Links customers to specific sales channels
Common Referrers:
- Magento Store
- Amazon
- eBay
- Manual Entry
- API
Action Button: New Referrer
- Click to create a new referrer in PlentyONE
- Opens modal for referrer creation
- Immediately available after creation
Configuration Workflow
Setup Customer Import
-
Enable Customer Import
- Set
is_active
to Yes - Enable
create_address
if importing addresses
- Set
-
Configure Default Group
- Select appropriate default customer group
- Will be used when no mapping matches
-
Map Customer Groups
- Add row for each PlentyONE customer class
- Map to appropriate Magento group
- Consider B2B vs B2C classifications
-
Configure Gender Mapping (if using prefixes)
- Map each prefix to PlentyONE gender
- Cover all used prefixes in your stores
- Consider cultural variations per locale
-
Map Address Fields
- Map all standard fields (name, street, city, etc.)
- Add custom field mappings if needed
- Verify country code format matches
-
Configure Store Settings
- Set up store mapping (store → client → locale)
- Enable store filter if needed
- Select appropriate referrer
-
Test Import
- Run manual execution with small customer set
- Verify customer data in Magento
- Check addresses are correct
- Validate group assignments
CLI Commands
# Execute customer import
bin/magento softcommerce:plenty:customer:import --profile-id=3
# Import specific customers
bin/magento softcommerce:plenty:customer:import --profile-id=3 --entity-ids=100,101,102
# Import with store filter
bin/magento softcommerce:plenty:customer:import --profile-id=3 --store-id=1
Troubleshooting
Customers Assigned to Wrong Group
Problem: Imported customers appear in incorrect customer group
Solutions:
- Review Group Mapping: Verify PlentyONE → Magento group mappings
- Check Default Group: Ensure default group is set correctly
- Verify PlentyONE Data: Confirm customer class is set in PlentyONE
Missing Customer Addresses
Problem: Customers import but have no addresses
Solutions:
- Enable Create Address: Set
create_address
to Yes - Check Address Field Mapping: Verify all fields are mapped
- Review PlentyONE Data: Ensure addresses exist in PlentyONE
- Check Address Type: Verify billing/shipping address availability
Incorrect Prefix/Gender
Problem: Customer prefix doesn't match
Solutions:
- Review Gender Mapping: Check prefix → gender mappings
- Add Missing Prefixes: Map any unmapped prefix values
- Check PlentyONE Gender: Verify gender value in PlentyONE contact
Best Practices
Customer Group Management
- Plan Group Structure: Define groups before importing
- Map All Classes: Cover all PlentyONE customer classes
- Set Sensible Default: Choose appropriate default group
- Test Group Assignment: Verify customers land in correct groups
Address Data Quality
- Map All Fields: Don't leave address fields unmapped
- Validate Format: Ensure country codes match (ISO codes)
- Handle Missing Data: Plan for customers without full address
- Test Per Country: Verify addresses for different countries
Multi-Store Customers
- Store Filter: Use for regional customer separation
- Referrer Tracking: Assign appropriate referrer per store
- Locale Matching: Ensure locale aligns with store language