Costs & rules
How cost rules match and stack
How Easy Profit Calculator picks which cost rule applies to an order, what priority does, and when rules stack.
Updated June 30, 2026
Several cost areas in the app work the same way: you create rules, the app finds the rules that match an order, and a priority decides which one wins. This explains how that works so you can predict what a rule will do before you save it. Creating cost rules is a Pro feature (setting the basic return policy is the one exception - that works on the free plan).
How it works
Matching a product. Product cost rules, purchase discounts, and landed-cost rules all narrow products the same five ways, and matching ignores upper and lower case:
- Vendor: the product's vendor is exactly the value.
- SKU starts with: the SKU begins with the value (for example PBM-).
- Product tag: the product carries that tag.
- Product type: the product type is exactly the value.
- Title contains: the product title includes the value anywhere.
Landed-cost rules add one extra option, "All products", for a store-wide default. Shipping and returns match on order-level details instead (shipping by the delivery method, or for supplier overrides by SKU prefix, vendor, or location; returns by method, vendor, product type, location, SKU prefix, order value, or destination country).
Priority. Every rule has a priority number from 1 to 999. Lower numbers run first. When more than one rule matches, the app walks them lowest number first.
What wins. For product cost, landed cost, shipping, returns, and payment fees, the first active rule that matches is the one that applies - the rest are skipped for that order.
Stacking is only for purchase discounts. A purchase discount marked "stackable" can combine with other matching stackable discounts, so several supplier deals add up on one product. Every other cost area uses first-match-wins, no stacking.
Active or inactive. Only rules set to Active are considered. Switching a rule to Inactive takes it out of the running without deleting it.
Where a product's cost comes from. Product cost is resolved in a fixed order: a cost captured when the order was placed is kept as-is, otherwise Shopify's Cost per item is used, otherwise the first matching product cost rule, otherwise the cost is counted as missing.
Payment fees and dates. For payment fees, a rule set for a specific card brand beats the gateway's default rule, and Shopify Payments always uses the exact fee Shopify reports. Payment fee rules are also the one place you can set a start date (the monthly fee billing date); other rule types apply whenever they are active.
A worked example
Say you have two product cost rules. One matches Vendor "Acme" at priority 100. A more specific one matches SKU starts with "ACME-WINTER" at priority 10. A winter Acme product matches both rules. Because 10 is lower than 100, that rule runs first and sets the cost, and the priority 100 rule is skipped for that product. If these were purchase discounts instead and the priority 10 discount was marked stackable, a matching stackable discount at priority 100 would then be added on top.