Skip to main content
Panori Bundles is built entirely on native Shopify primitives — no external database, no webhooks, no sync jobs. Everything runs inside your store.

Storage

Bundle configurations are stored as Shopify Metafields directly on your shop and on the relevant product variants. This means your bundle data lives natively in Shopify, is always in sync, and requires no external service to stay up to date. When you save a bundle in the app, the configuration is written to the appropriate metafields automatically. No manual sync needed.

Cart Transform Function

Discounts and bundle grouping are applied by a Shopify Functions Cart Transform, which runs server-side during checkout — inside Shopify’s infrastructure, not on an external server. When a customer adds a configured bundle to the cart, the function:
  1. Reads the bundle selection from the cart
  2. Validates it against the saved server-side configuration
  3. Groups the selected items and applies the configured discount
Because the function runs server-side and validates against your saved configuration, customers cannot manipulate prices or bypass bundle rules from the browser.

Plan Gate

The cart transform function only activates when your store has an active Panori Bundles plan. Without an active plan, the function is a no-op and the cart is left unchanged.

Data Flow

You save a bundle in the app


Configuration written to Shopify Metafields

        ├─▶ Used by the Cart Transform Function at checkout
        └─▶ Available on product variants for storefront display (Pro plan)
The storefront metafields (Pro plan) let you read bundle data directly in Liquid to build a custom bundle UI — see Custom UI with Liquid.