Hi everyone,
As of API version 2026-10, when an app changes the shipping address on an entirely unfulfilled order, Shopify recalculates tax against the new destination. This keeps the order’s tax lines and totals accurate after the address changes.
Today, the new shipping address is saved, but the original tax lines remain unchanged, leaving the order’s totals out of sync with where the order is actually shipping. API versions before 2026-10 keep this behavior.
Tax recalculation by API version
- 2026-07 and earlier: Current behavior is unchanged.
- 2026-10 and later (including unstable): Yes, tax for entirely unfulfilled orders will be recalculated.
This applies to:
- GraphQL Admin API
orderUpdate - Admin REST API order update endpoint
For partially fulfilled orders, the address change is still saved, but tax is not recalculated. Recalculating after partial fulfillment can produce incorrect totals because fulfilled units can’t always be reliably matched back to specific line items.
Note: an earlier version of this post announced this change would apply to all Admin API versions on September 9. Based on developer feedback, it now ships as a versioned change bound to 2026-10 instead. Your app’s behavior won’t change until you upgrade.
What you need to do
Nothing, until you adopt API version 2026-10. When you do:
- You don’t need to change your request. Keep sending the same update.
- If your app depends on tax lines, total tax, order totals, payment status, or fulfillment/accounting logic after updating a shipping address, re-fetch the order after the update and use the recalculated values.
- Apps subscribed to
orders/editedwill receive a webhook when an address change results in tax recalculation.
FAQ
Does this affect REST API updates too? Yes, both the GraphQL Admin API orderUpdate mutation and the Admin REST API order update endpoint, on API version 2026-10 or later.
Are there schema changes? No. However, updating the order’s shipping address will now recalculate taxes. This is a behavioral change from 2026-07.
Will webhooks fire? Yes. Apps subscribed to orders/edited will receive a webhook when the address change results in tax recalculation.
How should my app handle the order’s balance after tax recalculation? Recalculation can change the order’s total, which can leave an already-paid order with a small outstanding balance, or a small credit.
We recommend the following workflow when updating a shipping address with orderUpdate:
- Record the order’s balance before updating the shipping address.
- Wait for the
orders/updatedororders/editedwebhook to fire. - Compare the new balance against the recorded one.
- If the balance increases and the difference is within your app’s write-off threshold, mark the order as paid (
orderMarkAsPaid). - If the difference exceeds your threshold, the merchant can choose to send an invoice (
orderInvoiceSend). - If the balance decreased, refund the difference (
refundCreate).
What should I check before upgrading to 2026-10? Review any workflow where your app updates an order’s shipping address, since address updates may recalculate taxes. This impacts sales and taxes. This can increase the order’s balance and change the financial status from “Paid” to “Partially paid” or create a refundable balance on the order. If you have workflows or automations that depend on the order’s payment status, verify there are no downstream effects from this change.
To learn more, see the changelog entry and the orderUpdate mutation reference.
Thank you,
Shopify