Control which locations can fulfill orders based on cart properties
Cart rules let you restrict fulfillment based on cart properties. When a cart meets specific criteria like total quantity or total amount, you can control exactly which locations are allowed to fulfill the order.
Cart rules are ideal for routing high-value orders to secure locations, bulk orders to warehouses, or orders with special handling requirements to capable locations.
Go to Charlie → Settings → Order management → Fulfillment constraints and click Create rule.
2
Name your rule and set status
Enter a descriptive name (max 75 characters) that explains the rule’s purpose, like “High-value orders - Warehouse only” or “Bulk orders - Distribution center”.Set the Status to:
Active: Rule applies immediately at checkout
Draft: Rule is saved but won’t affect checkout
3
Select Cart based as the rule type
Under Rule type, select Cart based.
4
Configure the condition (When)
In the Configuration section under When, set up what triggers the rule:Condition: Choose the cart property to evaluate
Condition
Description
Total cart quantity
Total number of items in the cart
Total cart amount
Total value of the cart in your store currency
The available operators and value fields depend on the condition you select.
5
Configure the location filter (Then)
Under Then, define which locations are affected when the rule triggers:
Action:
Action
Effect
Include
Only the specified locations can fulfill (all others blocked)
Exclude
The specified locations are blocked (all others allowed)
Property: Choose how to target locations
Property
Value
Use when
Specific locations
Select individual locations
You need precise control over specific locations
Location with tag
Enter tag names
You want to target locations by capability
Location with type
Warehouse or Store
You want to target all locations of a type
6
Save the rule
Click Save to create your rule. If set to Active, it takes effect immediately at checkout.
You can create up to 10 configurable rules total across Product, Customer, and Cart rule types. Plan your rules strategically.
Triggers based on the total number of items in the cart.Operators available:
Operator
Description
Equal
Cart has exactly this many items
Not Equal
Cart does not have exactly this many items
Greater Than
Cart has more than this many items
Less Than
Cart has fewer than this many items
Greater Than Or Equal
Cart has this many or more items
Less Than Or Equal
Cart has this many or fewer items
Value: Enter the quantity thresholdBest for:
Routing bulk orders to warehouses
Limiting small stores to single-item orders
Handling large orders with dedicated fulfillment
Example: Orders with more than 10 items should only be fulfilled from warehouses with bulk packaging capabilities.
Triggers based on the total value of the cart in your store currency.Operators available: Same as Total cart quantity (Equal, Not Equal, Greater Than, Less Than, Greater Than Or Equal, Less Than Or Equal)Value: Enter the amount threshold (in your store currency)Best for:
High-value orders requiring secure handling
Premium orders with special packaging
Insurance or verification requirements
Example: Orders over €500 should only be fulfilled from your central warehouse with dedicated security processes.
Triggers on a line item property carried by individual lines in the cart, rather than on the cart as a whole.Unlike the other two conditions, this one selects which lines the rule applies to. Lines that do not match are left alone and follow your normal order routing.Operators available:
Operator
Description
Exists
The line carries this attribute, whatever its value
Does not exist
The line does not carry this attribute
Equals
The attribute has exactly this value
Does not equal
The attribute has any other value
Attribute key: The name of the line item property, for example utm_sourceValue: Only needed for Equals and Does not equalBest for:
Partner or affiliate referrals that must be fulfilled by the referring location
Marking specific lines for a dedicated facility
Any routing decision your theme can express as a line item property
Example: A partner links to your product page with ?utm_source=apons. Your theme saves that as a line item property, and the line must be fulfilled by the Apons location.
Pair this condition with the Location metafield filter below to resolve each line to its own location. Your theme is responsible for writing the line item property when the item is added to the cart.
Target all Warehouses or all Stores at once.Example setup:
Action: Include
Property: Location with type
Value: Warehouse
Result: Only warehouses can fulfill orders matching the condition; all stores are blocked.
Filter by location metafield
Target locations by the value of a metafield on the location. You can compare it against a fixed value, or against the value of the line’s own attribute.Example setup, matching a line attribute:
Action: Include
Property: Location metafield
Namespace and key: custom and pharmacy_code
Operator: Equals
Match: Line attribute, utm_source
Result: Each marked line must be fulfilled by the location whose custom.pharmacy_code equals that line’s utm_source value. One cart can split across several locations, one per value.Example setup, matching a fixed value:
Action: Include
Property: Location metafield
Namespace and key: custom and region
Operator: Equals
Match: Static value, north
Result: Only locations whose custom.region is north can fulfill orders matching the condition.
Matching is exact and case sensitive. The value written by your theme has to match the value stored on the location metafield.If no location matches a line’s value, the line follows your normal order routing. If a location does match but has no stock, checkout is blocked rather than falling back to another location.
Set these values with native Shopify location metafields. If your order routing already uses a metafield selector, reuse the same namespace and key so the values are already in place.
A jewelry retailer wants to ensure orders over €500 are only fulfilled from their central warehouse where they have insurance verification and secure packaging.
1
Create the rule
Name: High-value orders - Warehouse only
Status: Active
Type: Cart based
2
Set condition (When)
Condition: Total cart amount
Operator: Greater Than
Value: 500
3
Set filter (Then)
Action: Include
Property: Location with type
Value: Warehouse
Result: Orders over €500 are fulfilled exclusively from warehouses with proper security handling.