Milly Software
CA Battery Fee

Release notes.

Versioned, dated, grouped by area.

What changed in CA Battery Fee, and what it means for your store. Version numbers are ours — they track the product, not how many times we deployed it. For what the app does today, see the overview.

Last shipped
v1.1.1 · Sep 9, 2026
1 week ago
v1.1.1#
PLATFORM
diff ← v1.1.0

Current platform version, shorter-lived access

  • The function that adds the fee now runs on Shopify's current platform version, ahead of the one it was on being retired.
  • The app's access to your store uses short-lived tokens that rotate on their own, so a token that ever leaked would stop working by itself.
  • Neither changes how the fee is calculated or how it appears at checkout.
v1.1.0#
FEE
diff ← v1.0.3

Every order audited against the statutory fee

  • The dashboard now lists California orders from the last 30 days that came in under-collected — where less fee was charged than the statute requires.
  • The audit is done from the order itself, using your battery collection and the destination address, so it does not depend on the checkout step having run. Express checkouts such as Apple Pay and Google Pay bypass the cart customization entirely, and those are exactly the orders it surfaces.
  • Nothing is changed on the order. It is a list you can act on — so an under-collection is something you find, rather than something an auditor finds for you.
  • This needs one additional permission, order data, which Shopify will ask you to approve the next time you open the app.
v1.0.3#
SETUP
diff ← v1.0.2

Why don't I see a fee?

  • A permanent card at the bottom of the dashboard walks through every reason a fee would not apply: the order is not shipping to California, the product is not in your battery collection, no fee product is set, or the fee is switched off.
  • It also covers the one that is easy to miss. Checkout resolves collection membership through your storefront, which only sees collections available to the Online Store sales channel — a collection created through the API or a headless setup may not be published there, and its products then never qualify.
v1.0.2#
PLATFORM
diff ← v1.0.1

On Shopify's current checkout mechanism

  • The fee details that the checkout step hands to the function now travel on Shopify's cart metafields. The mechanism they used before is deprecated on Shopify's current platform version.
  • The fee maths and the tamper check below are unchanged, and there is nothing to do on your side.

The fee is calculated where a buyer cannot reach it

  • The statutory fee is recomputed inside the cart function from the line's own price, and an amount that does not match is refused.
  • Before this the amount arrived from the checkout step, which a determined buyer could edit — a $0.75 fee could have been sent through as a cent. The number that lands on the order is now the number the statute sets.
v1.0.0#
PLATFORM

CA Battery Fee is on the Shopify App Store

  • Applies the California Battery Recycling Fee — 1.5% per unit, capped at $15 on products over $1,000 — to the products in the collection you nominate.
  • Only on orders shipping to California. The checkout step reads the destination address, which is the only thing that can tell California-shipping from California-billing; a billing-address proxy would over-collect and under-collect in opposite directions.
  • The fee is its own itemized line in the order summary, with a customer-facing disclaimer you can edit. The default cites CA Health & Safety Code § 25214.10.2.
  • Your battery collection and your fee product are chosen from a typeahead picker, and an in-app banner deep-links you to the checkout editor for the one manual step: placing the disclosure block.
  • Free, on Shopify Plus. Shopify restricts the order-summary checkout surface this app needs to Plus stores, and at that audience there was no case for charging for compliance.
End of list — 6 releases since v1.0.0 (Jun 4, 2026)Setup guide →