Overview
The simplest starting point for mapping data from your ERP or other system to Pacejet is to review requirements for basic domestic parcel shipping. Fundamental data mapped to Pacejet includes address information but best-practice integrations for most ERP systems will include data like a ship xref to support customer-directed carrier settings, freight terms to control billing, freight billing accounts for 3rd party billing, and item information for automated paperwork. In general, more data sent by your integration provides greater functionality and opportunities for automation.
Freight Terms, Carrier ShipXRef, and Billing Account
Key shipping information required by most best-practice integrations includes a ShipXRef field to optionally preset some shipments to a customer-directed carrier and class of service, a freight terms code, and freight billing account information if required for the matching freight terms. Many ERP systems only support a single ship-via value used to identify both a carrier and that carrier’s class of service (e.g. UPSGRO = UPS and Ground service), so Pacejet allows the setup of a table of xref or “cross reference” values to link carrier and class of service combinations to distinct ShipXRef values. The FreightTermsCode should also be provided from orders or shipments in the ERP using industry standard terms including Prepaid, Prepaid and Charge, Third Party Billing, Collect, Consignee Billed, and Bill Recipient. For Freight Terms of Third Party Billing, integrations can pass specific carrier account information (often stored in the ERP in the customer file) to bill shipments to customer accounts. As an alternative to storing carrier account details in the ERP, integrations can also setup carrier accounts in Pacejet and pass only an AccountNumber to cause an automatic look-up of the matching carrier account.
"CarrierDetails": {
"ShipXRef": "UPSGRO",
},
"BillingDetails": {
"FreightTermsCode": "Third Party Billing",
"AccountNumber": "219527",
"FreightChargeAccountNumber": "12343234",
"ZipPostalCode": "43210",
"CountryCode": "US",
},Starting with v2.3 will be able to add Billing Address data to Billing Accounts with the BillingAccountList. It will be part of the BillingDetails
"BillingAccountList": [
{
"FreightChargeAccountNumber": "012345",
"ShipXRef": "99", //validate have correct ShipXRef
"Address1": "505 NW Main Rd",
"Address2": "Address 2",
"City": "Columbus",
"ContactName": "Account Receivables",
"CompanyName": "Documents Direct",
"StateOrProvinceCode": "OH",
"PostalCode": "dos",
"CountryCode": "US",
"Residential": "false",
"Phone": "614-555-7315"
},
{
"FreightChargeAccountNumber": "8ED854",
"ShipXRef": "92", //validate have correct ShipXRef
"Address1": "505 NW Main Rd",
"City": "Columbus",
"ContactName": "Account Receivables",
"CompanyName": "Documents Direct",
"StateOrProvinceCode": "OH",
"PostalCode": "uno",
"CountryCode": "US",
"Residential": "false",
"Phone": "614-555-7315"
}
] Origin and Destination Addresses
As mentioned in the section “Using Facilities for Multiple Physical or Virtual Warehouses”, best-practice integrations should send Location identifiers for Origin address to maximize feature support in Pacejet (although full address information can be provided as an override to a location record setup in Pacejet). Destination addresses should generally include the full address information but can optionally include location identifiers.
"Origin": {
"LocationType": "Facility",
"LocationSite": "MAIN",
"LocationCode": "1",
},
"Destination": {
"CompanyName": "Buysalot, Inc",
"Address1": "3185 Main Ave",
"Address2": "Suite 99",
"City": "Fargo",
"StateOrProvinceCode": "ND",
"PostalCode": "58103",
"CountryCode": "US",
"ContactName": "Bob Buyers",
"Email": "bob.buyers@buysalot.com",
"Phone": "877-722-3538",
} Standard Reference Fields for Sales Order and Purchase Order
In addition to other standard data fields outlined in this guide, Pacejet recommends that most shipping integrations also transmit a sales order number and purchase order number. Mapping to the most common reference fields will allow standard Pacejet documents to include these data elements without any modifications.
"ShipmentDetail": {
"UserField2": "SalesOrder2",
"UserField3": "PO456"
}Message List for Carrier Reference Fields and Other Data
Another common best-practice for shipping integration is to include reference messages for use on paperwork and for transmission to carriers. Common examples include a sales order number for the FedEx_Reference_INVOICE_NUMBER and UPS_Reference_1 although you may wish to support flexible mapping options (Pacejet can also configure automated mapping later). Delivery Instructions are another standard message that will display automatically on some Pacejet paperwork and can be captured in an ERP order or fulfillment records.
"MessageList": [
{
"name": "FedEx_Reference_INVOICE_NUMBER",
"value": "FEDINV"
},
{
"name": "FedEx_Reference_P_O_NUMBER",
"value": "FEDPO"
},
{
"name": "FedEx_Reference_CUSTOMER_REFERENCE",
"value": "FEDCUSREF"
},
{
"name": "UPS_Reference_1",
"value": "UPSREF1"
},
{
"name": "UPS_Reference_2",
"value": "UPSREF2"
},
{
"name": "Delivery_Instructions",
"value": "Notes about this shipment."
},
{
"name": "Message",
"value": "This is a message for any purpose."
}
] Default Package or a List of Packages
Although not required, integrations can include a default package or a list of packages in shipments sent to Pacejet. Package records can optionally reference a PackageNumber predefined as a list in Pacejet to default dimensions and weight or specifically include length, width, height information with each package and can be edited in Pacejet during shipping (the example below one package using a package ID and the other with package details specified directly).
"PackageDetailsList": [
{
"PackageNumber": "BOXS",
},
{
"Dimensions": {
"Length": "20",
"Width": "12",
"Height": "15",
"Units": "IN"
}
} Product Information for Paperwork
Although not required, most best-practice integrations will include item information in the shipping data transmitted to Pacejet for better automation of shipping paperwork and for other features like auto packing. To transmit product information your integration must provide at least one default container in the PackageDetailList even if the items will be considered unpacked and Pacejet packing will be used. Product details are organized underneath each appropriate container if prepacked or all listed under the first container if not prepacked. Basic product details you can transmit include description, dimensions, weight, and quantity. Other important details include a Cost for each product used to default values like insurance (if selected), a UPCCode for scanpack support, and an optional HazardousCode. Two data elements that control specific Pacejet features include the packUIRmngItem flag which indicates whether the items should be considered as prepacked in the container or will be packed in the Pacejet UI and the AutoPack flag which can be used to activate automated product packing in Pacejet.
"PackageDetailsList": [
{
"PackageNumber": "BOXS",
"ProductDetailsList": [
{
"Number": "IPA6",
"Description": "Ipad Air 6",
"Dimensions": {
"Length": "6",
"Width": "12",
"Height": "1",
"Units": "IN"
},
"Weight": "2",
"AutoPack": "false",
"packUIRmngItem": "N",
"Quantity": {
"Units": "EA",
"Value": "4"
},
"Cost": {
"Currency": "USD",
"Amount": "700.00"
},
"UPCCode": "5010103",
"//HazardousCode": "UN0006"
}
}