Migration
Shopify Scripts to Functions migration
Shopify Scripts stopped executing in June 2026. If your store had discounts, shipping or payment methods driven by a Script, that rule is not being applied today. I audit what each Script did, what is still needed, and rewrite it as a Function.
The order I work in
1. Inventory. Which Scripts existed, what each did and when it was last touched. On stores with a few years behind them there is usually one Script nobody remembers asking for.
2. Culling. For each rule, the question is whether it is still needed and whether the platform now covers it. The three most common Scripts were a discount by customer tag, hiding shipping based on the cart, and reordering payment methods. In B2B, two of those are solved without code today: a tier discount is a catalog and a case-pack minimum is quantity rules.
3. Rewrite. What survives gets written as a Function, with a tight input query and tests.
4. Verification. It deploys to a development store and runs against the carts that actually matter: the big order, the one mixing tiers, the one sitting right on the minimum.
What changes versus a Script
Three things, and they are what force a redesign rather than a translation. A Script saw the whole cart; a Function receives only the fields its input query asks for. A Script had no visible budget; a Function does, and that rules out walking the catalog inside the code. And a Function deploys as an app, with versions and configuration, instead of being text saved in the admin: more work the first time, far less risk afterwards.
The plan requirement
A custom-written Function ships inside a custom app, and that can only be installed on stores with Shopify Plus. If you had Scripts you already have Plus, so this point rarely blocks this particular migration.