B2B Order Fulfillment - SLA Calculation Algorithm

Business to business (B2B) orders are generally any shipments going to a business address.  Usually, these orders originate through wholesale selling channels, are often larger in size, and potentially involve freight (FTL/LTL) carriers.

ShipCalm SLA Date

The “ShipCalm SLA Date” is the day we expect an order to be marked as shipped from our facilities and a tracking number sent to the end-customer.  The carrier will usually pick up the shipment on this day as well.

Step 1: Set Order Ready Date based on fulfillability and warehouse-local NOON cutoff time

The ShipCalm Order Ready date is set if and only if an order is FULFILLABLE, meaning available inventory exists in the warehouse where the order is routed and an appropriate shipping carrier has been selected, as follows:

  • If the order is FULFILLABLE from the warehouse where the order was routed, then:
    • If an order is created in Infoplus BEFORE NOON in warehouse local time (12 pm PST for Whiptail Warehouse in California, and 12 pm EST for Camby Warehouse in Indiana), then the ShipCalm Order Ready Date is set to the same business day as the Infoplus Create Date or next business day if the order was created on a non-business day.
    • If an order is created in Infoplus AFTER NOON in warehouse local time, then the ShipCalm Order Ready Date is set to the next business day.
  • If the order is UNFULFILLABLE from the warehouse where the order is routed, then the ShipCalm Order Ready Date is NOT set until the order becomes fulfillable.
    • If there is insufficient inventory available and the receipt of new inventory into the warehouse is completed BEFORE NOON in warehouse local time, then the ShipCalm Order Ready Date is set to the same business day as the inventory receipt date.
    • If there is insufficient inventory available and the receipt of new inventory into the warehouse is completed AFTER NOON in warehouse local time, then the ShipCalm Order Ready Date is set to the next business day after the inventory receipt date.
    • If there was no carrier or an invalid carrier selected for the order and a new valid carrier was selected BEFORE NOON in warehouse local time, then the ShipCalm Order Ready Date is set to the same business day as this change.
    • If there was no carrier or an invalid carrier selected for the order and a new valid carrier was selected AFTER NOON in warehouse local time, then the ShipCalm Order Ready Date is set to the next business day after this change.

At this point, we set: ShipCalm SLA Date = Order Ready Date.

Step 2: If necessary, add 2 business days for Compliance Requirements

From here, the ShipCalm SLA Date may be extended out beyond our standard same day or next day fulfillment commitment if the order has special compliance requirements, for example, unique packing SOPs or other special handling requirements, non-standard packing slips, outbound serial number tracking, additional non-standard QC processes, etc.  


Most B2B orders are considered Compliance Required to ensure vendor-specific guidelines for special handling, QC, and packing requirements are met.


In this case, we update the ShipCalm SLA Date with +2 additional business days.

Step 3: If the order requires item success work, add 3 business days

If any line items on the order requires Item Success to manipulate the order or the line items, for example, because 

  • Hold Code A - Special /FBA/ SKUs need to be created, or 
  • Hold Code A - Job Recipes must be defined, or 
  • Hold Code E - Minimum Expiration Date requirements cannot be satisfied and require adjustments

Then the order has a Hold Code added as indicated above and we update the ShipCalm SLA Date with +3 additional business days.

Step 4: If the order requires Job work to build inventory, add 3 or more business days

If any line items on the order require a Job to build the necessary inventory, i.e., there is not enough inventory to satisfy the order but the Item has an associated Job Recipe, then

  • we update the ShipCalm SLA Date with +3 additional business days, which includes 40 hours of build time, plus
  • +1 business day for each additional 40 hours of build time, that is,
    • +1 business day for total build time in range 40-80 hours
    • +2 business days for total build time in range 80-120 hours
    • etc.

Build times are computed based on the number of inputs, outputs, and additional billable assembly seconds on the Job Recipe.

Step 5: If FTL/LTL freight carrier, add 3 additional business days for preparation

When preparing shipments for freight carriers, additional time is needed to coordinate scheduling of pickup, prepare and palletize product, label and wrap pallets, and any other necessary freight shipment preparation work.

In this case, we update the ShipCalm SLA Date with +3 additional business days.

Step 6: If freight order volume is greater than half a truck or small parcel order is more than 20 boxes, then additional businesses days are added for preparation based on order size

For freight orders, one additional business day is added to our ShipCalm SLA Date for every increment of 13 pallets.  That is, the ShipCalm SLA Date is updated with:

  • 0 - 13 pallets: +0 additional business days
  • 13 - 26 pallets: +1 additional business days
  • 26 - 39 pallets: +2 additional business days
  • 39 - 52 pallets: +3 additional business days

And so on.


For small parcel orders, one additional business day is added to our ShipCalm SLA Date for every increment of 20 boxes.  That is, the ShipCalm SLA Date is updated with:

  • 0 - 20 boxes: +0 additional business days
  • 21 - 40 boxes: +1 additional business days
  • 41 - 60 boxes: +2 additional business days
  • 61 - 80 boxes: +3 additional business days

And so on.

Step 7: Update to First Ship Date if after current ShipCalm SLA Date

If a “First Ship Date” is set on the order and it is AFTER the ShipCalm SLA Date as computed above, then we set:
ShipCalm SLA Date = First Ship Date

Glossary of Order Date Fields


Date Field

Field Value

Change Frequency

Notes

Selling channel order placed

Day order was placed

Does not change

 

ShipStation Order Date

Day order was placed in selling channel

Does not change

Usually same as above

ShipStation Last Modified Date

Day of last order update in ShipStation

Changes with every update

 

Infoplus Create Date

Day order is imported into Infoplus

Does not change

 

Infoplus Modified Date

Day of last order update in Infoplus

Changes with every update

 

Infoplus Order Date

Day of last order update

Changes with every update

Should be ignored

Infoplus First Ship Date

First Day the order MAY be shipped

Does not change

 

Infoplus Last Ship Date

Last Day the order CAN be shipped

Does not change

 

ShipCalm Order Ready Date

Day order became fulfillable

Resets if inventory runs out

 

ShipCalm SLA Date

Day we expect to ship

Resets if inventory runs out

Computed as 0 or more days after Order Ready Date, based on order specific details.

Infoplus Shipped Date

Day we generate shipping labels

Does not change

 

Infoplus Shipping Label Date

Day printed on shipping labels

Does not change

Usually the same as above