How to set up ELEX EasyPost Shipping Method Plugin for WooCommerce? (with Video)

This article intends to provide detailed, step-by-step instructions that’ll help you understand, how to set up the ELEX EasyPost Shipping Method Plugin for WooCommerce. Refer the product page to know more about other various features of the plugin.

EasyPost is a flexible API that enables you to access shipping rates from multiple shipping carriers like USPS, FedEx, UPS, Canada Post, DHL, Amazon Services, Australia Post, and so on (see the complete list here).

Our ELEX EasyPost Shipping Method Plugin for WooCommerce provides easy, seamless integration of WooCommerce with EasyPost services. You can access real-time rates from shipping carriers like USPS, FedEx, UPS and Canada Post. In addition to accessing real-time shipping rates, the plugin also provides shipping label generation, box packing, and shipment tracking facilities. The plugin also supports multi-vendor setup and is compatible with WooCommerce Multi-Vendor Support for ELEX Shipping Plugins.


Watch the EasyPost Walkthrough Video here :


Some of the major highlights of the plugin include:

  • Real-time shipping rates: Based on the shipping destination address, product weights, and dimensions, the plugin fetches real-time rates from selected shipping carriers(USPS, FedEx, UPS and Canada Post).
  • Printing shipping label: You can print shipping labels from order pages in the back-end of your WooCommerce store. The store admin can also update the shipping service while printing the label in the back-end.
  • USPS Flat Rate Boxes: Flat Rate Boxes are basically boxes with flat postage rates. These boxes are ideal for any package size. Read more about USPS flat rate boxes here.
  • Box Packing: The plugin provides two packing methods. These methods will also affect the shipping rates displayed on your cart/checkout page.
  • Shipment tracking: The tracking number returned from selected shipping carriers while generating the label will be added to order notes and sent as part of the order completion email.

All these features (and many more!) are bundled into one solution to serve your WooCommerce-EasyPost shipping integration needs for your online store.

Getting started with the EasyPost Shipping Method Plugin for WooCommerce

Read an article to know how to complete the checkout process on ELEX. You can also read how to download, install, activate ELEX plugins.

Once the plugin is installed and activated, you can navigate to plugin settings in two ways:

  • Dashboard > WooCommerce > Shipping >Easypost (or)
  • Dashboard > Plugins > Installed Plugins > ELEX Easypost Shipping Plugin for WooCommerce > Settings.

Now that we know what the plugin has to offer, and have installed the same, let’s get down to configure the plugin.

General settings

The general settings are as shown below.

WooCommerce EasyPost Shipping | General settings

General settings

  • Real-time Rates: Tick this checkbox to enable real-time rates.
  • Debug Mode:  If you are not getting proper rates (lesser or higher than expected), not getting all the available shipping options, or not getting any rates at all, then you can tick this Debug mode checkbox to find the error(s). You can also see the warning(s) by our WooCommerce EasyPost plugin.
    By enabling debug mode, you can trace issue using log. You can see information about debugging at the top of the cart and checkout page. After enabling debug mode, add a product to cart. Go to cart or checkout page to see the debugging information.

Generic API Settings

The generic API settings consist of the following:

  • API-KEY: For accessing APIs, you need to register with EasyPost. After successful registration, you’ll receive test key and live key. Enter the receive API key in this field.

How to register for

1. Go to

2. Enter all the required details in the given registration form and signup.

3. Once you have signed up, go to Account > API Keys, as shown in the screenshot below.

WooCommerce EasyPost Shipping | Selecting API Keys option

Selecting API Keys option

4. Copy relevant API keys(Production or Test), and paste it in the API-Key text-field of our EasyPost plugin.
A sample screenshot of the credentials is as shown below.

WooCommerce EasyPost Shipping | EasyPost API Keys

EasyPost API Keys

  • API Mode: You can enable TEST mode to try out your plugin settings(for checking real-time rates, label printing or so on), and switch to LIVE mode for accepting real order transactions.

Rates & Services settings

This section contains settings that will determine the services that will be made available to the customers in your WooCommerce store. The settings are as shown below.

WooCommerce EasyPost Shipping | Rates & Services | Address settings

