Shipping Carriers

The Kibo Composable Commerce Platform supports several shipping carriers that can be integrated for fulfillment. If an administrator has an associated account with a particular carrier, then they can enter those credentials to be applied to selected sites, location groups, and locations  and thus support fulfilling shipments through that carrier. Multiple carrier accounts can be set up in one implementation and then be tied to specific sites, location groups, or locations.

As of September 2023, Kibo has begun to migrate all built-in carriers from the previous carrier service (CARS) to an updated service (Shipping Runtime). Canada Post, Purolator, and USPS will not require any action from you as they will continue to use your configured settings and credentials.

The migration of FedEx and UPS in sandbox, pre-prod, and performance environments requires action as the carrier credentials were previously stored in CARS and need to be added to Shipping Admin to work with Shipping Runtime going forward. You can do this in the Admin UI as detailed in this guide. Configuring a carrier account for each site is the minimum requirement to maintain functionality for shipping labels. Any location-level overrides that were previously in CARS will also need to be added. If your tenant was not using location-level overrides in CARS, then configuring at the site level is all that is necessary.

In the production environment, Kibo will automatically migrate the FedEx and UPS carrier credentials from CARS to Shipping Admin with any location-level overrides preserved as part of the switch to Shipping Runtime.  Any credential overrides may or may not be duplicated and set at the location group level instead of the location level. The migration process will ensure to keep your existing settings intact. Clients will receive communication when their tenant's migration is scheduled.

If you are a headless client directly calling CARS or if you had a previous integration with CARS for a custom carrier like Aramex, those tenants are still on CARS. You will be advised on switchover steps. CARS will be directly accessible until all clients are successfully migrated to SRT.

Supported Shipping Carriers

The Kibo Composable Commerce Platform supports several shipping carriers out-of-the-box: UPS, USPS, FedEx, Canada Post, and Purolator. All of these carriers can be enabled for returns and used for creating return labels. 

For information about creating custom carrier integrations, see the Shipping Extensibility guide.

USPS, UPS, and FedEx

FedEx and UPS are natively supported and only require your FedEx or UPS carrier credentials. USPS is integrated through EasyPost and requires an EasyPost API key in addition to the USPS account credentials.

All three carriers support numerous shipping service types (such as express, standard ground, etc.), the full lists of which can be viewed in the drop-down menu when creating a new shipping method configuration. You can also set which fields to send to the carrier as Customer Reference numbers in your theme settings: Shipment ID, Order ID, and/or External Order ID. Please check what each carrier supports when selecting which fields to send.

Additional UPS Features

UPS supports "declared values" for insurance purposes. If the package value is less than a certain maximum insured value, then the package value will be submitted to the carrier as the declared value. But if the package value is more than the maximum insured value, then the maximum insured value will be sent as the declared value. This value is evaluated for each package and a declared value is sent for each package that the label request is made for. When a declared value is sent to UPS, they will return the service charges if applicable.

The Use Declared Value setting in the UPS location group settings

UPS also supports the ability to require an adult signature for packages with a value greater than a certain amount (calculated as the sum of all line items in the package). When enabled, this requirement will be communicated to UPS while generating the shipping label. These signatures are not supported for return labels.

The signature amount setting in the UPS location group settings

Both declared values and adult signatures can be found in the location group settings. However, you must first request Kibo Support to enable the adult signature setting or to set the maximum insured value for declared values.

Canada Post and Purolator

Canada Post and Purolator are carriers supported specifically for Canadian fulfillment locations. They are natively supported and only require your Canada Post or Purolator carrier credentials. Canada Post generally requires shipping manifests, which can be generated in the Kibo Composable Commerce Platform Fulfiller Interface alongside shipping labels for the individual packages. See the Fulfiller UI documentation for a detailed walkthrough of this process.

Purolator supports the service types of Purolator Express, Purolator Ground, and Purolator Quick Ship. Canada Post supports the service types of Expedited Parcel and Express Post (with Express Post being the standard delivery option).

Create Carrier Accounts

The first step to start configuring shipping options is to set up the carrier accounts. While this guide details how to do so in the Admin UI, you can also do it via API instead.

  1. Go to System > Settings > Shipping.
  2. Click Carrier Accounts to view a table listing all accounts that have already been set up.
  3. Click Create New Carrier Account to add an account.
    • Alternatively, you can edit an existing carrier account via the drop-down menu on the far right side of the carrier listing. Multiple accounts can exist for the same type of carrier with different credentials as needed.The Carrier Accounts page
  4. Select the carrier from the Carrier Types drop-down menu. This will determine what other configuration fields are displayed on the page.Close-up of the Carrier Type drop-down menu
  5. Enter a Nickname and any other available information such as your API username and password. These should just be your developer credentials— the actual carrier credentials will be set via API in Step #9.
  6. Select a Pickup Type to determine how the carrier is expected to receive the shipments from the fulfillment location, such as Regular Pickup, Courier, or Drop Box.Close-up of the full carrier settings form
  7. Click Save in the top right.

