Accurate US Tax Calculations Now Follow Your Fulfillment Location

Shopify now calculates US sales tax based on the actual fulfillment location for each order, improving reporting accuracy for merchants with multiple warehouses or pickup points.

Accurate US Tax Calculations Now Follow Your Fulfillment Location
7 sections

If you’ve ever struggled with mismatched sales‑tax reports because you ship from several warehouses—or you offer local pickup—Shopify’s latest tax update is a game‑changer. Effective immediately, tax is calculated using the exact fulfillment location selected by your order‑routing rules, and that location is recorded on the order itself. This post breaks down what changed, who needs to act, and how to confirm everything is set up correctly.

What’s Changing?

Previously, Shopify calculated US sales tax based on the shop’s primary address, even when an order was routed to a different fulfillment center or a local pickup point. The new logic ties tax calculation to the actual “ship‑from” location that your order‑routing settings pick for each order. For local pickup orders, the tax now reflects the pickup store’s address. The order record now includes a “ship‑from location” field, giving you an auditable trail for each transaction.

Why It Matters for Merchants

Sales‑tax rates can vary not only by the buyer’s destination but also by the origin of the shipment (especially for nexus rules in states like California and New York). When your tax was tied to a single shop address, you could end up over‑collecting or under‑collecting tax for orders shipped from secondary warehouses. The new behavior eliminates that gap, ensuring your tax collected matches the jurisdiction that actually applies, which simplifies filing and reduces the risk of audits.

For merchants that run multi‑location fulfillment, the update also improves reporting accuracy. The “Orders” page now shows the ship‑from location used for tax, so you can easily reconcile tax liabilities per warehouse in your accounting software.

Implications for Developers

If you build apps that read tax information, you’ll now see a new field on the Order object: tax_lines[].tax_source will reference the fulfillment location ID. The GraphQL Admin API also surfaces order.fulfillmentLocation (or order.pickupLocation for local pickup). Adjust any logic that assumed tax was always derived from the shop’s primary address.

For webhook consumers, the orders/create and orders/updated payloads now include source_location_id under shipping_address. Update your parsers to capture this ID if you need to map tax calculations back to a specific warehouse in downstream systems.

How to Verify & Adjust Your Order Routing Settings

  • Open Settings → Locations – Confirm every fulfillment center you use is listed and marked as “Active.”
  • Navigate to Settings → Shipping and delivery → Order routing – Review the rules that decide which location ships an order (e.g., “Ship from the location closest to the customer”).
  • Test a few orders – Place a test order to each location (or use the “Create test order” feature in the admin) and then open the order details. You’ll now see a “Ship‑from location” section beneath the tax summary.
  • Check the tax breakdown – In the order view, expand “Tax breakdown” and verify that the rate matches the jurisdiction of the displayed ship‑from address.
  • Sample Configuration & API Check

    Below is a quick GraphQL query you can run in the Shopify Admin API Explorer to confirm the ship‑from location used for tax on a given order:

    graphql

    query GetOrderTaxLocation($orderId: ID!) {

    order(id: $orderId) {

    id

    name

    fulfillmentLocation {

    id

    name

    address {

    countryCode

    provinceCode

    zip

    }

    }

    taxLines {

    priceSet {

    shopMoney { amount currencyCode }

    }

    rate

    }

    }

    }

    If the fulfillmentLocation field returns a location other than your primary shop address, the tax calculation is already using the new logic. If it’s blank, double‑check that the order was routed through a location that has “Fulfillment” enabled.

    Next Steps & Best Practices

    • Audit historic orders – Export orders from the past quarter and compare the source_location_id with your tax filings. If discrepancies appear, you may need to file amended returns for the affected states.

    • Update tax‑automation apps – Ensure any third‑party tax service (Avalara, TaxJar, etc.) is receiving the correct fulfillment location ID. Most providers have a “location‑aware” mode you can enable.

    • Document routing rules – Keep a simple SOP that lists which products or shipping zones map to which fulfillment locations. This helps new team members understand why a specific tax rate was applied.

    • Monitor Shopify status – The change rolled out on 2024‑09‑01, but Shopify may release minor tweaks. Subscribe to the developer changelog for any subsequent API version updates.

    Conclusion

    Accurate tax collection is a cornerstone of a healthy Shopify store, especially when you’re scaling across multiple warehouses or offering in‑store pickup. By tying tax calculations directly to the fulfillment location, Shopify eliminates a common source of error and gives you clearer data for filing and analytics. Take a few minutes today to verify your order‑routing rules, run a test query, and adjust any custom code that assumes tax comes from the shop’s primary address. Your finance team—and your peace of mind—will thank you.

    Ready to put the new tax logic to work? Check your order‑routing settings now, and if you need a hand, reach out in the Shopify Community or drop a comment below. Happy selling!

    Tags
    Sources

    Related Articles

    Protecting Shoppers: Shopify’s New Confirmation Prompt for External Redirects

    Protecting Shoppers: Shopify’s New Confirmation Prompt for External Redirects

    Shopify now shows a confirmation modal before sending customers to untrusted external sites, helping prevent phishing and unwanted redirects. Learn what changed, who’s affected, and how to keep your store’s experience smooth.

    October 21, 20264 min
    Mastering Stock Counts: New Tools to Create, Manage, and Review Inventory in Shopify Admin

    Mastering Stock Counts: New Tools to Create, Manage, and Review Inventory in Shopify Admin

    Shopify’s latest Stock Count feature brings barcode scanning, real‑time reviews, and audit trails directly into the admin. Learn who it impacts, how to set it up, and what developers need to know.

    October 20, 20264 min
    Unlocking Analytics for Metaobjects: New Queryable Capability in the Shopify Admin API

    Unlocking Analytics for Metaobjects: New Queryable Capability in the Shopify Admin API

    Shopify’s 2027-01 GraphQL Admin API now lets you read and set the analyticsQueryable capability on metaobject definitions, aligning them with metafields. Learn what changed, who it impacts, and how to enable analytics for your custom data.

    October 20, 20263 min
    Securing Your Shopify App: New AI‑Powered Checks and Expiring Tokens

    Securing Your Shopify App: New AI‑Powered Checks and Expiring Tokens

    Shopify’s latest developer update forces app makers to adopt AI security scans, short‑lived access tokens, and tighter account protections. Learn what changed, who’s affected, and how to implement the new safeguards today.

    October 20, 20264 min