Rates & Services | Address settings

  • Method Title: Allows you to set a custom title for the EasyPost shipping method. This title will be visible on the cart and checkout page under Shipping options.
  • Method Available to: This field allows you to select countries, for which you want to offer EasyPost shipping method.
    There are two options:

    • All Countries: Choose this option if you want to offer EasyPost shipping method to all over the world. This option is selected, by default.
    • Specific Countries: Provides option to select desired countries. The EasyPost shipping method will be available only in selected countries.
  • Zip Code: Enter the zip code of the sender. This zip code will be used for calculating shipping rates.
  • Sender Country: Select the desired sender country.

Estimated Delivery Date Settings

Estimated Delivery Date: Shows an estimated date on which the package will be delivered to the given shipping address.

Enable this setting to reveal the following settings –

WooCommerce EasyPost Shipping | Rates & Services | Estimated Delivery Date settings

Rates & Services | Estimated Delivery Date settings

  • Working Days: Select the desired working days for the delivery. The estimated delivery date will be shown to the customer based on the days selected in this setting.
  • Cut-off Time: Choose the desired cut-off time. If an order is placed after the cut-off time, the next working day will be chosen as the shipping date in the request to EasyPost API. Please note that the time format will be based on the date and time format of your system.

USPS Flat Rate Settings

If the Flat Rate Boxes are available for products, it will be included in the Box Packing method. Flat Rate Boxes contain the dimensions of the box. Also, if a package was packed with flat rate box while creating order, that will be the default option in order page for those packages.

The plugin provides Flat Rate boxes for both domestic and international services separately.

WooCommerce EasyPost Shipping | Rates & Services | USPS Flat Rate settings

Rates & Services | USPS Flat Rate settings

USPS Domestic Flat Rate Settings

  • Flat Rate Boxes: Allows you to select USPS Domestic Flat rate boxes. Flat rates are hardcoded in our WooCommerce EasyPost plugin. There are no USPS API calls made to get Flat rates.
    Read more about USPS Flat Rate Boxes and Pricing here.
  • Flat Rate Label: Enter a custom label for domestic flat rate services to be displayed on the cart and checkout pages.
  • Flat Rate Fee: Enter Flat Rate Fee which is the additional charge on flat shipping rate. If you enter a negative amount value, then that entered amount gets subtracted from flat shipping rate. This amount is per-box excluding tax. Leave this field blank to disable Flat Rate Fee.

USPS International Flat Rate Settings

Similar to domestic flat rate settings, you can select desired USPS International Flat rate boxes and set a custom label to be displayed on the cart and checkout pages.

Note: You need to understand when to select what type of flat rates based on box dimension restrictions. You can refer USPS Package Restrictions for more details. 

Carrier & Rate Settings

  • Fallback: If Easypost fails to return any shipping rates, the fallback rate will be offered for shipping so that users can Checkout. Leave blank to disable it.
  • Rates Type: Select Residential or Commercial rates to offer for the customers. The residential rates are usually higher than the commercial rates.
  • EasyPost Carrier(s): Select the desired carrier(s) for shipping. The plugin supports popular shipping carriers like USPS(default)FedExUPS and Canada Post. You can select one or more shipping carriers based on your requirement.
  • Services: USPS, FedEx, UPS, and Canada Post provide different types of shipping methods that are suited to the different needs of the customer. Our WooCommerce EasyPost Shipping plugin supports the following services –


  • First-Class
  • Priority Mail®
  • Priority Mail Express™
  • USPS Parcel Select
  • Library Mail Parcel
  • Media Mail Parcel
  • USPS Critical Mail
  • First Class Mail International
  • First Class Package Service™ International
  • Priority Mail International®
  • Express Mail International


  • First Overnight
  • Priority Overnight
  • Standard Overnight
  • FedEx 2 Day AM
  • FedEx 2 Day
  • FedEx Express Saver
  • FedEx Ground Home Delivery
  • FedEx Ground
  • FedEx International Priority
  • FedEx International Economy
  • FedEx International First


  • Ground (UPS)
  • 3 Day Select (UPS)
  • 2nd Day Air AM (UPS)
  • 2nd Day Air (UPS)
  • Next Day Air Saver (UPS)
  • Next Day Air Early AM (UPS)
  • Next Day Air (UPS)
  • Express (UPS)
  • Expedited (UPS)
  • Express Plus (UPS)
  • UPS Saver (UPS)
  • UPS Standard (UPS)

