TABLE OF CONTENTS

See other details for the rest of a WOS Integration or go back to the main page for a list of system-specific integrations

Typical Integration

Automatically creating shipping labels or printing other types of documents is NOT part of a basic integration. When implemented, a shipping label integration is part of the standard Order process. After Orders get picked, labels are created. At Packing, labels are printed. 


A shipping system with the ability to create labels through an API is required to make a shipping label integration work. That shipping system must have 3 capabilities:

  • API access to creating shipping labels
  • A way to assign shipping details like carrier, service, or package type; usually a rule-based system to look at Order Details and apply the necessary details
  • An interface that can be used to lookup and ship specific Orders. This is needed in cases where a label couldn't be generated automatically through the API.


A WOS integration for shipping labels has two possible approaches.  They can both be used at the same time.


Pre-Generated Shipping Labels

A pre-generated label is created based on assumed knowledge of the shipment.  All of the details for the shipment, including package dimensions and estimated weight, must be determined early in the process. The integration typically reaches out to the shipping system with as little as an Order ID to create a label using the pre-determined settings for the shipment. The shipping label that is returned is then stored in WOS until the Order reaches the packing step. The label is printed at packing. Having the label pre-generated allows for a faster printing experience.


This only works when there is one label per Order. WOS does not have a way of presenting multiple boxes and the configuration of each to a packer. If an Order requires multiple packages to be shipped, the pre-generated approach doesn't provide a label per box.


Pre-generated labels can happen at almost any time, but are typically done in one of these ways.

  • 5-minute Timer

    • A 5-minute timer that looks for orders picked and waiting to be packed.  This is the standard offering.  
    • Carts are staged between picking and packing to allow for labels to be created during that time.
    • Waiting for picking ensures the order can be picked and that the order will be shipped soon
    • When connecting to a 3rd party system, creating a label will take at least a few seconds.  Using the timer between pick and pack off-loads this time when a user is not waiting for that call to happen.
  • Batch Complete Trigger

    • The Batch Complete Trigger is used for processes like Mass Mail.  As soon as the batch is finished picking, the label creation process starts.
  • Batch Creation

    • Batch Creation can also be used as the trigger to start creating orders.  This is typically used for Cell Pick where the timing between order picked and packed is short and the labels need to be quickly printed.


Rules in the integration will determine if an order can have its label pre-generated or if it's needed per-box.  Some integrations do all pre-generated labels and some do all per-box labels.  PackOne batches are almost always setup as pre-generated labels because of the speed of the process and simplicity in deciding how each item will be packed.


Short-Pick and other adjustments

Generating the label after picking allows for considerations like short-picked items, partial orders, or picks against the Unknown location.  Based on customer-specific rules, details can be recalculated so labels are accurate to what was picked, or labels can be prevented and additional labels indicating short-picked or unknown orders can be printed to make resolution easier to identify.


Package Identification at Packing

If the box assignment is known ahead of time, the order in WOS can be updated with the assigned box.  At packing, the box will be created with this assigned box, providing communication to the packer which box was used to generate the label.


Per-Box or Realtime Shipping Labels

The per-box process is used when an Order requires multiple boxes to be shipped or when the package details can't be determined prior to the packing step. But even in this case, the carrier and service needs to be applied to the Order in the shipping system because WOS or the integration won't have the details to make that decision.  


Orders must be flagged to be printed through a Per-box process instead of the pre-generated approach. This can happen with a few approaches

  • Static determination on Order type or source: Wholesale is Per-box, Ecommerce is Pre-Generated
  • Calculated determination by looking at the Order's cube, weight, or other factors to decide if the Order is too large for a single label.
  • Dynamic determination by checking the shipping system for an assigned package. Rules for how to assign that package are setup within the shipping system.


The Packing app should be used for Per-box shipments to identify which products are being placed in which box. There are a couple of options for when this label will actually be created

  • Box Close

    • This is the more common approach. As each box is closed, the details of what was packed in that box are sent through the integration to the shipping system to generate a box specific label. A label will print after each box is closed.
  • Packing Order Complete 

    • Some shipping systems need the complete view of the Order and all the packages to generate a single shipment for the Order. In these situations, label creation must wait until all boxes are packed to send a single call to retrieve all labels for the Order. Labels will print when the last box is closed.


Orders using the Per-box process won't have a delay moving from picking to packing, unless there are other documents like packing slips being generated between those steps.  But the user will potentially wait for the process to retrieve the label from the shipping system and print speeds can be affected by that delay.


Package Selection at Packing

WOS has a shipping module that can assign a package to the Order and then display that package in the Packing app. This can be used to let the packer know which box size was used to create the pre-generated label for the Order. The shipping system must be capable of providing the box details that were assigned to the Order in order for the package to be displayed in the WOS Packing app.


In a Per-box scenario, the dimensions of the box used can be assigned per box in the WOS Packing app and communicated to the shipping system when the box is closed.


