This site uses cookies. By continuing to browse the site you are agreeing to our use of cookies. To find out more about cookies on this website and how to delete cookies, see our Cookie Policy.
Analytics

Tools which collect anonymous data to enable us to see how visitors use our site and how it performs. We use this to improve our products, services and user experience.

Essential

Tools that enable essential services and functionality, including identity verification, service continuity and site security.

Where Taxpayers and Advisers Meet

How does SA software calculate tax

jason13
Posts: 147
Joined: Mon Mar 28, 2011 2:02 pm

How does SA software calculate tax

Postby jason13 » Tue Apr 17, 2018 4:26 pm

How do the 3rd party SA software solutions (TaxCalc, ABC SA, etc) calculate tax liability? Do they have logic built into the system or do they query HMRC to get the tax calculations? I'm asking because I noticed that HMRC publishes an interface to get a tax calculation: https://github.com/hmrc/self-assessment-api

If the logic is built in, how do providers test that their calculation is correct? Does HMRC provide a set of "test cases" with solutions to test against?

Silvabod
Posts: 4
Joined: Thu Dec 06, 2012 4:27 pm

Re: How does SA software calculate tax

Postby Silvabod » Tue Jul 17, 2018 2:34 pm

I was a tax officer way back in the 50's and 60's. In those days, it was pen and paper, phone, snailmail and (some) fax communication. Plus, there were multiple tax rates, multiple allowances (single, married, children to mention just a few). No self-assessment then, but tax calculation was (and still is) the process of totalling income, deducting allowances, and set the remaining taxable income against the FOUR rate bands.

Tax calculation was that simple, then (even more so today, given there's only ONE personal allowance and maximum TWO rates of tax, plus the fact that Bank Interest and Co dividends are now paid gross, with everyone having personal investment allowances).

That's the basics, covers probably 90% of workers.
There may be a few complications (benefits in kind, pension contributions and misc allowances etc) but nothing too different to 60 years ago.

Self-assessment basics -declare earned income, tax paid, claim allowable expenses/allowances, declare unearned/investment income.
SA software pre-loads the tax-year's allowances, and is able to calculate tax due, set it against tax paid and determine under/overpayment.
The logic is that simple - anyone with a desk-top calculator can do it, so it's child's play to encode it into a software app!

PAYE -
Tax codes are equally simple, fully explained on tax code notifications. The final number is used in conjunction with the tax tables provided to employers. Allowances are accrued equally over the year, so at Week 52/Month 12 your year's allowances have been set against your income and the correct amount of tax collected (assuming your tax code remains correct).

someone
Posts: 332
Joined: Mon Feb 13, 2017 10:09 am

Re: How does SA software calculate tax

Postby someone » Tue Jul 17, 2018 4:07 pm


Tax calculation was that simple, then (even more so today, given there's only ONE personal allowance and maximum TWO rates of tax, plus the fact that Bank Interest and Co dividends are now paid gross, with everyone having personal investment allowances).

Self-assessment basics -declare earned income, tax paid, claim allowable expenses/allowances, declare unearned/investment income.
SA software pre-loads the tax-year's allowances, and is able to calculate tax due, set it against tax paid and determine under/overpayment.
The logic is that simple - anyone with a desk-top calculator can do it, so it's child's play to encode it into a software app!

You're kidding, right.

Even with just PAYE, there's three rates of tax, plus withdrawal of the annual allowance plus withdrawal of the pension annual allowance plus HICBTC.

I've probably missed something but that makes six effective rates of tax.

I'm not even sure HMRC knows how to calculate the pension annual allowance withdrawal because they don't do it - they ask you to input by how much you've exceeded the annual alowance.

Hypothetical:

190k income. No pension carry forward available. 80k (gross) pension contribution made by the taxpayer.

How much has the pension annual allowance been exceeded by?

Note that in SA, the pension excess isn't added to your other taxable income, there's a separate tax bill for the pension excess. Which means my hypothetical scenario the taxpayer's threshold income is 110k and they get the full 40k allowance.

But add the excess back onto the income and the threshold income is exceeded - leading to the annual allowance being reduced to 20K and an additional 9K of tax is due.

Or is it? The marginal rate of our hypothetical taxpayer is 40% so perhaps it's 8K.

And what is the annual allowance? On 110K it's only reduced by 5K.


The whole thing is crazy complicated. Sure, our 190k taxpayer is one of the 1%. But they only have PAYE income and the SA can't do the calculations for them.

robbob
Posts: 2678
Joined: Wed Aug 06, 2008 4:01 pm

Re: How does SA software calculate tax

Postby robbob » Tue Jul 17, 2018 5:53 pm

jason13
How do the 3rd party SA software solutions (TaxCalc, ABC SA, etc) calculate tax liability?

They must follow the calculations exactly as laid out by hmrc, even if the hmrc calculations are wrong these third party providers must follow the wrong route as specified by hmrc - albeit the decent ones also give you a helping hand by flagging up when the approved calculations are wrong and what the correct calculations should be.
If the logic is built in, how do providers test that their calculation is correct? Does HMRC provide a set of "test cases" with solutions to test against?
the relevant suppliers are approved so there must be some process of hmrc either testing the software or letting companies know what tests they need to pass to be "approved".





Silvabod
The logic is that simple - anyone with a desk-top calculator can do it, so it's child's play to encode it into a software app!
Couldn't disagree more

The logic is ridiculously complicated now to the extent that hmrc can't even program their computers correctly and some of the guidance as to how the different allowances interact with each other makes one scratch ones head, add into the equation the odd quirky situation whereby it may be sensible to allocate items against personal allowance where one would traditionally always have them as a top slice of income and then.

I wouldn't want to type the following into my calculator after 2 pints never mind my usual 6.

A customer with non-savings income from pay,
pension etc. will benefit from setting allowances
against the savings income where this will
position non-savings and/or (more importantly)
savings income in the HR_band rather than the
BR_band because the personal savings
allowance will cover the income in the HR_band.
The calculator is not considering this.
This is identifiable:
WHEN c5.1 > £0
AND c4.79 = £500
AND c5.35 >= (c5.2 minus £500)
AND ((c5.3 + c5.11) minus c5.67) > c5.2
AND c5.37 > £0
AND c5.56f > d_5_58_c*
AND c5.76 < (lower of c5.2 and c5.35)
*Where d_5_58_c = if c5.12 = 0 (zero) and (c5.3 +
c5.11) minus (c5.49 + c5.51) > c5.2, d_5_58_c =
lower of c5.49 and d_5_58_b, else, d_5_58_c =
lower of (c5.49 + c5.51) and d_5_58_b, end if
d_5_58_b = lower of (c5.1 minus (c5.47 + c5.48 +
c5.56e + c5.56g + c5.58)) and d_5_58_a
d_5_58_a = if c5.49 > 0 (zero), d_5_58_a = lower of
(c5.35 minus c5.56e) and c5.49, else, d_5_58_a =
c5.35 minus (c5.44 + c5.56e), end if


Return to “General”