> For the complete documentation index, see [llms.txt](https://docs.chord.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.chord.co/chord-oms/chord-oms-overview/shipping/shipping-methods.md).

# Shipping Methods

## Shipping Methods

## Introduction

Chord OMS uses a flexible system to calculate shipping. It accommodates the full range of shipment pricing, from simple flat rate calculations to more complex computations related to product weight or type, the customer's shipping address, and what shipping method is used, to name a few.

{% hint style="warning" %}
This article provides a summary of shipping concepts and architecture. If you want to read about example shipment setups, see [Shipment setup examples](/chord-oms/chord-oms-overview/shipping/shipping-method-setup-examples.md).
{% endhint %}

## What is a Shipping Method?

Shipping methods identify the actual delivery services used to ship the product. For example:

* UPS Ground
* UPS One Day
* FedexHome Delivery
* FedEx 2Day
* FedEx Overnight
* DHL International

Each shipping method is only applicable to a specific geographic zone.

For example, you would need a domestic-only shipping method to deliver a package in the United States. You would not be able to ship from Washington DC to Rio de Janeiro, Brazil, using UPS Ground, a United States-only carrier.

## Architecture

The Shipping Method system is composed of six concepts:

1. **Information** about your shipping carrier and your online store that is associated with.
2. **Shipping Categories** allow for descriptions of different shipping methods to be assigned.
3. **Base Calculator** will enable you to calculate shipping rates based on order or package.
4. **Zones** serve as a mechanism for grouping distinct geographic areas together. The shipping address entered during checkout defines the order's zone (or zones). The zone limits the available shipping methods for the order. It also defines regional taxation rules.
5. **Tax Category** is used to group tax rates—all products and shipping methods are assigned a tax category.
6. **Free Shipping Policy** outlines the conditions under which a shipping method incurs no cost. By default, the shipping method identified by the `standard_shipping` code falls under this policy. See [Free Shipping Policy](/chord-oms/chord-oms-overview/shipping/shipping-methods.md) below for details.

## Workflow

### Checkout

OMS performs several steps when presenting and assigning shipping methods to an order during checkout.

```mermaid
graph TD;
    A[Initiate checkout]-->B[Calculate shipping rates];
    B-->C[Present checkout];
    C-->D[Input shipping address];
    D-->E[Display eligible shipping methods];
    E-->F[Choose shipping method];
    F-->G[Complete purchase];
```

1. The customer adds items to their cart and initiates checkout from the store.
2. OMS calculates shipping rates for all shipping methods and assigns the least expensive shipping rate to the order. The calculation uses the calculator assigned to each shipping method.
3. The checkout page is presented to the customer.
4. The customer inputs their shipping address.
5. Checkout compares the shipping address against the shipping methods and returns only ones available for the zones covered by the shipping address. For example, a shipping address in Illinois will return the **Iowa + Illinois UPS** shipping method, as that method is assigned to that zone. However, that shipping method is *not* available to customers in other states.
6. The customer chooses an eligible shipping method.
7. The customer completes the purchase.

### Subscription Installments

When generating installment orders for subscriptions (standard, pre-paid, and gift subscriptions), OMS always chooses the least expensive shipping method *even if a more expensive shipping method was selected during checkout*.

In the example below, the customer purchasing the subscription chose a premium shipping method during checkout:

![](https://3559351341-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGejRW1RLC9yasX56Xzxu%2Fuploads%2Fgit-blob-2dd060471c0ba0feba6c334015e9122a4e46c8a4%2Fshipping-methods-1.png?alt=media)

However, the installment order generated from the subscription has the standard shipping method, which is the least expensive:

![](https://3559351341-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGejRW1RLC9yasX56Xzxu%2Fuploads%2Fgit-blob-84a2d01d515887fce7d4e62fd8e39317d748846b%2Fshipping-methods-2.png?alt=media)

## Information

### Name

**Name** is required: for example, **Really Fast.** This is what your customers will see at Checkout.

### Code

**Code** is required and is defined by your 3PLs. To calculate shipping charges on the order item, you must assign shipping calculation codes to either a product or category. For example\*\* Standard\_Shipping.\*\*

### Service Level

Your 3PL provides Service Level and defines the carrier used for your Standard\_Shipping. Example: FedEx SmartPost

### Channel

If you have multiple channels, select it here or leave it blank if you want the shipping method to apply to all channels.

{% hint style="info" %}
**Channels** are a way to define/organize orders within the OMS. Effectively a channel says “how” and which avenue an order came through. If an order is created manually via the OMS admin, the channel defaults to “admin.” Suppose the order was a subscription, the channel defaults to “subscription,” etc.
{% endhint %}

### Easypost Carrier

This field is usually left blank because Easypost can auto-identify the carrier; if Easypost cannot do that, the system will try to identify the carriers manually, and in this case, we will ask you to add all of your carriers: USPS, UPS, FedEx.

### Tracking URL

You can set up a static URL that will be used with a tracking code to generate a tracking URL. When a tracking code is generated and received for an order shipment, a tracking URL will automatically be created by appending the tracking code to the pre-defined static URL.

Let’s take the example that my tracking code is:`1n24nrrsan531`, and the tracking URL on the shipping method is set with the following <https://www.ups.com/track_package?tracking_code=:tracking>.

The tracking URL on my shipment will be: <https://www.ups.com/track_package?tracking_code=1n24nrrsan531>”

The `tracking field` is replaced with the tracking code.

### Internal Name

This field is only used internally.

### Stores

It is recommended you select your online store here. If you want the shipping method to apply to all stores, choose all your Stores.

### Carriesr

The carrier field is not required if you use a specific carrier for your shipping method; for instance, FedEx 2nd Day Air, enter FedEx or use USPS.

### Available to All Stock Locations

Uncheck to select specific stock locations for this shipping method.

### Available to Users

If you do not select "available to users," the shipping method will not display to your customers at checkout, but you'll still be able to use that method in the OMS only. Suppose you want to upgrade the shipping for your customer; you can see that shipping method in the Order's Shipment tab.

## Shipping Categories

**Shipping Categories** allow for descriptions of different shipping methods to be assigned.

The OMS creates a Default shipping Category. If you need to add more categories, click on

Shipping Categories tab and create a new category.

You can further restrict when shipping methods are available to customers by using shipping categories. If you assign two products to two different shipping categories, you could ensure that these items are always sent as separate shipments.

For example, suppose your store can only ship oversized products via a specific carrier called "USPS Oversized Parcels." In that case, you could create a shipping category called "Oversized" for that shipping method, which can then be assigned to oversized products.

![](https://3559351341-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGejRW1RLC9yasX56Xzxu%2Fuploads%2Fgit-blob-214ea72fbd3233c9ad8dc80e0a2ae27bac6fd64e%2Fshipping-methods-3.gif?alt=media)

## Zones

Zones are groups of States or Countries.

To setup your zone, please refer to the [Shipping Zones ](/chord-oms/chord-oms-overview/shipping/shipping-zones.md)document

## Calculators

A shipping calculator is the component responsible for calculating the shipping rate for each available shipping method.

* Flat percent
* Flat rate (per order)
* Flat rate per package item
* Flexible rate per package item
* Price Slack (for variable shipping cost that depends on order total)
* Flat Rate or Free
* Item Weight Shipping

{% hint style="info" %}
Please refer to [Shipment Setup Examples](/chord-oms/chord-oms-overview/shipping/shipping-method-setup-examples.md) for detailed information about these shipping rates
{% endhint %}

![](https://3559351341-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGejRW1RLC9yasX56Xzxu%2Fuploads%2Fgit-blob-522824f054f3fe6346b672eafe83384cc91b9eb9%2Fshipping-methods-4.jpg?alt=media)

## Tax Category

You can use tax categories to ensure particular products are taxed as required. For example, if your business is in Minnesota, you need to charge tax on tech products but do not need to charge tax on clothing. You could set up two tax categories, **Clothing**, and\*\* Tech\*\*, which you would apply to products of either type.

We calculate the correct tax adjustment to attach to a shipment from the selected tax category on a shipping method. Each tax category has a tax code that identifies a specific rate.

You tax categories are located under **Taxes** --> **Tax Categories**

{% hint style="info" %}
Please refer to [Setting Automated Taxes](/chord-oms/chord-oms-overview/taxes/tax-automation-with-stripe-tax.md) for detailed information about Tax Categories
{% endhint %}

## Free Shipping Policy

To apply this policy to additional shipping methods, you can add them as a comma-separated string in the store setting labeled `FREE_SHIPPING_ELIGIBLE_SHIPPING_METHODS`.

This policy is activated in the following scenarios:

* The order total exceeds the value set in the `FREE_SHIPPING_THRESHOLD` store setting.
* The `FREE_SHIPPING_FOR_SUBSCRIPTIONS` store setting is enabled.
* A free shipping promotion action is applied to the order.
* The cart contains only virtual items.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.chord.co/chord-oms/chord-oms-overview/shipping/shipping-methods.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
