Zenkraft Blog

Zenkraft Blogs about Logistics, LSPs, Integration with CRM, ERP and WMS applications.

Salesforce Pick and Pack Station

Published on 12 February 2019 by in ecommerce usps salesforce fedex lightning 


We've been asked for a long time - how do we associate products with packages? Today in version 1.34 of our Multi-Carrier app we've launched a packing UI. This integrates directly with ANY Order object structure in Salesforce. See the docs. The process is as follows:


  1. Integrate with your Order and Order Lines
  2. Pack products into containers using a barcode scanner
  3. Generate Shipping labels
  4. Track shipments at an order line level


Would you like to learn more? Schedule a demo.

Continue reading »

5 awesome shipping reports

Published on 18 September 2018 by in usps salesforce fedex reports 

1. Late Shipments shows all shipments that have missed SLA. Great for building process builder tasks to alert customers, but also for auditing bills with your carrier/LSPs.

2. Un-Used Return Labels shows all labels that have been generated for returns, however they have not entered the carrier’s system yet.

3. Shipment Cost can show the cost of shipping to a particular account, but also by time period.

4. Shipment growth over time View shipment growth week-by-week. This can help with planning and forecasting peak delivery times:

5. Shipments Issues identify shipments with issues quickly and alert customers and/or contact your carrier to ensure they’re fixed quickly:

Continue reading »

Report on unused RMA labels

Published on 01 May 2018 by in salesforce fedex reports returns 

If you have sent our an RMA label for a customer to return a faulty product, this report will show you exactly how many of them are still outstanding.

Step 1

Create a report for ‘UPS Shipments with Order’

Step 2

Add the following fields:

UPS Shipment: UPS Shipment Number

Status Description

Order: Order Number

Recipient Name

Recipient Phone

Add the following filters:

Returns Shipment = “True”

AND Delivered = “False”

This will allow you to produce a call list of those customers who have received returns labels but have not used them yet.

Step 3

Save the report

Final Result

Continue reading »

Customer Success – Meyer Dunlap

Published on 25 April 2018 by in salesforce fedex 

Meyer Dunlap is a promotional product distributor – Working with brands such as Samsung, Jim Beam and American Airlines, they provide the vital link between brands who want their logo on products and manufacturers who produce these products. You can find them at

The Challenge

  • Meyer Dunlap needed a way to track shipments from their suppliers, all the way through to their end customers.
  • With up to 6,300 shipments being sent out at a time, they needed to be able to see at a glance if there were any exceptions or problems with shipping. In the past, this would require uploading 20-30 tracking numbers to at a time, taking hours of valuable time and restricting scalability.
  • Exceptions and shipping problems which would occur could not be dealt with quickly enough leading to potentially unhappy customers.
  • These exceptions would be then sent back to their original destination costing Meyer Dunlap money to ship again.

The Solution

  • Meyer Dunlap use Zenkraft to track and report on thousands of shipments every day. Their suppliers send them details of order numbers when they ship them, which are then uploaded into Zenkraft where they can be reported on instantly.
  • Meyer Dunlap first found out about Zenkraft after they had committed to using Accounting Seed, a valued partner of Zenkraft.
  • Due to the simple set up and excellent customer service Zenkraft is famous for, Meyer Dunlap were able to get started in a couple of days.
  • Meyer Dunlap are now able to upload all of their order numbers to Zenkraft and instantly track and report on every single shipment at a glance. This allows them to predict and solve any potential issues right away.
  • The ability to configure the frequency of tracking updates allows them to notify customers within an hour of problems with shipments occurring.

The Results

  • The ability to instantly track and report on thousands of shipments in seconds is a life saver for Meyer Dunlap.
  • Meyer Dunlap use a 3rd party e-commerce platform which Zenkraft integrates with easily allowing everything to work without any problems at all.
  • Being able to alert customers as soon as a problem occurs gives Meyer Dunlap a huge boost to their already excellent customer service.

Continue reading »

Create a FedEx shipment from a trigger on the Account object

Published on 08 March 2017 by in salesforce fedex 

Today’s blog post explains how to create a FedEx shipment directly from a trigger on a standard Salesforce Account object. You will need our FedEx app and our Bulk Shipping package. Contact us if you need any further information.

Firstly, create a checkbox on your account object. Let’s call it Create_Fedex__c. We will run the shipment creation process when this gets set to TRUE.

To store any validation errors (such as incorrect addresses), you need to create a custom object called Zenkraft_Validation_Error__c. Fill in the fields as you see here:

Custom Object Zenkraft Validation Error Salesforce Enterprise Edition

Next, create the trigger on the Account object. You can see the code below:


The trigger calls the AccountTriggerHandler that determines whether the checkbox has been set to TRUE, and if so, creates the shipment.

Lines 13-20: Get the address information from the account object that is needed to create the shipment.

Lines 25-33: Create the queued shipment.

Lines 35-43: Create the package, including the weight and declared value.

Lines 45-47: If the above have been generated successfully we use the processShipments method to start the creation process


FedexShipmentService is the class that allows the easy creation of the QueuedShipments, it gets the account details from the FedEx account that you have set up, and creates the BulkShipment where we store all the shipment information before we actually send it to be processed.

Lines 6-41: We set the zkfedex__ServiceType__c , zkfedex__PackagingType__c for the shipment along with the sender and recipient addresses.


To handle any errors, create another trigger. This time put it on the Queued Shipment Status object.


And the respective trigger handler code is below:


Happy coding.

Continue reading »