SalesPad Desktop now integrates with Pacejet!
Sales documents have a new plugin called “Process Shipment”. Running the plugin will create a shipment in Pacejet based on the information within the sales document. SalesPad Desktop will then show the shipment in a web view, and completing the shipment will write details back to the sales document.
Some of the new functionality includes:
A "Get Rates” plugin, which creates a quote in Pacejet instead of a shipment. When the quote is completed, SalesPad Desktop writes rate details to the sales document’s internal notes.
A sales document tab called “Pacejet Shipment”. The plugin shows several Pacejet specific fields, such as “Lift Gate” and “Dangerous Goods”, which can now be edited in SalesPad before creating a shipment in Pacejet. When a shipment is completed, SalesPad writes the carrier details to this tab.
An inventory lookup tab called “Pacejet Product”, which shows a few Pacejet specific fields, such as “Hazardous Code” and “Commodity Name”. When adding a line item to a sales document, the values from this tab will roll down to the sales document’s “Pacejet Shipment” tab.
Customer addresses and Ship To addresses now have a “Classification” field. It can be set to “Residential” or “Commercial” by default. If “Residential” is selected, then the Pacejet shipment’s Ship To address will be marked as residential as well.
Pacejet can be used for address validation. If enabled, when saving a customer address or sales document which hasn’t been validated yet, SalesPad will automatically validate the address with Pacejet and show suggestions (if there are any). This also populates the address’s “Classification” field.
Pacejet has a platform in Automation Agent. It includes jobs for synchronizing quotes, shipments, and voids. This allows users to complete quotes and shipments in Pacejet and have the information write back to SalesPad.
In SalesPad Desktop, go to Modules -> System -> Settings, and filter to ‘Pacejet’:
Address Validation License ID – The License ID to send to Pacejet for address validation requests. If left blank, Pacejet may automatically use the correct License ID if one exists. This setting has no default value.
Address Validation Method – The provider to use for validating customer addresses and sales document ship to addresses when Pacejet is set as the Address Query Handler. Defaults to ‘FedEx’.
API License Key – A key controlling access to the Pacejet API for a specific Pacejet Location. This setting has no default value.
API URL – The URL for the Pacejet API. Defaults to ‘https://api.pacejet.cc/’.
API Version – The version of the Pacejet API used for API requests. Defaults to ‘2.5’.
Application URL – The main application URL used to open Pacejet hosted pages. Defaults to ‘https://appn.pacejet.cc/’.
Pacejet Location – The Pacejet location to integrate with. A location consists of one database of shipping data, carrier settings, and other data. This setting has no default value.
Prevent Deleting Shipped Sales Documents – If set to ‘True’, users won’t be able to delete sales documents that have a Pacejet Shipment Status of Complete. Defaults to ‘True’.
Shipping Cost Allocation – The method used to allocate shipping costs for consolidated shipments. Defaults to ‘FirstShipmentOnly’.
Use Suggested Address Classification – If set to ‘True’, when Pacejet address validation runs successfully the suggested address’s Type will be set to the validated address’s Classification field.
Customer Contact Options
Address Classification List – The semicolon-delimited list of values for address classifications. Defaults to ‘Residential; Commercial’.
Address Tools – Updated Setting
Address Query Handlers – ‘PacejetAddressQueryHandler’ is an option for this setting. If selected, SalesPad will use Pacejet for address validation.
Automation Agent – Pacejet Platform – Void Confirms
Forward Document On Void – If set to ‘True’, voiding a completed shipment in Pacejet will cause the linked sales document to forward. Defaults to ‘True’.
Shipping Information To Delete On Void – The shipping information to delete from a sales document when the completed shipment it’s linked to is voided in Pacejet. Defaults to ‘CarrierDetails; ShippingHeader; Packages; TrackingNumbers’.
There are 4 Pacejet modules that can be enabled (currently, none of them have sub security settings):
Pacejet Get Rates – Review shipment rates in Pacejet and record the selected carrier and rate to the sales document’s internal notes.
Pacejet Process Shipment – Process a shipment in Pacejet.
Pacejet Product – Item tab for entering Pacejet specific product information.
Pacejet Shipment – Sales Document tab for entering Pacejet specific shipping information.
Log into SalesPad Desktop (run the database update if needed), then click on the ‘?’ button in the top right, select “About”, and click “Update License”. Log out and back in. If you get another database update, run it.
Go to the System Information screen. Confirm that 'SalesPad.Module.Pacejet' appears under Custom Modules and that it is licensed.
Obtain your API License Key from Pacejet. You may already have it, or Pacejet will be able to provide it to you. You can obtain it in the following way:
Log into your Pacejet company in a web browser
Go to Tools > API > Samples
Click on "Shipments"
In the “code to leverage Shipments” section, your license key is at the end of the 4th line.
After you've acquired your Pacejet key, open SalesPad Desktop and go to Settings, search for 'Pacejet', and enter your license key into the “API License Key” setting, as well as your Pacejet location/company name into the “Pacejet Location” setting.
The other Pacejet settings can usually be left as their default values but can be adjusted as needed.
Note: the API Version should be left as 2.5 since that is the minimum version that SalesPad supports
Search for “address query handler” and select “PacejetAddressQueryHandler” for the Address Query Handlers setting.
Go to the Security Editor, search for 'Pacejet', and enable the 4 Pacejet modules for each security group that you want to be able to use Pacejet. Select the security group you’re using and search for “Sales Document Addrs”. Set that module’s sub security setting “Allow Screen Layout Customization” to ‘True’. Log out and back in for the security setting changes to apply.
Go to a customer and open one of its contacts. Right-click near the bottom of the Address section and select “Customize Layout”. Drag “Classification” from the Hidden Items section to somewhere in the Address section. Go to a sales document and select its Addresses tab. Select “Customize Layout” again and add “Classification” to the Ship To Address section.
Next, go to Automations -> Automation Lookup. Click “New Automation”, and give the automation a name, select “Pacejet” for the Platform, and click "OK".
Go to the Settings tab and configure settings as desired, then go to each of the Confirms Sync tabs, click all of the Enable buttons, and click Set Custom Schedule to setup a schedule for each specific sync job. Click “Enable Automation” at the top of the module to enable the platform.
It’s recommended that every item that you use with Pacejet has a Shipping Weight specified. Height, length, width, and description are also nice to have.
Optional – Go to a sales document. Click on the Actions menu (to the right of the Print button) and select “Configure Actions…” In the “Action Items Sequence” list, select “Process Shipment” and click the green right arrow. Do the same thing for the “Get Rates” action item. Doing this creates buttons for “Get Rates” and “Process Shipment” at the top of the sales document.
After following these steps, you are now ready to use Pacejet within SalesPad Desktop! If you'd like to read through some helpful scenarios on ways to fully utilize Pacejet, please continue reading through the Scenarios section below.
Go to the Inventory Lookup and search for an item. Go to the Pacejet Product tab and you will find some new fields. These fields will be shared between SalesPad Desktop and Pacejet.
Dimension Units is for giving units to the item’s height, length, and width.
Commodity Name is a dropdown field that loads its options from Pacejet commodities.
UPC Code if the item has a UPC.
Hazardous Code is a dropdown field that loads its options from Pacejet hazardous materials.
Auto Pack has to be configured in Pacejet to function. If you don’t use auto packing in Pacejet, you can leave this unchecked for all items.
Include In Default Package determines whether the item will start in the default package or if it will start unpacked when creating shipments.
Note: these fields will save upon viewing a different item or closing the Inventory Lookup
Go to a customer and select one of its contacts. Saving the contact will open a prompt or modal related to address validation unless the address was already validated.
If the address matches Pacejet’s recommended address (excluding capitalization), then you will see a prompt stating that the addresses match.
If Pacejet encounters an error trying to validate the address (such as “suite number is required but not supplied”), you will get a prompt showing the error. If you see these sorts of errors frequently and think they’re incorrect, please let SalesPad know.
If Pacejet has suggested address updates, then you will get a modal that shows the original and suggested addresses, with buttons for which address to use or canceling the address validation.
Choosing “Use Suggestion” will update the address.
Choosing “Use Original” will keep your current address.
Closing the modal in a different way will keep your current address, but the next time you save that contact, SalesPad will run address validation again.
Sales Document tabs
Go to a customer whose ship to contact has never had its address validated. Create a sales document for that customer, save it and you will get a prompt related to address validation.
Go to the Pacejet Shipment tab. It will have several sections:
The Primary Details section shows the shipment’s transaction ID if there is one, and the current status of the shipment and quote. This section is read-only.
The Carrier Details section shows the carrier information. This is primarily for writing back when completing a shipment, however, populating these fields before creating a shipment will send those details to Pacejet.
The Special Services, COD, and LTL sections are for selecting various special services. While testing, note that selecting more than 1-2 of these can quickly lead to filtering out all carriers.
The Items section is a grid showing the line items and their Pacejet specific fields. These fields roll down from the Pacejet Product tab, it’s recommended that you fill out the information on the Product tab first so that you don’t have to keep giving commodity names and hazardous codes to the same items.
Process Shipment plugin
Go to a sales document and click the “Process Shipment” sales document plugin. It will open a plugin that shows Pacejet in a web view. If this is the first time you've opened Pacejet, you’ll see the Pacejet login screen; if so, log in. Once opened, you’ll see a shipment in Pacejet.
The Shipment Details section contains some high-level details about the shipment. Pacejet auto-generates the Transaction ID. Sales Order is the sales document number, and Purchase Order is the sales document’s Customer PO Num.
The Ship From section contains information from the sales document’s warehouse.
The Ship To section comes from the sales document’s ship to address.
The Package Information section will initially have a dummy package. You can edit that package to add details, and you can add more packages. Clicking the 3x3 dots button shows the Item Packing modal, which shows the line items and which package they are (or aren’t) in, and you can move the line items around in this screen. If you send serial tracked items you can move the individual serial numbers too.
The Special Services section shows various services you can select and configure. A few of them map to and from SalesPad.
The Messages / Notifications section isn’t directly mapped to, but if Pacejet encounters an error while creating a shipment it may add a message in this section.
On the left, there is a Tools menu. The top button is a gear called “Rate Shipment”, click it and Pacejet will show the available carriers and services. Select one of the carriers. Click the "Play" button in the Tools menu to ship the shipment. If Pacejet successfully completes the shipment, you’ll see a SalesPad prompt saying “Successfully completed shipment”.
Back in SalesPad, the following things will have changed about the sales document:
The sales document’s Freight amount will be set to the shipment’s total freight price if the shipment’s Freight Terms were blank or set to “Prepaid and Charge”.
If any changes were made to the Ship To address in Pacejet, they will write back to the sales document’s Ship To Address.
There will be some Pacejet related audits on the Audits tab.
There will be at least one tracking number on the Tracking Numbers tab.
The Pacejet Shipment tab will show the shipment’s status as Complete and have a banner saying that. The tab will be read-only and the Transaction ID and carrier details will be populated from Pacejet. The other fields will also be updated if they were changed in Pacejet.
The Shipment tab should have several changes:
There will be a shipping header. SalesPad auto-generates the ASN Number and uses its own calculations to determine if “Ship Complete” should be checked, while everything else about the header is from Pacejet.
The Packaging grid will show the Pacejet packages.
The Items grid will show which items and serial numbers are in which package.
Get Rates plugin
Go to a sales document and click the “Get Rates” sales document plugin. It will open a plugin that shows a Pacejet quote in a web view. This will look and function very similarly to the “Process Shipment” plugin.
Select a carrier and complete the quote. You will see a prompt stating that some of the quote’s information was written to the sales document’s internal notes. The Internal Notes section will have notes about the quote’s carrier, weight, and freight prices.
The Pacejet Shipment tab will show the Quote Status as Quoted, and the Audit tab will have a few Pacejet quote-related audits.
Similar to shipments, you can close the quote before completing it, and then complete it later in either SalesPad or directly in Pacejet.
Go to the Sales Document Workflow Setup module and select a document ID.
In the Workflow Queues grid, the Plugins dropdown will have options for “Pacejet Get Rates” and “Pacejet Process Shipment”. Set “Pacejet Get Rates” as the plugin for a queue.
Create a sales document and move that document into that queue, then forward the sales document.
The “Get Rates” plugin will run and open a Pacejet quote in a web view. “Pacejet Process Shipment” will work the same way if you use it as a workflow plugin.
Go to the Automation Lookup and open your Pacejet automation. Create a sales document, use the “Process Shipment” plugin, and close the plugin without completing the shipment. In a web browser, go to Pacejet’s Shipping Workbench, view that shipment, and complete it.
In SalesPad, go to the “Shipment Confirms Sync” and click “Run Now”. You will get a prompt showing the automation’s results. If “Successful” was set to 1 or more, go to the sales document and you will see that Automation Agent wrote the shipment details to the sales document. If “Ignored” was set to 1 or more, the sales document was locked and Automation Agent couldn’t write to the document; close the doc and try running the automation again. If the automation already ignored the same sales document twice and it's locked on the 3rd attempt as well, the automation will stop trying to sync that shipment and will show the shipment in the Action Center tab instead.
Go to the “Quote Confirms Sync” tab. This will work the same as “Shipment Confirms Sync” except that it is for quotes instead.
In a web browser, go to Pacejet, select the Transactions menu at the top, and select “Shipments”. Find a SalesPad created shipment that you would like to void and take note of its Delivery Order Number. Select the Transactions menu and select “Void Shipment”. Enter the Delivery Order Number into its field. In the Tools menu on the left, select the magnifying glass button called “Lookup”.
If Pacejet found the shipment, click the garbage can button in the Tools menu to void the shipment. Voiding may fail if the shipment is in a state where Pacejet does not allow voiding. In SalesPad, go to the “Void Confirms Sync” tab and click “Run Now”. You will get a prompt showing the automation’s results.
If “Successful” was set to 1 or more, go to the sales document corresponding to the voided shipment. On the Pacejet Shipment tab, the shipment status will be set to “Voided” and the tab will no longer be read-only. Depending on your Automation Agent Void Confirms Sync settings, the following will also happen
The document forwarded to the next queue.
The carrier details on the Pacejet Shipment tab will be blank.
The tracking numbers from the shipment will be deleted.
The shipping header and packages from the shipment will be deleted.
Click the “Process Shipment” plugin. You will see a prompt stating that the shipment was voided and asking if you want to create a new shipment.
Create a sales document and click the “Process Shipment” plugin. Close the plugin without completing the shipment. Create another sales document and click the “Process Shipment” plugin. In the plugin, go to the Shipping Workbench. Check the 2 shipments that you’ve created for this part.
In the Tools menu on the left, click the 3x3 dots button called “Consolidate Selected Orders”. Complete the consolidated shipment. SalesPad will show a prompt saying that the shipment is complete. The sales document will show the shipment details which correspond to the document’s portion of the consolidated shipment.
For example, on the Shipment tab’s Items grid, only the line items belonging to the current sales document will appear.
The “Shipping Cost” field in the shipping header is calculated based on the SalesPad setting “Shipping Cost Allocation”. “FirstShipmentOnly” will give the consolidated shipment’s total shipping cost to whichever shipment Pacejet considers to be the first one. “Evenly” will divide the shipping cost by the number of sales documents in the shipment and assign that to each shipping header. “ByItemValue” will take the total extended cost of all line items on each sales document and use that to divide the shipping cost proportionally to the sales documents.
SalesPad will not write the shipment details to the other sales documents until one of the following happens:
The “Process Shipment” plugin is run for each other sales document in the consolidated shipment. Doing this syncs the shipment details to SalesPad.
The “Shipment Confirms Sync” runs.