Zenkraft has been acquired by Bringg Read More
  1. Home
  2. Docs
  3. Guides
  4. Boxing Algorithm
Log a Case

Boxing Algorithm


The Zenkraft Boxing Algorithm attempts to package your products into the smallest number of boxes possible. Once set up, it will work for your one click shipments, your get quotes and the invocable methods via process builder.

When to use (and not use) Boxing Algorithm

There are three requirements for ensuring you succeed with our Boxing Algorithm

  1. Have the Length, Width, Height and Weight of the items within Salesforce.
  2. Have the dimensions of the boxes that you will be packing these products into.
  3. Turn on the boxing Algorithm checkbox on the Custom Address Source.

Only use the Boxing Algorithm if:

  1. You have less than 20 products you are packing
  2. When all dimension data is available for products (length, width, height and weight)
  3. When product dimensions are at least 2.5cm / 1 INCH

If your use case does not meet the criteria outlined above, the boxing algorithm is unlikely to be a good fit for your business and we recommend implementing your own packaging recommendation engine that can be mapped into our Custom Address Source.

Products Dimensions and Weights

Ensure that you have the following fields for Length, Width and Height in your product data. In our example we are using the standard Order Products > Product object where we add these three new fields.


Go to Packages and click on the New button

Give each package a name, select the carrier and we recommend selecting your packaging

Next make sure the quantity is set to 1, and finally fill in the LengthWidth and Height. remember that carriers need to have the Length as the largest of the  numbers.

Repeat this for as many of the packages/boxes that you have.

Enable the Boxing Algorithm and Fill in your Custom Address Source

1. v1.113 and below: Go to Setup > Custom Settings > General Zenkraft Settings and click on the Manage link. You can then edit the custom setting and make sure that you set the checkbox Show Boxing Algorithm Products to true.
v1.114 and above: Go to Zenkraft Settings / Bringg Settings > Other settings and enable Show Products section for domestic shipments.

2. Edit the Custom Address Source and under Packages Section set the Boxing Algorithm checkbox to true.

3. Under the Products/Customs Items section make sure you set the checkbox for Use Child Object to true, and choose the Child Object you are referencing.

4. You can then select the LengthWidth and Height values on your Product object that you created earlier.

5. Save your custom address source and you can now test it functions as you intend.


Troubleshooting checklist

  1. Check that there are package profiles for all carriers
  2. Check that the Product details are mapped in the custom address source
  3. Check that the Products actually have dimensions and no dimension is 0
  4. If any dim is 0 set up Exclude from Shipping filter
  5. Check that Boxing Algorithm is enabled
  6. If an item needs to go into a specific package then need to create a Specific Package ID field on the product and add a mapping to the CAS and mark the package as Specific Package

APEX CPU Time Limit error

This error message usually appears when the record is too complex for the boxing algorithm to calculate the packages. Please refer to the requirements at the top of this page.