Swissup Checkout Fields Plugin
The Swissup Checkout Fields plugin integrates Swissup's Checkout Fields extension with Mage2Plenty, ensuring that custom checkout fields and their values are properly exported to PlentyONE with orders.
Overview
Package: softcommerce/module-plenty-swissup-checkout-fields
Category: Checkout & Forms
License: OSL-3.0 / AFL-3.0
Status: Production Ready
Features
- Custom Field Export: Exports all Swissup custom checkout fields with orders
- Field Mapping: Maps custom fields to PlentyONE order properties
- Multiple Field Types: Supports text, textarea, select, multiselect, date, checkbox fields
- Validation Data: Includes field validation rules and requirements
- Order Metadata: Stores custom field values in order metadata
- Multi-Store Support: Handles store-specific field configurations
Use Cases
Delivery Instructions
Scenario: Custom field for delivery instructions
Checkout Field:
Field: Delivery Instructions
Type: Textarea
Customer Input: "Please leave at back door"
Plugin Action:
- Captures delivery instructions value
- Exports as order property to PlentyONE
- Available for warehouse/fulfillment team
- Appears in order notes
Gift Message
Scenario: Gift order with custom message
Checkout Fields:
Is this a gift? → Yes (checkbox)
Gift Message → "Happy Birthday!" (textarea)
Gift Wrapping → "Premium Box" (select)
Plugin Action:
- Exports all gift-related fields
- Maps to PlentyONE order properties
- Maintains field relationships
- Enables gift processing workflow
Company Purchase Order
Scenario: B2B order with purchase order number
Checkout Field:
Field: PO Number
Type: Text
Required: Yes (for company accounts)
Customer Input: "PO-2024-12345"
Plugin Action:
- Validates required field
- Exports PO number to PlentyONE
- Maps to invoice reference field
- Available for accounting integration
Delivery Date Selection
Scenario: Customer selects preferred delivery date
Checkout Field:
Field: Preferred Delivery Date
Type: Date
Customer Input: 2024-12-25
Validation: Must be future date
Plugin Action:
- Exports date in ISO format
- Maps to PlentyONE delivery date field
- Enables delivery scheduling
- Available for logistics planning
Requirements
Magento Extensions
- Swissup Checkout Fields (
swissup/module-checkout-fields) - Required
Mage2Plenty Modules
softcommerce/module-plenty-order-profile- Required for order export
System Requirements
- Magento 2.4.4 - 2.4.8
- PHP 8.1 - 8.4
- Mage2Plenty connector installed and configured
Installation
Via Composer
# Install the plugin
composer require softcommerce/module-plenty-swissup-checkout-fields
# Run Magento setup
bin/magento setup:upgrade
bin/magento cache:flush
# For production (optional)
bin/magento setup:di:compile
bin/magento setup:static-content:deploy
Verify Installation
# Check module status
bin/magento module:status SoftCommerce_PlentySwissupCheckoutFields
# Should show as enabled
Configuration
Automatic Field Detection
The plugin automatically:
- Detects all active Swissup checkout fields
- Reads field values from orders
- Maps fields to PlentyONE properties
- Exports field data with orders
Field Mapping Configuration
Configure custom field mapping:
- Navigate to Stores → Configuration → Mage2Plenty → Checkout Fields
- Map Swissup fields to PlentyONE properties
- Set field export priorities
- Configure field formatting rules
Example Configuration
Swissup Field → PlentyONE Property
─────────────────────────────────────────────
delivery_instructions → Order Note 1
gift_message → Order Note 2
po_number → External Order ID
delivery_date → Estimated Shipping Date
company_vat → VAT Number
How It Works
Order Export Flow
Order Placed with Custom Fields
↓
Contains Checkout Fields? → No → Normal export
↓ Yes
Plugin Activated
↓
Retrieve Field Values
↓
Map to PlentyONE Properties
↓
Format Field Data
↓
Add to Order Export
↓
Export to PlentyONE
Data Processing
- Field Detection: Identify all Swissup fields attached to order
- Value Extraction: Read field values from order metadata
- Field Mapping: Map each field to corresponding PlentyONE property
- Data Formatting: Format values according to field type
- Export: Include field data in order export payload
Data Mapping
| Swissup Field Type | PlentyONE Field | Notes |
|---|---|---|
| Text | Custom Property | Plain text value |
| Textarea | Order Note | Multi-line text |
| Select | Custom Property | Selected option value |
| Multiselect | Custom Property | Comma-separated values |
| Date | Date Property | ISO 8601 format |
| Checkbox | Boolean Property | true/false |
Troubleshooting
Custom Fields Not Exported
Problem: Swissup checkout field values missing from PlentyONE
Solutions:
-
Verify plugin is enabled:
bin/magento module:status SoftCommerce_PlentySwissupCheckoutFields -
Check Swissup extension is installed:
bin/magento module:status Swissup_CheckoutFields -
Verify field has value in Magento order:
- View order in Admin
- Check Additional Information section
- Look for custom field values
-
Review order export logs:
tail -f var/log/softcommerce/plenty/order.log -
Ensure field mapping is configured
Field Values Incorrect
Problem: Field values exported but wrong in PlentyONE
Solutions:
-
Check field type matches expected format
-
Verify data formatting configuration
-
Review field value in Magento database:
SELECT * FROM swissup_checkout_field_value
WHERE order_id = [ORDER_ID]; -
Ensure no data transformation issues
-
Verify PlentyONE property accepts data type
Field Mapping Not Working
Problem: Fields export but don't appear in expected PlentyONE fields
Solutions:
-
Verify field mapping configuration:
- Stores → Configuration → Mage2Plenty → Checkout Fields
- Check field-to-property mappings
-
Ensure PlentyONE properties exist
-
Check property naming matches configuration
-
Verify property data types are compatible
-
Review PlentyONE order data structure
Multi-Select Values Issue
Problem: Multi-select field exports as single value
Solutions:
- Verify delimiter configuration (comma, semicolon, etc.)
- Check PlentyONE field accepts multiple values
- Review value formatting in export logs
- Ensure proper array-to-string conversion
- Consider mapping to multiple properties if needed
Best Practices
Field Configuration
- Meaningful Names: Use descriptive field codes for easy mapping
- Consistent Types: Standardize field types across store views
- Required vs Optional: Set appropriate validation rules
- Field Order: Organize fields logically in checkout
Field Mapping
- Documentation: Document which Swissup field maps to which PlentyONE property
- Naming Convention: Use consistent property naming
- Data Types: Match field types to property types
- Testing: Test each field mapping with sample orders
Order Processing
- Test Orders: Process test orders with various field combinations
- Verify Export: Check first custom field order in PlentyONE
- Monitor Logs: Watch for field-related export issues
- Regular Audits: Periodically verify field values in both systems
Multi-Store Setup
- Store-Specific Fields: Configure appropriate fields per store
- Locale Handling: Ensure field labels work in all languages
- Field Visibility: Control which fields appear in which stores
- Consistent Mapping: Maintain consistent mapping across stores
Common Field Types
Text Input
Field: Order Reference
Type: text
Max Length: 50
Export: Order external ID
Textarea
Field: Special Instructions
Type: textarea
Rows: 5
Export: Order note 1
Select Dropdown
Field: Delivery Time Preference
Type: select
Options: Morning|Afternoon|Evening
Export: Custom delivery time property
Date Picker
Field: Desired Delivery Date
Type: date
Format: Y-m-d
Export: Estimated shipping date
Checkbox
Field: Subscribe to SMS Updates
Type: checkbox
Export: Boolean custom property
Related Plugins
Checkout Extensions
- Packstation - DHL Packstation addresses
Order Export
- Order Export Profile - Configure order synchronization
- Customer Export Profile - Customer data sync
Support
Getting Help
If you encounter issues:
- 📧 Email: support@softcommerce.co.uk
- 📞 Phone: +44 2080 587 795 (GMT working hours)
- 🐛 Bug Reports: GitHub Issues
Swissup Resources
- Swissup Documentation: docs.swissuplabs.com
- Checkout Fields Guide: Check Swissup docs for field configuration
Source Code
- Location:
/packages/modules/module-plenty-swissup-checkout-fields - License: OSL-3.0 / AFL-3.0
- Contributions: Welcome via pull requests
Version Information
Check current version:
composer show softcommerce/module-plenty-swissup-checkout-fields
Related Documentation
- Free Plugins Overview - All available plugins
- Order Export Profile - Order synchronization setup
- Troubleshooting Orders - Order sync issues