BeforeUK VAT-registered businesses purchasing on a B2C Shopify store expect to enter their VAT registration number and have the 20 percent VAT removed from the order total before checkout is completed. No existing Shopify app handles this correctly for UK VAT-registered buyers without requiring the buyer to create an account and wait for manual verification. The correct implementation uses Shopify Functions — specifically the Cart Transform Function — to conditionally remove the VAT line item when a valid UK VAT registration number is submitted and verified against HMRC's VAT validation API. Scripts (the legacy approach) are deprecated and no longer support this use case.
AfterThe correct implementation uses Shopify Functions — specifically the Cart Transform Function — to conditionally remove the VAT line item when a valid UK VAT registration number is submitted and verified against HMRC's VAT validation API.
BeforeShopify's native shipping rate system uses flat rates or weight-based tables. Real-time calculated rates from Royal Mail (using the Click and Drop API) or Evri (using the Evri Carrier Services API) require a custom carrier service integration via Shopify's Carrier Service API. This is a private app that registers a carrier service with Shopify, receives rate calculation requests from Shopify at checkout, queries the Royal Mail or Evri API with the order's weight and destination, and returns calculated rates in the format Shopify expects. No standard Shopify app provides this for Royal Mail Click and Drop at a per-shipment calculated rate level.
AfterReal-time calculated rates from Royal Mail (using the Click and Drop API) or Evri (using the Evri Carrier Services API) require a custom carrier service integration via Shopify's Carrier Service API.
BeforeShopify Scripts are deprecated. Complex B2B pricing rules — volume tiers with product exclusions, trade account pricing by customer tag, multi-currency discounts with per-currency minimum thresholds, and promotional stacking rules with category-level exclusions — require Shopify Functions. Shopify Functions run on Shopify's infrastructure and execute discount logic at the checkout level with no latency. Third-party discount apps can handle simple volume discounts and basic tiered pricing, but they cannot handle the combination of volume tiers, currency exclusions, product category exclusions, and customer-tag-based pricing that UK B2B brands frequently require.
AfterComplex B2B pricing rules — volume tiers with product exclusions, trade account pricing by customer tag, multi-currency discounts with per-currency minimum thresholds, and promotional stacking rules with category-level exclusions — require Shopify Functions.
BeforeUK brands using Sage 200, SAP Business One, or Brightpearl do not have a native, maintained Shopify connector that handles real-time inventory sync in both directions. Pre-built connectors exist for some of these platforms but they typically use polling rather than webhooks and have data mapping limitations that require workarounds. A custom private app built against Shopify's Admin API and the ERP's API handles inventory level updates, order creation in the ERP from Shopify orders, and product data sync with the correct field mapping for the specific ERP configuration in use.
AfterA custom private app built against Shopify's Admin API and the ERP's API handles inventory level updates, order creation in the ERP from Shopify orders, and product data sync with the correct field mapping for the specific ERP configuration in use.