Specify the Fulfillment Options for a Site

Under System > Shipping > Carriers, you can specify some default fulfillment options for each site as well as pair carriers with carrier accounts, enable them for checkout and returns, apply special shipping rates, and identifying eligible addresses. 

Default Fulfillment Options

  1. Select the default Shipping From fulfillment location.
  2. Specify whether the location supports Direct Ship, In Store Pickup (BOPIS), or both.
  3. If applicable, specify any location types that should also support pickup.The Fulfillment Options tab for a site

Enable Carriers and Set Shipping Rates

Once the default location has been selected, scroll down to Shipping Methods and Rates or click the heading in the navigation bar to jump to that section.

  1. Select a carrier from the drop-down menu, such as USPS. 
  2. Select the Carrier Account and any shipping method details that should be applied to that carrier for this location, if applicable. This will set the default carrier credentials, used when no credentials are specified at the location or location group level while generating shipping labels.
  3. If available for the carrier, check Enable for Checkout and/or Enable for Returns. There can only be one carrier shipping method enabled for returns; enabling returns on any carrier will disable the setting on any other shipping method.

    Enable for Checkout is essentially an on/off switch for the carrier that will make it an active option for your orders. If you are ready to display the carrier as a shipping option on your site, then enable the checkbox. If you want to deactivate the carrier on your site for a period of time, you can disable this checkbox without losing the shipping method configuration details.

Example of USPS carrier configurations

Create a Custom Rate

In the same section, custom rates can be configured. These may be used to define specific shipping rate calculations such as charging shipping as a percentage of the order total or setting a custom flat rate per item or order.

If you enable the Retain Flat Rate Per Order site setting and then create a custom flat rate per order here in the carrier settings, then the customer will always be charged the entire flat rate fee. Keep the following behavior in mind:

  • If one shipment is cancelled, then the fee will be redistributed to one of the remaining Active shipments. The system selects which shipment in order of priority by status (Ready, Future, Backorder, Customer Care, and then Fulfilled).
  • If a reprice occurs on one shipment such as due to an item cancellation, the flat rate shipping will not be affected. For example, if a shipment consists of three items and a $15 flat rate shipping fee but then one item is cancelled, the shipping will remain $15. 
  • The customer will only be credited the shipping fee if the entire order and all of its shipments are cancelled.

The Custom Rate mode of the carrier module

To create a custom shipping rate:

  1. Go to System > Settings > Shipping > Carriers > Shipping Methods and Rates.
  2. Select the site you want to specify options for from the top bar.
  3. Click Create New Custom Rate.
  4. Enter a Name.
  5. (If applicable) Select a Custom Rate Type.
  6. Enter an Amount.
  7. (If applicable) Enter a Custom Code.
  8. Click Save.

Close-up of the Create Custom Rate module

Set the Default Carrier for Returns

You can specify a default carrier for returns if you want all return labels to default to a chosen carrier.

You can only specify one carrier as the default carrier for returns. Additionally, the shipping method defaults to ground shipping and drop-off only (no expedited or pick-up options).

To specify a default carrier for returns:

  1. Go to System > Settings > Shipping > Carriers > Shipping Methods and Rates.
  2. Select the site you want to specify options for from the top bar.
  3. Click on a carrier, such as FedEx.
  4. Enable Enable for Returns.

Specify the List of Eligible Shipping Addresses

Go to System > Settings > Shipping > Carriers > Eligible Shipping Address Locations to select which U.S. states should display on your storefront as eligible shipping addresses. These settings are only used for instances of KCCP that include eCommerce and have no effect on order management-only implementations.

Note that this list filters only U.S. states by default. If you want to enable international shipping addresses on your storefront, ask your theme developer to make the necessary changes to your theme.

The Eligible Shipping Address Locations section with US states selected

Location and Location Group Settings

The credential settings shown above all configure carrier accounts and credentials at the site level. After doing so, you should link your locations to those carriers as part of the location and location group settings.

When generating shipping labels, carrier credentials are automatically inherited from a higher level if not specified. This means that the system will look for carrier credentials at the location level first. If none are selected, then the system will fall back to the location group and then finally the site level. The site credentials will always be used when requesting rates or performing other actions besides generating labels.

See the Manage Locations and Location Groups guides for instructions on how to link carrier accounts to locations and set overrides, well as configuring location groups' service types and defaults.