Which Shopify Functions capabilities need Shopify Plus
Short answer
Stores on any Shopify plan can use App Store apps that contain Functions, but only Shopify Plus stores can use custom apps that contain Functions. A few capabilities need Plus whichever app you use: setting payment terms, hiding payment methods at specific placements, and Cart Transform lineUpdate (also allowed on development stores). The Order Routing Location Rule API is Plus-only by request, and network access is mainly for Shopify for enterprises.
- Stores on any plan can use public apps distributed through the Shopify App Store that contain Functions.
- Only stores on a Shopify Plus plan can use custom apps that contain Shopify Function APIs.
- Setting payment terms and hiding payment methods at specific placements need Shopify Plus.
- Cart Transform lineUpdate operations work only on Shopify Plus stores and development stores.
- The Order Routing Location Rule API is available by request, and only to Shopify Plus merchants.
- Network access for Functions is available primarily on Shopify for enterprises and has to be enabled by Shopify.
The short version: Shopify Functions are not a Plus feature. Custom apps with Functions are. Stores on any plan can install an App Store app that contains a Function. Only Shopify Plus stores can install a custom app that contains one. On top of that rule, a handful of individual capabilities are gated to Plus no matter which kind of app delivers them.
This matters because the question usually arrives late. A merchant describes a rule, a developer starts building it as a custom app, and the plan problem appears at install time. Checking the gate first decides the whole route of the build.
The rule that decides most cases
Shopify’s documentation states it in two sentences. Stores on any plan can use public apps that are distributed through the Shopify App Store and contain Functions. Only stores on a Shopify Plus plan can use custom apps that contain Shopify Function APIs.
So the real question for a store below Plus is not “can we use Functions?” but “is there an App Store app that does what we need?” If one exists, the plan is not the blocker. If the rule is specific to your business and no public app covers it, a custom Function needs Plus, and building your own public app is a much larger commitment than a custom one.
Capabilities that need Plus whichever app you use
These gates sit on the capability itself. An App Store app can contain the code, but the operation only takes effect on a store with the right plan.
| Capability | Function API | Who can use it |
|---|---|---|
| Any Function inside a custom app | All Function APIs | Shopify Plus |
| Setting payment terms (for example net terms) | Payment Customization | Shopify Plus |
| Hiding payment methods at specific placements | Payment Customization | Shopify Plus |
Requiring merchant review of an order (orderReviewAdd) | Payment Customization | Shopify Plus, B2B purchases only |
Overriding a cart line with lineUpdate | Cart Transform | Shopify Plus and development stores |
| Custom location rules for order routing | Order Routing Location Rule | Shopify Plus, by request |
| Calling an external service (network access) | Cart and Checkout Validation, Discount, Local Pickup and Pickup Point Delivery Option Generators | Mainly Shopify for enterprises with custom apps; Pickup Point also on Shopify Plus; enabled by Shopify |
A few details behind the table. Payment terms can’t be set when the cart contains items with subscription selling plans, on any plan. The Order Routing Location Rule API is marked beta, and merchants must be enrolled in the Partners program to deploy their own custom apps and location rules. For network access, the overview page names Shopify for enterprises with custom apps for most APIs; the Pickup Point Delivery Option Generator is listed for development stores and Shopify Plus with custom apps, and the Discount API reference lists custom apps on Shopify Plus and Enterprise stores for its fetch target. Check the page for the specific API. Either way, Shopify has to enable network access, and the docs say it isn’t currently available on development stores or in a feature preview.
What works on any plan through an App Store app
Outside the gates above, the Function APIs themselves carry no Plus requirement in Shopify’s reference. Through a public app, a store below Plus can use:
- Discount functions, across product, order and shipping discounts. A store can activate up to 25.
- Delivery Customization to rename, sort or hide delivery options. Up to 25 per store.
- Payment Customization to rename, reorder or hide payment methods (but not payment terms or placement-specific hiding). Up to 25 per store.
- Cart and Checkout Validation to block orders that break a rule. Up to 25 per store. See how validation works.
- Cart Transform to expand or merge lines for bundles. Only one cart transform function per app on each store; if several apps install one, all of them run.
- Fulfillment Constraints, up to 25 per store.
The per-store activation limits apply on every plan, Plus included. If a store already runs many apps that each add a discount or validation function, the limit can become the constraint before the plan does.
Plus gates people confuse with Functions
Two checkout features are often lumped in with Functions but have their own rules. Checkout UI extensions on the information, shipping and payment steps are available only to Shopify Plus stores; on the Thank you and Order status pages they are not restricted to Plus. And the Checkout Branding API is Plus-only, while the checkout editor’s logo, colour and font settings work on the Basic plan and higher. Neither changes what checkout calculates; they change what it shows.
How to decide, in order
- Write the rule in plain words: which carts, what should change, and why.
- Check whether it needs one of the Plus-only capabilities in the table. If it does, the plan question is settled.
- If not, look for an App Store app that implements it. If one fits, the build is configuration, not code, on any plan.
- If no app fits and the store is on Plus, build a custom app with the Function. If the store is not on Plus, weigh a Plus upgrade against changing the rule to fit an existing app.
- Count existing active functions of the same type, so the new one stays within the 25-per-store limit.
If the logic used to run as a Shopify Script, the same order applies; the Scripts to Functions map shows which API replaces each script type.
Common requests and where they land
The same requirement can take a different route depending on the plan. These are the requests that most often raise the Plus question:
| Request | Below Plus | On Plus |
|---|---|---|
| Tiered or conditional discount the built-in discounts can’t express | An App Store app with a Discount Function | An App Store app, or a custom Discount Function |
| Hide cash on delivery above a cart value | An App Store app with a Payment Customization Function | An App Store app, or a custom Function |
| Net payment terms for business buyers | B2B payment terms in the admin, which every B2B plan has; not from a Function | B2B payment terms, or set by a Payment Customization Function |
| Bundle that expands into its components | An App Store app with a Cart Transform Function (lineExpand) | An App Store app, or a custom Cart Transform |
| Override a cart line’s price, title or image | Not available (lineUpdate is Plus-only) | Cart Transform lineUpdate |
| Check live stock or credit in an ERP during checkout | Not available; sync the data into Shopify first | Not available on Plus alone for most APIs; sync the data into Shopify first |
The last row is the one that surprises people. A Function sees only what its input query asks for, so external data has to be in Shopify before checkout starts, usually in metafields or inventory levels. Keeping that data current is an integration problem rather than a Functions problem; see how to sync inventory from an external system.
Where Lintel fits
Lintel builds custom Shopify Functions for Plus stores, and for stores below Plus we check first whether an existing App Store app already covers the rule, because then neither a custom build nor a plan change is needed. The plan check is the first step of our Shopify Functions work, and larger rules can become a custom app with an admin screen for settings.
Questions
- Do I need Shopify Plus to use Shopify Functions?
- No, not for App Store apps. Stores on any plan can use public apps that contain Functions. Only custom apps that contain Functions, and a few capabilities such as payment terms, need Shopify Plus.
- Can a non-Plus store use a custom discount Function?
- Not as a custom app. A custom app that contains Functions runs only on Shopify Plus stores. A store on another plan can use a discount Function that comes inside an App Store app.
- Which Cart Transform operations need Plus?
- Only lineUpdate, which overrides a cart line, is limited to Shopify Plus stores and development stores. Expanding and merging lines for bundles have no Plus requirement in the reference.
- Can a Function call an external API on Shopify Plus?
- Usually not. Network access is available primarily on Shopify for enterprises with custom apps and has to be enabled by Shopify. The Pickup Point Delivery Option Generator lists Shopify Plus with custom apps, and the Discount API reference lists Plus and Enterprise custom apps for its fetch target.
Sources
- About Shopify Functions (availability)
- Function APIs
- Payment Customization Function API
- Cart Transform Function API
- Order Routing Location Rule Function API
- About network access for Shopify Functions
- Discount Function API
- Delivery Customization Function API
- Cart and Checkout Validation Function API
- Fulfillment Constraints Function API
- Checkout UI extensions
- Customizing your checkout configurations
- Shopify B2B features by plan
