Integrate WooCommerce with Apport WMS
WooCommerce integration
Integrating your WooCommerce webshop with Apport WMS provides your company with a seamless logistic experience which support you optimize your warehouse processes.
When a customer places an order it is automatically transferred to Apport WMS.
The warehouse workers will be able to start picking and packing the order to the customer once the order has been fetched from the webshop.
Features
Read about the flow and data supported in the integration between WooCommerce and Apport WMS
Materials
Materials is automatically updated in Apport WMS when it is changed in WooCommerce. Materials are imported every 7 minutes. Materials from Woo Commerce will be imported to Apport WMS when the status on the products is set to Published.
Following material data is retrieved
from WooCommerce to Apport WMS:
- Product name
- Product desciption
- Product categories
- Product dimensions (weight, length height, width, and volume)
- Product images
- SKU (stock keeping unit)
- The SKU needs to be unique as Apport WMS is using it as the internal Id.
- Cost price**
- Cost price is supported by installing a “Meta Field” plugin and filling out the cost price for all products on the shop
- Download plugin here
Product variants: Apport will import simple products and variable products with up to 100 variations! Contact Apport if you need more than 100 variations.
This is Modal Title
Apport WMS field | Shopify field | Notes |
---|---|---|
ItemNo | .sku | Max 50 character. Characters > 50 everything after will not be included |
BaseUOM | "PCS" | |
State | "Active" | |
Name | .name | Max 256 character. Characters > 256 everything after will not be included |
Description | short_description | Max 256 character, will not include anything after |
MaterialAttributes[0].Name | "WebShop" | |
MaterialAttributes[0].Value | {{WooCommerce_System_Prefix}} | Environment variable used to differentiate between multiple shops |
MaterialAttributes[1].Name | "WooCommerceId" | |
MaterialAttributes[1].Value | .id | Stores the internal id for WooCommerce |
MaterialIdentifiers.Name | meta_data[?(@.key == '{{EAN_FieldName}}')] | meta_data [?(@.key == '{{EAN_FieldName}}')] |
MaterialIdentifiers.Type | "EAN" | |
MaterialGroups | categories[].name | |
MaterialUoMs.Name | "PCS" | |
MaterialUoMs.Quantity | "1" | |
MaterialUoMs.Dimensions.Weight | .weight | |
MaterialUoMs.Dimensions.Length | .dimensions.length | |
MaterialUoMs.Dimensions.Height | .dimensions.height | |
MaterialUoMs.Dimensions.Width | .dimensions.width | |
MaterialUoMs.Dimensions.Volume | "0" | |
MaterialUoMs.UoMTypeName | "Pcs" | |
ImageUrl | images[].src | |
ImageFormat | "0" | |
ImageData | null |
Orders
Orders are fetched from WooCommerce every 7 minutes.
Orders will automatically be transferred from Woo Commerce to Apport WMS. Orders will be transferred when the status on the order is set to Processing.
Order field mappings
Apport WMS field | WooCommerce field | Notes |
---|---|---|
Order.OrderNo | .number | |
Order.OrderComment | null" | |
Order.ExecutionPriority.Date | .date_created_gmt | |
Order.ExecutionPriority.Value | ”50” | |
ProcessDefinitionGroup | {{Default_ProcessDefinitionGroup}} | Enviroment Variable |
OrderType | {{WooCommerce_System_Prefix}} | Enviroment variable used to differentiate between multiple shops |
OrderResponsible | ||
OrderAttributes.Key | “WooCommerceOrderId” | Used to store interal OrderId for WooCommerce |
OrderAttributes.Value | .id | |
PickNoteId | ||
CompletionPriority.Date | .date_created_gmt | |
CompletionPriority.Value | "50" | |
DeliveryType | .shipping_lines[0].method_title | If exists otherwise blank |
CustomerOrderNo | ||
OrderLines[].OrderLineNo | .line_items[].id | |
OrderLines[].ItemNo | .line_items[].sku | |
OrderLines[].Quantity | .line_items[].quantity | |
InvoiceContact.Co | .billing.company | |
InvoiceContact.Contact | ||
InvoiceContact.Email | ||
InvoiceContact.Name | .billing.first_name + .billing.last_name | Concat |
InvoiceContact.PhoneNo | .billing.phone | |
InvoiceContact.Address.City | .billing.city | |
InvoiceContact.Address.CountryCode | .billing.country | |
InvoiceContact.Address.ExternalId | ||
InvoiceContact.Address.State | .billing.state | |
InvoiceContact.Address.Street | .billing.address_1 | |
InvoiceContact.Address.ZipCode | .billing.postcode | |
Recipient.Co | .shipping.company | Max 30 characters, will not include anything after |
Recipient.Contact | ||
Recipient.Email | ||
Recipient.Name | .shipping.first_name + .shipping.last_name | |
Recipient.PhoneNo | . shipping.phone | |
Recipient.Address.City | . shipping.city | |
Recipient.Address.CountryCode | . shipping.country | |
Recipient.Address.ExternalId | . shipping.address_2 | |
Recipient.Address.State | . shipping.state | |
Recipient.Address.Street | . shipping.address_1 | |
Recipient.Address.ZipCode | . shipping.postcode | |
DeliveryContact.Co | .shipping.company | Max 30 characters, will not include anything after |
DeliveryContact.Contact | ||
DeliveryContact.Email |
Stocks
Apport WMS manages the stock balances between WooCommerce and Apport WMS in real time.
Return orders
Order status must be set to “completed” before the refund process can be started.
Apport WMS will decide whether to refund only the given order items or the order items + shipping depending on the reasoncode.
- Reasoncode with an F: The refund will be calculated based on the products returned as well as the entire shipping amount.
- Reasoncode without an F: The refund will only be calculated based on the returned products.
The quantity of the returned item will be changed right away in the Webshop after the refund workflow is complete.
Order field mappings
WooCommerce Field | ApportWMS field | Notes |
---|---|---|
reason | .ReasonCode | Only looks at the first orderline |
line_items | .combinedrefund[] | Array combined of: lines_items + shipping_lines |
shipping_lines[].id | .id | |
shipping_lines[].refund_total | .total | If ReasonCode includes a “F” then full refund otherwise 0 |
line_lines[].id | .Left.OrderLineNo | |
line_items[].refund_total | .Left.QuantityConfirmed * .Right.Price | We multiply quantity by price to get the total |
line_items[].quantity | .Left.QuantityConfirmed |
Shipment updates
Apport WMS will update the order with the Track&Trace number in the form of an order note. This note can be configured whether to be visible to the customer or not. Default is for the order note not to be visible to the customer.