Discrepancy in calculation of taxes manual and actual output

Topic summary

Issue: Tax fields in Shopify’s Admin REST API (2021-10) appear unwritable despite documentation not marking them read-only.

  • Context: An EU VAT and customs SaaS tool integrating with Shopify (previously working on Magento/WooCommerce) needs to set tax data on orders.
  • Attempt 1 (DraftOrder): Sent values for taxes_included, tax_lines, total_tax, tax_exempt, and line_items.tax_lines while creating a DraftOrder. Result: fields remained empty after creation.
  • Attempt 2 (Order update): Tried PUT on existing orders to set the same tax-related fields, which documentation suggests are not read-only. Result: changes did not apply.

Request: Clarification on actual Shopify API behavior for populating these tax fields and viable methods to add tax data to draft or existing orders via API.

Response: A generic recommendation to contact Shopify support/community and a link to a UK VAT calculator; no technical explanation or workaround provided.

Status: Unresolved. Key question remains whether and how these tax fields can be programmatically set in DraftOrders or Orders.

Summarized with AI on January 12. AI used: gpt-5.

EAS has developed a comprehensive EU VAT and customs compliance SaaS tool. Currently it is running on Magento and WooCommerce.

Unfortunately, during the plugin development, we have come across two unexpected problems. So far we have been unable to resolve the problems with Shopify. We are sure that these issues have been resolved earlier and could easily be clarified by experienced Shopify development specialists.

  1. In accordance with Shopify API documentation for the section (DraftOrder ) it is possible while creating DraftOrder to change attributes for fields that are connected with calculation of taxes , specifically:

tax_exempt , tax_lines , taxes_included , total_tax , line_items.tax_lines

API documentation does not state that these fields are read_only during our plugin operation we perform a request , that contains data for the following fields : taxes_included , tax_lines etc with expected result that the fields should be populated with our data. Contrary to the expectations the mentioned fields are left empty after DraftOrder is created.

  1. As an alternative, our developer team tried to change/populate fields connected to taxation in the existing order by using command Order . According to the Shopify API documentation the following field in the order are not read only tax_exempt , tax_lines , taxes_included , total_tax , line_items.tax_lines

Is there someone who could clarify the behavior of Shopify API concerning the population of the above fields and/or provide other possible methods to add tax data to the draft or existing order via Shopify API?

Hey! It seems like you’ve encountered unexpected issues while integrating your EAS VAT and customs compliance SaaS tool with Shopify. To clarify the behavior of the Shopify API, especially regarding the population of fields like tax_exempt, tax_lines, taxes_included, total_tax, and line_items.tax_lines, I recommend reaching out to Shopify’s official support channels or community forums. Experienced Shopify developers might have insights or workarounds to help you address these challenges. Additionally, they could shed light on any undocumented behaviors or provide alternative methods for adding tax data to draft or existing orders via the Shopify API. Good luck with your integration! If you worrying about VAT calculation, use the UK VAT calculator to give you accurate results within a single tap.