An array of tax line objects, each of which details a tax applicable to the order. Each object has the following properties:
price: The amount of tax to be charged in the shop currency.
rate: The rate of tax to be applied.
title: The name of the tax.
channel_liable: Whether the channel that submitted the tax line is liable for remitting. A value of null indicates unknown liability for the tax line.
When creating an order through the API, tax lines can be specified on the order or the line items but not both. Tax lines specified on the order are split across the taxable line items in the created order.
From the example looks like each order line has had the tax calculated separately so hence multiple lines.
We’re currently experiencing this with a client. I haven’t fully been able to narrow it all down. So far we’ve identified it’s only orders on a different channel (in our case subscription orders). But that’s it so far - will update here if we find a solution!