Canada Post

  • Expedited Parcel  (Canada Post)
  • Priority (Canada Post)
  • Regular Parcel (Canada Post)
  • Xpresspost (Canada Post)
  • Expedited Parcel USA (Canada Post)
  • Priority Worldwide Parcel USA (Canada Post)
  • Small Packet USA Air (Canada Post)
  • Tracked Packet USA (Canada Post)
  • Xpresspost USA (Canada Post)
  • Priority Worldwide PakIntl (Canada Post)
  • International Parcel Surface (Canada Post)
  • Priority Worldwide Parcel Intl (Canada Post)
  • Small Packet International Surface (Canada Post)
  • Small Packet International Air (Canada Post)
  • Tracked Packet International (Canada Post)
  • Xpresspost International (Canada Post)

The shipping services settings supported by EasyPost are as given below:

WooCommerce EasyPost Shipping | Services settings

You can select services as per your requirement. Non-selected services are not shown to the customer even if they are available services from respective shipping carrier.

The services table is divided into the following four columns:

  1. The first column lists all the services from the selected shipping carriers. You can tick the checkbox of desired service(s) that you wish to offer to your customers.
  2. The second column allows you to set a custom name for the services.
  3. The third and fourth column allows you to set price adjustments(positive or negative), in terms of amount value or a percentage value.

For example, consider shipping cost of First-Class Mail returned by USPS is $5.

Case 1:  Price adjustment of $5, for First-Class Mail –

WooCommerce EasyPost Shipping | Amount adjustment

Amount adjustment

The total cost displayed for First-Class Mail is $10 ($5+$5).

Case 2: Price adjustment of 10%, for First-Class Mail –

WooCommerce EasyPost Shipping | Percentage adjustment

Percentage adjustment

The total cost displayed for First-Class Mail is $5.5 (the 10% of 5 is added to 5).

Case 3: Price adjustment of $5 and 10%, for First-Class Mail –

WooCommerce EasyPost Shipping | Amount & Percentage adjustment

Amount & Percentage adjustment

The total cost displayed for First-Class Mail is $10.5  (the 10% of 5 is added to 5 + 5  to get actual).

Save your settings once they are configured.

Label Generation settings

The Label Printing API Setting fields are as shown below:

WooCommerce EasyPost Shipping | Label Generation | Label Printing API settings

Label Generation | Label Printing API settings

Label Printing API Settings

EasyPost Label Generation settings || EasyPost

  • Print Label Type: With this field, you can select the desired file format for printing the shipping labels.
    The available options are as given below:

    • PNG: This option prints the label in Portable Network Graphics (PNG) which is a raster graphics file format that supports lossless data compression, and is widely used in the world wide web.
    • PDF: This option prints the label in Portable Document Format, which is used to present a document in an independent manner regardless of application, software, hardware, and operating systems.
  • Insurance: The insurance charges are accounted in your EasyPost account, but while requesting for Rates and services the API does not return the insurance charges with the shipping cost.
    Remember, EasyPost charges 1% of the value, with $1 minimum amount. All claims all handled by EasyPost itself. Once this option is enabled, the insurance option will be available under the label generation section in WooCommerce order page.
    By default, the insurance option is disabled. If customers want the shipment to be insured, they need to enable the insurance option while checkout process.

There are three options under this setting:

  1. Customer Choice: When selected, a checkbox will be available on the checkout page where the customers can choose to apply insurance for their package.
  2. MandatoryAs the name suggests, applies insurance for all shipments. Customers will not get any checkbox or information that the products are ensured.
  3. No InsuranceThe shipments will not be ensured.
  • Label Size: There are two options for label sizes –
    • Default – Keeps the same label size returned from the respective shipping carrier.
    • Custom – You can choose a custom label size for each shipping carrier.
      • USPS – 4×8 or 4×6 inches.
      • UPS – 4×8 or 4×6 inches.
      • Canada Post – 4×6 inches.
      • FedEx – 4×8, 4×7,or 4×6 inches.
  • Signature Option: Upon enabling the same, it ensures a secured informed delivery. A signature option keeps the sender informed and also confirms when the order is delivered to the recipient. It is ideal when you are sending some important documents or any other fragile and other products.

Bulk Shipment

WooCommerce EasyPost Shipping | Label Generation | Bulk Shipment settings

Label Generation | Bulk Shipment settings

