Skip to content

NetGuard / Documentation

Technical setup & integrations

Compare Shopify plan boundaries and verify each authenticated surface.

Core Shopify B2B and public-app validation are not blanket Plus-only requirements. The optional payment-step note and original-order partial write-back have separate Plus restrictions.

Starting context

Before you start

  • Configured Shopify B2B, native terms, company/location contacts and catalog access.
  • For repository work only: project instructions, pinned dependencies, configured local credentials and an authorized development store.

Shopify plan compatibility

Checked against official Shopify documentation on 6 October 2026 and the current NetGuard source. This is a platform/source comparison, not a claim of live testing every plan.

CapabilityBasic / Grow / AdvancedShopify Plus
B2B companies, locations, permissions and net termsAvailable; B2B catalogs require new Shopify MarketsAvailable
B2B market catalogs / direct company catalogsUp to 3 active market catalogs; no direct company assignmentsUnlimited market catalogs and direct company/location assignment
Public App Store app validation FunctionAvailable; this release reads metafields, without Function network accessAvailable; custom-distributed Function apps also require Plus
Optional Credit checkout note at payment stepUnavailable at this checkout UI targetAvailable when the app block is placed
NetGuard manual partial receipt ledgerAvailable on every NetGuard planAvailable on every NetGuard plan
NetGuard buyer partial checkoutRequires NetGuard Pro/Business and eligible invoice/payment contextSame NetGuard entitlement requirement
Automatic partial write-back to original Shopify orderSkipped; full settlement can sync when enabledSupported when enabled; processed asynchronously
Shopify-native advanced B2B paymentsNative deposit/partial/payment-per-fulfillment features unavailableAvailable; distinct from NetGuard’s receipt ledger and portal

Keep in mind. NetGuard Pro is an app subscription, not Shopify Plus. Shopify’s native advanced-payment restrictions do not mean NetGuard cannot record a partial receipt. Store configuration, distribution and current platform eligibility still need verification.

Verify the store surfaces

The public website needs no Shopify session; admin, buyer data and PDFs are authenticated. There is no documented public integration API in this release.

  1. Open NetGuard from Shopify admin and complete the four setup steps. Verify terms, catalog and contact/location assignments in the intended store.

    Expected result

    Actual saved prerequisites agree with Shopify, rather than only the welcome screen being marked complete.

  2. Enable the validation rule in the active Shopify checkout configuration and review NetGuard’s three policy switches.

    Expected result

    The function blocks disallowed supported credit orders independently of the optional note. Test an allowed and a refused cart.

  3. On Plus, place Credit checkout note in its supported active checkout location and save; on other plans proceed without this optional block.

    Expected result

    The note adds information, not enforcement. Do not promise a branded note to every blocked non-Plus buyer.

  4. In the active Shopify customer-account editor, select Orders → Main → Add block → My Invoices → Save. Sign in as an assigned company contact and open Orders. Repeat with a retail/unassigned contact.

    Expected result

    The placed block uses customer-account.order-index.block.render and shows only authorized scope; shoppers with none see no block. Deployment alone does not place it.

Keep in mind. Never build around internal endpoints or put Shopify tokens into browser URLs. Network-accessing Functions have separate platform restrictions; this validation release does not use that capability.

Repository contributor verification

These commands are for developers, not tasks merchants must perform. Use fictional records and keep credentials out of source.

  1. Follow repository instructions and lockfiles for npm ci at root and UI extensions. Configure local credentials from the example and run npm run db:migrate:local.

    Expected result

    Local dependencies/schema match the repository; production exports and credentials are not test fixtures.

  2. Run npm run dev or npm run dev:shopify for the appropriate preview. Verify admin and extension context with an authorized development store.

    Expected result

    Local public rendering is not mistaken for authenticated Shopify or buyer-extension verification.

  3. Run npm run typecheck, npm test and npm run build before release; run the Rust validation function’s Cargo tests separately.

    Expected result

    Root and both UI extensions receive type checks; Rust behavior is not assumed covered by TypeScript.

  4. For an authorized Worker release use npm run deploy so remote migrations precede a fresh build and upload. Review extension releases separately.

    Expected result

    Schema changes land before dependent code and the upload uses fresh build output. Reading this guide does not authorize a production mutation.

Keep in mind. Shopify supplies commerce, identity and billing. Cloudflare Workers/D1/KV/R2 host records and protected files; Browser Rendering creates PDFs and Resend delivers email. Webhooks and background work synchronize state.

Check before retrying

If the result differs

A feature is absent on non-Plus
Use the compatibility table to distinguish native Shopify/editor restrictions from NetGuard entitlement. Test the actual supported surface rather than assuming all app features need Plus.
An integration requests an API key
No public API is documented in this release. Discuss requirements with support without exposing tokens or depending on internal routes.
Need help with this step?

Contact NetGuard support with the store domain, record identifier and the result you expected. Redact unrelated personal information.