Transaction Explanations defaulting to 0% sales_tax_rate

I’m using the Freeagent API to update various bank transaction explanations with VAT MOSS data. However, whenever I do so the rate always defaults to 0% rather than the Standard Rate, which isn’t very helpful as these will not show up in my one stop shop report.

It seems like there is an undocumented “sales_tax_rate” option, but setting this to “AUTO” still results in a rate of 0%.

Anything else I set it to results in the error message:

sales_tax_rate is not a valid rate for Estonia. Valid rates: 20.0, 9.0, 0.0

Of course setting it to “20” works fine. But that would require knowing the standard rate of tax for every nation and not letting Free Agent set it automatically, which kind of defeats the point.

I’m guessing this is an error and that it should default to the Standard Rate. Can we get this fixed please?

Hi Rob,

Firstly I’d like to point out that passing undocumented parameters in API requests is not supported. Anything we have not documented is subject to change without notice, which would cause any integration which depends on those parameters to break.

Having taken a look at the banking area of the FreeAgent desktop app, the AUTO option is not present for VAT MOSS transactions so expecting that to work in the API is optimistic at best. I’ve spoken to one of our engineers who was part of the team which originally developed our MOSS support, and in his opinion AUTO should result in a validation error.

Given the number of countries and differing local tax rules we don’t feel that giving an AUTO option is always guaranteed to give the correct behaviour, hence the decision to force users to explicitly set the rate for these transactions rather than risk our software doing the wrong thing.

I appreciate that this causes you some problems as you need to know which rate to set for each transaction. We’ll look at adding an EU sales tax rates endpoint to the API, however in the short term the best I can do is to point you to which should give you the information you need to submit valid transaction explanations.

Kind Regards,

Hi Paul I understand to an extent, although a few points.

  1. “sales_tax_rate” is not documented for explanations at the moment, your answer suggests we shouldn’t be using it at all in its undocumented state, which would make it impossible to do VAT MOSS through the API? I’ve attempted using “manual_sales_tax_amount” instead but that seems to get ignored and it just defaults back to 0% again.

  2. Having an end point for getting sales taxes back would be good. It’s definitely in there, since at the moment if you put in an incorrect value you get an error such as:

sales_tax_rate is not a valid rate for Estonia. Valid rates: 20.0, 9.0, 0.0

So just having an end point that returns [20, 9, 0] would be simple and ideal.

  1. I can’t really think of any situation in which assuming anything other than “standard rate” (when not provided with a lower rate) would be preferable, so perhaps it is worth considering having this as a default when not provided with a specific rate. But I guess that’s for you to think about it.