Choose the default domestic and international service for bulk generation of domestic and international shipment label respectively. This label generation is processed in WooCommerce Orders page. If there are no shipping services defined for an order, the default services defined in these settings will be taken into consideration.

Origin Address & Return Address

WooCommerce EasyPost Shipping | Label Generation | Origin & Return Address settings

Label Generation | Origin & Return Address settings

Origin Address

  • Sender Details: Enter the sender name, company name, address, email address and contact number.
  • Customs Description: Enter product description for international shipping. This description will be helpful for customs purposes.

Return Address

Return Address: Tick this checkbox if you want to enter a separate address for the return shipment. If this checkbox is unchecked, the origin address will be taken as the return address. Once checked, enter details like name, company name, address, phone number, and email address.

Third-Party Billing (UPS)

Third Party Billing UPS || EasyPost

If you wish to issue your bills with a third-party for your UPS Shipment, you can enable the same here. Then add the specific UPS account details of the third party, country and the zip code. This is mostly done when the receivers country or the origin country and the third party’s country are the same. You can also enable Third-Party billing upon Checkout too.

Click Save Changes to save the settings.

Packaging settings

The packaging settings are as shown below.

WooCommerce EasyPost Shipping | Parcel Packaging settings

Parcel Packaging settings

Parcel packing

Our WooCommerce EasyPost shipping plugin provides three methods for parcel packaging. They are:

  • Pack Items Individually:  In this option, each item in the cart is packed separately. Total shipping cost is calculated by adding the shipping cost for each item. This option is selected by default.
    For example, the shipping cost of Item X is $10. If the customer adds two quantities of Item X to the cart, the total shipping cost is $10 x 2, which is $20.
  • Pack into boxes with weight and dimensions: If packing items individually does not suit your business, then you can define custom box sizes under Box Dimensions section. All the cart items are packed into custom boxes defined in Box Dimensions settings. The best fit box is automatically chosen from the defined boxes. This is the recommended option.
    You can read through setting up box dimensions to understand box packing in detail.

Stack First|| Volume Based || EasyPost

Box Dimensions: This setting is applicable only when Pack into boxes with weight and dimension is selected. Here, you can define the outer and inner dimensions of boxes. Outer dimensions are the dimensions of the package. Inner dimensions are the dimensions of the product.

For heavy packing box, enter the weight of the box so that it is added to the product weight, to calculate shipping rates. You can tick the respective Letter checkbox if you want to mail letters. Based on your requirement, you can add or remove box dimensions.

  • Pack items based on weight: Enter maximum weight limit for packages. In this option, the weight of all the cart item is summed up and items are packed with maximum weight limit in the box(es) and passed to API to get rates.
WooCommerce EasyPost Shipping | Pack items based on weight

Pack items based on weight

Additionally, you can choose to pack heavier items, lighter items first, or pack purely divided by weight.

  • Stack First Algorithm – EasyPost also supports Stack First and also Volume-based packing options in the Pack into boxes with weight and dimensions. Volume-based lets you pack based on the total volume of the box and the items. Stack-first algorithm follows packing of items stacking upon one another either based on length, width or height of the item as well as the box they are packed into. In the Easy Post, you can choose the boxes from the list or create a custom box with proper dimensions to fit in. In the stack first algorithm, the box dimension is taken into account with the dimension of the object and then the items are stacked one upon the other.  All the three options considering length, width and height are considered before finalizing. The box with least remaining space while the fitting is done is chosen for shipping, as it is economical.

Lastly, click on the Save Changes button.

Select Preferred Service Before Creating the Shipment

Before creating the shipment of individual orders, you can choose the preferred service from your side by changing the service chosen by the customer.

Check the screenshot:

WooCommerce EasyPost Shipping | Select Preferred Service Before Creating Shipment

You can click on the button with blue lines, and choose a preferred service from the list before creating the shipment.


Let us now move to our WooCommerce cart page to see the applied changes.

The following screenshot shows Domestics rates and services returned by EasyPost shipping carriers.

WooCommerce EasyPost Shipping | Domestic Rates and Services

Domestic Rates and Services returned by EasyPost Shipping Carriers

The International rates and services returned by EasyPost shipping carriers will be displayed as shown in the screenshot below.

WooCommerce EasyPost Shipping | International Rates and Services

International Rates and Services returned by EasyPost Shipping Carriers

Label Generation

