We have an app that pulls orders down from Shopify for our customers and I have noticed a difference in the way the tax_lines information is coming down that I need some clarity on, as it is causing a price discrepancy on the orders when they're imported into our app.
Previously our customer's orders would only have tax_lines information against the line_items entries when they had tax applied to them. We would use the presence of this tax_lines entry to determine that the price was a Gross price for the item, so the system shouldn't calculate tax for the item. Items that didn't have a tax_lines entry here would import the price as Net (this happened for foreign orders where the customer didn't pay tax, and due to our system setup we'd then see that the country doesn't pay tax, so would just use the Net prices for the order total calculation).
Recently (around 16th September) there was a change that happened to a couple of our customers where the order level tax_lines information is now being populated. This has then had an impact on the item level tax_lines information being available or not depending on the taxable property of the item. This has lead to us populating the price as Net for some GBP orders and so causing the order to be underpaid (since during import we put the price as Net, but the country applies VAT so we calculate the tax amount to apply to the item and our app calculated order total comes to more than the payment amount from Shopify), and foreign orders to come down as overpaid (since it has added a tax_lines entry to item lines when it didn't previously, so we've calculated a Net value of the Gross price that we've now sent down and then used this "untaxed" value for the order total).
Does anyone know of any option to be able to control whether tax information is applied only at the item level or order level? Or is there any value from the file that is consistently the untaxed, undiscounted unit price of the item?