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
- The API client creates an invoice for an order that has a
line_item
with afulfillment_status
that is"unfulfilled"
. - The ClickFunnels user fulfills the order line item in the UI (or the API client fulfills it via the Fulfillment API).
- Retrieving the invoice now, will show a
fulfillment_status
with the value"fulfilled"
Updated about 16 hours ago