Error Labels

Having the shipping label print is an indication to the packer that the process was successful. In the case where an automated call to the shipping system could not get a label, the integration will create a label with the heading "Error". It will describe the error retrieving the label if a reason was provided. It provides the Order Number with a barcoded value that can be scanned into the shipping system to create a valid shipping label.


This label allows the packer to apply this label to the box that was packed and move on to the next Order. The box has the Order Number and can be pushed aside.  


There are time when the error label is created because of a temporary issue with the shipping system. It's possible that simply retrying the call to get a label would work. But it's important to have a label at packing so it is typically decided that only one attempt is made to create a label and if it fails an error label will be created instead.


PackOne, Mass Mail, and Cell Pick Label Printing

A few processes don't make box selection very easy.  Usually because of the speed of the process or the back-end nature of most of the processing


PackOne orders and the Verify app only allow for one box for the Order. These Orders don't typically have the option of setting box details and the labels should be pre-generated. If there is a need to print a label in a way other than pre-generated, that would be a custom integration that would need to be discussed.


Mass Mail is a process that can print labels for the entire batch as soon as it is picked.  This is used for orders that are all the same and labels can be applied quickly.  Box selection should be standard and because labels are being printed in bulk there is no interface for box selection.  These labels are all pre-generated and immediately printed after the batch is picked complete.


Cell Pick performs the pick and pack in a single step.  There is not a lot of time between these two processes and the current app for Cell Pick doesn't make box selection easy.  Cell Pick orders are typically pre-generated as soon as the batch is created to enable a better experience with the speed of the process.


Order Download vs Order Created

Order Downloaded

Many shipping systems can connect with the Host system and pull orders in directly. WOS then downloads the Order from the shipping system. In this scenario, when a label is created against the Order in the shipping system, it is normal for that system to mark the Order as shipped and pass the tracking back to the Host. This could result in an early notification to the customer, with them getting the tracking number after picking instead of after the Order is actually shipped.


Another variation is that it's possible for the shipping system to require a second call to mark the order completed after the label is created. This allows WOS to send a message after packing and trigger the flow back up to the Host system.


Order Created

WOS also has the ability to be the middle layer between the Host system and shipping system. In this scenario, WOS downloads Orders directly from the Host and then sends them to the shipping system. WOS has to keep track of the tracking number so that after the Order is packed it can push the tracking number back up to the Host system to create a fulfillment or mark the Order as shipped.


If there is an error label in the process, WOS won't directly know the tracking number. A process will run to identify Orders that were packed but missing tracking numbers and look them up in the shipping system to find the manually shipped Orders. In rare cases, a customer might have to update the tracking details in WOS to get the fulfilment to push back to the Host system.


International Shipping Considerations

Most shipping systems require the HTS Code, Country of Origin, and the value of each line in an Order when it is shipped. It's common for these to be passed when the label is created instead of just passing up on the Order when the Order is created. As much as possible, the integration tries to pull these details through to WOS on the order so that it can be more accurate at the time the order was placed and not saved data that could get stale. This is not always possible and these details would then need to be stored in WOS for the international details to be provided when creating a label.


Packing Slips and Other Documents

Packing Slips

It has been rare for a shipping system to provide access to packing slips through an API call. The WOS integrations can create documents in the integration layer using HTML and then converting to PDF when sending to the printer. WOS recommends that these packing slips are designed and created for a 4x6 label printed through the same printer as the shipping label. But other needs can be accommodated and the packing slips can be configured to meet the customer's need.


Commercial Invoices

Some systems will generate all the needed documentation for international shipments.  If the API provides these documents, like Commercial Invoices, the integration can print these documents or store for later use.  Considerations for timing of the print, notifying the packer that they are required, and where the printer is that will be used can be accounted for in the integration


Other Documents

As needed, additional documents could be created.  Examples include a Hazardous label to indicate that the package has hazardous items, a label to make scan-ability through automated sortation systems more efficient, or indications that the package must be sent through additional processes.  


Different Types of Printers at Packing

Label Printers

The most streamlined process will use a single printer at the pack station and print both the packing slip and shipping label from the same printer. But in cases where a different printer needs to be used, WOS has the ability to assign 2 printers to a print station. The integration will need to know and assign which printer to push the document to when the print document is sent to WOS.  


Laser Printers

Laser printers that print letter size paper are slow compared to a Zebra or other label printer. If it's necessary to print an 8.5x11 letter size packing slip, it might be best to find a way to print those in bulk at the batch level instead of with each order at the packing station. Customizations in the customer's integration project can accommodate these needs.


Rate Shopping Orders

The carrier and service must be assigned from the shipping system prior to a label being created. If there is an option to run the Order through a rate shopping service, this can be used to make that decision. WOS can store the carrier and service returned from the rate shop calls and use that in creating the labels.