Fulfillments

Fulfillments allow fulfilling orders and managing shipments.

Overview

A fulfillment is created when an order or a part of the order is being fulfilled. A created fulfillment always has the status "fulfilled". You can abort a fulfillment by canceling it in which case the status will be the final "cancelled" status. In that case, a new fulfillment can be created to fulfill.

Subscription orders may have multiple invoices across the lifetime of the order, so you will want to wait for a subscription-paid event before fulfilling these orders.

For non-subscription orders, you can expect that all order invoice line items will be paid with one payment. So you'd usually wait for the payment of a one-time order to have succeeded in which case you can start fulfilling the order.

A fulfillment can completely fulfill an order, partially fulfill an order, or contain items from multiple orders. An order can be considered fulfilled once all of its invoice line items have been fulfilled in their according quantities.


Fulfilling Invoices

Whenever you create an order for a ClickFunnels product that has the "fulfillment required?" flag enabled, a fulfillment will be due, either digitally or physically.

Once an invoice is created for one or more of the order line items that need fulfillment, the user will be able to fulfill those invoice line items digitally or physically, either in the ClickFunnels UI or programmatically via our Fulfillment API and its related resources.

Generally, a returned Orders::Invoice includes the line items of the invoice. These each have a fulfillment_status.

The fulfillment_status will be one of:

  • unfulfilled
  • fulfilled
  • partially_fulfilled
  • complete
  • ignored

Note this status does not consider the fulfillment_required property of the attached Products::Variant, so even line items that don't need to be fulfilled will have the status unfulfilled.

Fulfillment flow

  1. The API client creates an invoice for an order that has a line_item with a fulfillment_status that is "unfulfilled".
  2. The ClickFunnels user fulfills the order line item in the UI (or the API client fulfills it via the Fulfillment API).
  3. Retrieving the invoice now, will show a fulfillment_status with the value "fulfilled"