Skip to main content

Introduction

Products in ONELOX contain all data necessary for fulfillment.
The primary and most important information for all Products is their SKU (stock keeping unit).

Basics

SKUs and SKU sharing

Every Product is primarily identified by its SKU.
Within a ONELOX Client, every SKU is unique and will be shared across all Data Source integrations in the same Client.

Changing an SKU

While ONELOX supports changing an SKU, it is strongly recommended to always create a new Product whenever an SKU changes that has previously been active.
If changing an SKU cannot be avoided, make sure that all pending Delivery Notes have been shipped to avoid any issues due to inconsistent SKUs.

Product types

ONELOX differentiates between multiple types of Products that are relevant during the fulfillment process.
Most importantly, a Product may be Storable, i.e. a physical Product, or not storable.
Non-storable Products will never be transmitted to a Fulfiller integration when contained in a Delivery Note.
Additionally, Products may be marked with several attributes that influence how they are stored or shipped:
  • Perishable: The Product has a limited shelf life
    This is most often the case for food Products or cosmetics. Perishable Products should be treated appropriately during fulfillment, e.g. by considering FIFO (first in, first out) and tracking shipped batches and sell by dates
  • Batchable: The Product can be tracked by its production batch
  • Has Serial Numbers: The Product can be tracked by its serial number
  • Refrigerated: The Product must be kept refrigerated in storage and when shipped
  • Dangerous Goods: The Product may be considered dangerous or hazardous (e.g. due to flammable contents) and should be treated accordingly in storage and when shipped
  • Battery: The Product is or contains a battery and should be treated accordingly in storage and when shipped (e.g. by adding a warning label to packages)
  • Fragile: The Product is fragile and should be handled with special care at all times
Not all Fulfillers support all types of Products. You should always consider the types of Products you want to ship before deciding for a Fulfiller.

Product references

Since Products are shared within a Client, Product references are used to determine:
  1. which Data Source integrations a Product is available in
  2. which Fulfiller integrations will receive Product data
ONELOX integrations will always add and update their references automatically.

Data Source references

When a Product should be available in a Data Source integration (e.g. your shop system), a reference must be added.
After the reference has been added, ONELOX will know the Data Source expects Inventory updates for the Product.
In addition, ONELOX will now synchronize the Product data to all Fulfiller integrations that are connected to the Data Source through a shared Warehouse.
Data Source references are optional. If a Data Source integration does not require Inventory and is not used to transmit Delivery Notes to ONELOX, a reference can be omitted.
This is useful in case you need a dedicated Data Source integration that only provides detailed product data that your other integrations, like a shop system, are unable to.

Fulfiller references

When a Product is available at a Fulfiller, a reference should be added.
While many Fulfillers use SKUs as the primary identifier, some require their own internal identifier when receiving Delivery Notes and/or reporting Inventory.
If a Fulfiller expects their own identifier and no reference is found by ONELOX when attempting to transmit a Delivery Note, an error will be reported and the transfer will fail.
An integration may only have a single reference for each Product at all times.
It is not possible to attach multiple references, e.g. to support duplicate SKUs in a third party system.

Dynamic creation

In some cases, ONELOX may receive a Delivery Note with Products that have not yet been provided by a Data Source integration.
By default, ONELOX will dynamically create the Product with basic information received in the Delivery Note (SKU, title).
Product data may then be provided by a Data Source integration to complete the Product’s representation in ONELOX and trigger necessary synchronization with all connected Fulfillers.
If no Product data has been provided and the Fulfiller receiving the Delivery Note requires their own reference to identify it, transmitting the Delivery Note will fail.
ONELOX retries all Delivery Note transfers for up to 5 hours before considering the transmission fatally failed. When Product data is received and the Product synchronized with the Fulfiller within this time frame, the Delivery Note transfer will still complete.
Dynamic creation is available for better failover and recovery, especially in cases of issues within the Data Source system that prevent Product data from being transferred to ONELOX. If your system generates orders or Delivery Notes without a Product having stock — which will be the case since ONELOX could not provide Inventory for the unknown Product —, you should always investigate and optimize your processes to prevent this in the future.