Order fulfillment begins when a customer makes a purchase—converting their cart into an order. It encompasses everything from the moment the order is received to the delivery of the product or service. Fulfillment and shipping requirements will vary depending on the type of product being sold. We'll explore considerations for order fulfillment and shipping based on Swell's product types.

Fulfilling orders that contain physical items requires delivering them to the customer's address or enabling customers to pick them up from a store location. Swell supports multiple stock locations and shipping zones with flat rate shipping, real-time rating, and free shipping, plus a robust rule set for overriding these on a per-product basis.

By default, your store has a single location that is used when calculating shipping rates. Multiple locations can be configured, which can also be designated as local pick-up points when creating a shipping service.

Shipping services are shipping options created with the Swell dashboard and are available to customers during checkout. These services are configured shipping prices either per order or per package. Additional shipping service configuration is available through shipping zones and shipping rules. These two features provide more specialized shipping rates based on a larger set of criteria.

For selling to local customers, Swell offers pick-up locations for physical products. This option is created as a shipping service under Advanced options, and when selected during checkout, the customer will not need to fill in the delivery information.

Shipping zones are defined geographic areas for which a set of shipping rules are automatically applied. Establishing a domestic shipping zone within your country displays shipment services specified for that zone to customers within that area.

Alternatively, you could create an international shipping zone for customers outside of your country. This allows you to specify which shipping services are strictly available for international deliveries.

Shipping rules are used to override shipping services when an order meets a certain set of criteria. These can be added at the product level or the shipping service level. If added to a product, the rule will only be applicable for that particular product, while creating a rule on a shipping service would encompass all products eligible for that service.

For example, if a customer orders $50 worth of items, they become eligible for free shipping. In this case, a shipping rule with a conditional threshold of an order total greater than $50 could wave the default shipping price entirely.

Conditions for shipping rules can be set for any combination of the following criteria:

  • Location
    • Country
    • State/province
    • Postal/zip code
  • Customer groups
  • Order totals
  • Order price
  • Combined product weight

Calculate shipping rates and services in real-time using webhooks. Order webhook used to return custom shipping rates based on the product address, available stock, product dimensions, product weight, carrier rates, etc.

A variety of your product information and the customer's shipping information can be sent to a shipping carrier to calculate shipping rates in real-time during checkout. This allows for a great deal of flexibility and prevents the need for expanding your Swell-defined shipping services to encompass every scenario.

On Swell, an order has the ability to be split into multiple shipments. Every shipment includes an order id that allows for the relating of multiple shipments to a specific order. Our platform also supports sending shipments within an order to multiple addresses. To accommodate this, you will need to implement it through a custom checkout.

Swell supports virtual products in many forms, for example:

  • Bookings, services, and event tickets
  • Downloadable goods like ebooks and website templates
  • Membership plans that grant access to discounts and other perks
  • Abstract currency or credits

Since the way customers access their purchase is specific to the use case, the platform doesn't have any built-in mechanisms for fulfilling virtual products. We recommend:

  • Set up a webhook that gets triggered when orders are created.
  • Receive the payload and perform the necessary logic for providing access to the product or service. Often that means generating an email, triggering actions in an external system, or setting some fields on the customer object.
  • Use our Backend API to update the order status and delivery fields.

Each product in a bundle is fulfilled individually. This allows for more flexibility with the kind of bundles you can create, for example mixing a physical item with a subscription membership.

Gift cards can be fulfilled physically and/or virtually. When a customer purchases a gift card, a code is automatically generated that allows the recipient to redeem the card value at checkout.