Batten
Color theme

Settings reference

Tier set fields, CSV columns, and the settings on both theme blocks.

Tier set

FieldWhat it does
NameHow the set appears in the list. Not shown to shoppers.
StatusEnabled or disabled. A disabled set is skipped at cart calculation and its price tables disappear from the storefront.
BreaksA table of rows, each a minimum quantity plus either a percentage off or a fixed unit price. A row takes one or the other, never both.
ScopeProducts, collection, tag, vendor, or every product.
Aggregate across variantsOn counts every variant of the same product toward one quantity. Off counts each variant separately. Aggregation never crosses products.
Customer tag restrictionLimits the set to customers carrying the tag. A guest never matches a restricted set. Pro only.
Price ladder previewShows what a shopper pays at each break for a sample price.

Breaks inside a set are sorted by minimum quantity, duplicate minimums are collapsed, and a break that would not lower the price is skipped rather than applied.

How overlapping sets resolve

Sets are evaluated in the order they appear in the list, and the first set that covers a line claims it. A later set cannot take a line the first one already claimed, even when that line has not yet reached a break. Reorder the list to change which set wins.

CSV import

ColumnRequiredNotes
handle or skuYesOne or the other. Handle matches a product, SKU matches a variant.
min_quantityYesA whole number.
percent_offOne of the twoA number without the percent sign.
unit_priceOne of the twoA fixed price per unit at that break.

Headers are matched in any order and any capitalization, and common aliases are accepted. Quoted cells and doubled quotes are handled. Rows are validated before anything is written: the preview shows what will change, and the error report lists every rejected row with a reason. Handles and SKUs that resolve to nothing are reported rather than dropped. Import is a Growth feature.

Volume price table block

SettingWhat it does
HeadingOptional heading above the table, for example Volume pricing.
LayoutTable or inline row.
Show savings columnAdds the amount saved per unit next to each break.
Highlight current tierMarks the break the current quantity has reached.
Show when no tiers applyOff hides the block entirely on products with no tier set.

The block renders in Liquid from a product level metafield the app maintains, so it appears with the first paint. That metafield is derived from the tier set's scope, which is what keeps the advertised ladder and the applied discount in agreement.

Volume savings notice block

SettingWhat it does
MessageThe text shown, with a placeholder for the number of units needed.
Show current savingAdds what the shopper has already saved at the current quantity.
PlacementAbove or below the cart totals.

This block is a Pro feature. Add it on a lower plan and the theme editor tells you so, while the storefront renders nothing.

Plans

FreeGrowthPro
Price$0$24 a month$59 a month
Tier sets110Unlimited
Breaks per set3UnlimitedUnlimited
Discount functionYesYesYes
Volume price table blockYesYesYes
CSV importNoYesYes
Customer tag restrictionsNoNoYes
Volume savings noticeNoNoYes

Shopify hosts the plan selection page, so changing plan happens through the app and is billed with your store. A change of plan takes effect on the next admin load rather than needing a reinstall.

Storefront constraints

The storefront pieces are theme app extension blocks. There are no script tags, no external requests, and no theme file edits. Both blocks are added, moved, and removed by you in the theme editor, and both disappear when the app is uninstalled.

Still stuck? Send it through the support form and you will have a reply inside two business days.