Once your customers place an order, move to your WooCommerce admin order page to generate shipping labels.

Following screenshot shows a sample order page.

WooCommerce EasyPost Shipping | Generate Packages

Generate Packages

Click on the Generate Packages button.

The plugin allows you to set custom services for each package. You can also add additional packages as well. If your customers have selected a USPS or Canada Post Flat Rate Box service at the checkout, you’ll see the same service loaded automatically in the plugin. Also, since FedEx and UPS services do not have Flat Rate Box services, you cannot include them.

A sample screenshot of the settings is given below.

WooCommerce EasyPost Shipping | Creating EasyPost Shipment

Creating EasyPost Shipment

Click on the Create Shipment button.

Once the label is generated, you receive the shipment tracking ID as well. Next, click on the Print Label button to print the shipping label.

WooCommerce EasyPost Shipping | Print Label option

Print Label option

You can notice the EasyPost Shipment Tracking metabox on the right. You can use the given tracking ID to track the shipments.

Following is a screenshot of a sample EasyPost-USPS Domestic Label.

WooCommerce EasyPost Shipping | Domestic USPS Shipping Label

Domestic USPS Shipping Label

International Shipping Documents

Documents for International shipments consist of the International shipping label, Customs declaration, and Dispatch note.

Below screenshot shows a sample International shipping label.

WooCommerce EasyPost Shipping | International Shipping Label

1. International Shipping Label

A sample Customs Declaration for international shipments is as shown in below screenshot.

WooCommerce EasyPost Shipping | Customs Declaration

2. Customs Declaration

A sample Dispatch Note is as shown in the screenshot below.

WooCommerce EasyPost Shipping | Dispatch Note

3. Dispatch Note

How to generate EasyPost shipping labels in bulk?

To generate FedEx, UPS, USPS and Canada Post shipping labels in bulk, you would need our ELEX WooCommerce EasyPost Bulk Label Printing Add-On. Once you have purchased this add-on, you can read how to bulk print FedEx, UPS, Canada Post and USPS shipping labels using EasyPost to set up the add-on.

How to auto-generate and email EasyPost shipping labels?

To generate automatically generate and also email EasyPost shipping labels, you would need our ELEX EasyPost Auto-Generate & Email Labels Add-On. Once you have purchased this add-on, you can read how to auto-generate and email EasyPost shipping labels to set up the add-on.

How to print EasyPost return labels?

To print FedEx, UPS, and USPS return labels for EasyPost, you need our ELEX WooCommerce EasyPost Return Label Add-On. After you have bought the add-on, read how to print EasyPost return labels to set up the add-on.


To explore more details about the plugin, go check out ELEX EasyPost Shipping Method Plugin for WooCommerce.

You can also check out other WooCommerce and WordPress plugins in ELEX.



  1. dukeofarc
    We have input the EasyPost APIs and still do not get any shipping options in the shopping cart when checking out. Everything seems correct. What do we need to check?
  2. Raji
    Hello, Following the mentioned steps should get you the shipping options correctly. If you are facing any trouble, please feel free to contact our support team, we shall help you out to resolve the issue you are facing.Thanks
  3. nelsonandmiriam
    Hi, my name is Jimmy Pineda, I did install ELEX EasyPost WooCommerce Extension on my woocommerce store, on www.wonderfitshapers.comI have a problem with my easypost conection when I try to generate the label to ship the products.In test mode, it works perfectly, but in Live mode, I get this message when I try to generate the label.Something went wrong. Unable to complete shipment purchase. Please contact support.
    • ELEX
      Hello Jimmy Pineda, As you mentioned if it is working fine with Test credentials and the issue is observed only with Live Credentials, it could be an issue with the Payment method integration with EasyPosy Account.You may check the payment method set up done. And if the issue persists, we shall take this conversion forward from the support ticket you have raised. Thanks
  4. tallerinformaticabierzo
    Hello, I have installed the plugin following the tutorial correctly, but it only shows me the USPS shipping options, it never shows me options for UPS or FEDEX,Why can it be if I have everything correctly as in the video?Thanks
    • ELEX
      Hello, EasyPost automatically creates a USPS account for you with your EasyPost account details. Hope you have added other carriers(UPS and FedEX) by selecting from the carrier dropdown. If you need any further assistance please contact us at

Leave a Reply

WordPress Image Lightbox Plugin