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 splits the process into 2 possible approaches

Pre-Generated Shipping Labels

As much as possible, labels will be created automatically after picking. This allows logic for Orders that couldn't be fully picked. It also is a decent indicator the Order will ship soon and could be marked as fulfilled if the shipping system is connected to a Host system.

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 are created on a timer between the Pick and Pack step. There is about a 5 minute delay between when the Order was picked and when the label would be ready to be printed at packing.

Multi-box or Realtime Shipping Labels

The Multi-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 Multi-box process instead of the pre-generated approach. This can happen with a few approaches

  • Static determination on Order type or source: Wholesale is Multi-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 Multi-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 Multi-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.

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.

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.

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 Multi-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.

PackOne and Verify Label Printing

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.

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.

International Shipping

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

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.

Different Types of Printers at Packing

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 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.