Order discount discrepancy? How it could be calculate from REST API order or line items data?

Hi! Could one please explain how “Discounts” are calculated for taxable orders?

For example - there is an order:

GDS Gross sales Discounts Returns Net sales Shipping Tax Total sales
46.48 -15.06 0 31.42 9.5 10.23 51.15

The order itself has a “fixed_amount” discount of 20 euros and the following line items:

price tax rate tax price pre_tax_price discount_allocations
20 0.25 3.32 10.19 6.49
11.9 0.25 1.98 6.06 3.86
17.85 0.25 2.96 9.1 5.79
11.9 0.25 1.97 6.06 3.86

As I understand - with this type of discount “discount_allocations” are calculated as a proportional value of a total discount to the line item price.

And total discount would be a sum of “discount_allocations”/(1+“tax rate”). And it should be 16$.

But Shopify says it is 15.06$ !

This is a huge difference! How a euro got lost on Shopify calculations?

Hello @aleksei_s_popov

Just wanted to know if you found an answer to your problem?

I just try to rebuild your case and there is something weird.

The gross sales amount is not the good one. Are you sure about your tax rates?
Because following your table, we should have 49.32 as a gross sales amount. And in your table we got 46,48.

Here is a table that i created to rebuild the tax / discounts amounts.

Hope it helps,

Thomas