Live data from Hacker News

UsTaxes – open-source tax filing web application

ustaxes.org

11–20 of 56 posts

Re: UsTaxes – open-source tax filing web application

#12
post #9
post #7

Earlier quoted context omitted.

As long as Intuit can lobby for the tax code to be complex and the process to be slow, painful, and manual, there aren't going to be any viable options that aren't just other commercial alternatives to TurboTax.

I have not yet become that nihilistic, but I do think it would require a pair of a subject matter expert and then someone with reasonable software engineering chops to pull it off. Starting by not using a dynamically typed language, IMHO I figure if M:TG can be implemented, surely the tax code can, too, even if it requires an "expert system," or machine learning, or NLP or something other than 1,500,000 lines of C++…

> Starting by not using a dynamically typed language, IMHO

This is written in TypeScript.

As with most everything the problems with why it hasn't been done are unrelated to someone not selecting the "right" language to do it in.

> Actually, that's also an interesting question: surely the IRS doesn't rely on an army of people with calculators and pencils to verify said returns, so I wonder if a well placed FOIA request would cough up their COBOL source code they use?

As mentioned is has to do with lobbying from the major tax companies. The "Free File" program was created out of an agreement the IRS wouldn't create such software usable by folks if the tax companies offered their existing software to most that needed it. https://www.propublica.org/article/inside-turbotax-20-year-f...

Re: UsTaxes – open-source tax filing web application

#13
post #9
post #7

Earlier quoted context omitted.

As long as Intuit can lobby for the tax code to be complex and the process to be slow, painful, and manual, there aren't going to be any viable options that aren't just other commercial alternatives to TurboTax.

I have not yet become that nihilistic, but I do think it would require a pair of a subject matter expert and then someone with reasonable software engineering chops to pull it off. Starting by not using a dynamically typed language, IMHO I figure if M:TG can be implemented, surely the tax code can, too, even if it requires an "expert system," or machine learning, or NLP or something other than 1,500,000 lines of C++…

Exploitable bugs in the COBOL implementation would almost certainly be matters of national security, so I somehow doubt they'd open up the code!

Joking aside, I think the commonality between collectible card video games and legal code is the notion of "code as data." The record that tracks, say, a Shadowverse or MTG card (not going to mention the other obvious example, especially not today), associates it with artwork, ensures that display logic and other-card-interaction logic is normalized with minimal duplicated data, allows it to be hotfixed, tracks its state through various QA stages, automates fuzz testing with many combinations of other cards... all that has analogies to what would be needed here.

It's a rule engine where every field is a node in a directed graph (of course it's the tax code so it's not an acyclic graph, who are we kidding) but there are ways to analyze that. But, the same way a AAA game studio has ways to manage semi-trusted contractors (and, it would seem, even less trustworthy creative directors) and ensure quality at scale, one could imagine a crowdsourced system for rule verification. The "product" is less a tax form filling system and more of a distributed version control system and CI platform. You solve that, you solve a lot.

Re: UsTaxes – open-source tax filing web application

#14
post #13
post #9

Earlier quoted context omitted.

I have not yet become that nihilistic, but I do think it would require a pair of a subject matter expert and then someone with reasonable software engineering chops to pull it off. Starting by not using a dynamically typed language, IMHO I figure if M:TG can be implemented, surely the tax code can, too, even if it requires an "expert system," or machine learning, or NLP or something other than 1,500,000 lines of C++…

Exploitable bugs in the COBOL implementation would almost certainly be matters of national security, so I somehow doubt they'd open up the code! Joking aside, I think the commonality between collectible card video games and legal code is the notion of "code as data." The record that tracks, say, a Shadowverse or MTG card (not going to mention the other obvious example, especially not today), associates it with artwor…

To me, a significant part of the commonality is the preciseness of the text, and how much of an impact that can make. Many legal cases hinge on the exact phrasing of a law, and sometimes you don't realize the choice of a word is significant.

Another part is that it's hard to program them in a sane way because the rules are arbitrary. It's possible to code how the rules are, but it's impossible to guess how they'll change in the future. Two things you assumed would never interact might need to interact in the future. Two things you thought would never stop interacting might suddenly stop.

I'm not an accountant, but in the Magic world, you would assume that the turns go in a set order, right? Nope, there are cards that reverse the order of turns permanently. You would assume that a player always controls their own turn though. They don't though, there are cards to let you take someone else's turn. There are also cards that let you play the cards out of other peoples' hands.

I looked at coding it, and it turned into spaghetti pretty quickly. Everything has to have ways to interact with everything else, and testing becomes incredibly difficult because of the sheer number of ways these things can interact. And it's hard to make even the most basic of assumptions because they're liable to change at any point. There are no "laws of physics" that at least define a set of possibilities.

Re: UsTaxes – open-source tax filing web application

#15
Someone else has already noted this: Don't use the native Javascript Number type for calculations involving currency. There's some great reading available online on this subject.[1][2]

There are various libraries around that can facilitate precise decimal arithmetic in Javascript. A well known one is BigNumber.js (https://mikemcl.github.io/bignumber.js/)

A great quote that I found on StackOverflow regarding this issue and wrote down:

"When you are dealing with things that are measured (speed, distance, weight etc.) rounding is OK as the accuracy of the original measurement is probably less than the accuracy of your calculation, and users accept that the final number is still an estimate even if its a good estimate. When you are dealing with things that are counted (money, people, ICBMs) rounding errors are a disaster. There is always an arithmetically correct answer, and, often the accuracy of this answer is enshrined in regulation, treaties and tax law. Providing a slightly wrong number gets you a free ticket into the Kafkaesque world of auditors, tax collectors and government inspectors; you may never escape with your sanity intact." - James Anderson

[1] https://stackoverflow.com/questions/3730019/why-not-use-doub...

[2] http://blog.plataformatec.com.br/2014/09/floating-point-and-...

Re: UsTaxes – open-source tax filing web application

#16
post #10
post #7

Earlier quoted context omitted.

As long as Intuit can lobby for the tax code to be complex and the process to be slow, painful, and manual, there aren't going to be any viable options that aren't just other commercial alternatives to TurboTax.

recently I complained to a coworker about the state not having an equivalent free file fillable forms and he piped back "thank Intuit for that". I thought what do they have to do with any of that? Just seemed totally disconnected to me. Then this year when I was free fillable forms filing and using the Brave browser I saw all this add blocked junk and checked it out and wow it was all stuff from Intuit. I would have…

I think governments outsourcing software development is fairly common? I've worked on a government (intranet) site in the past as a contractor, we didn't add any branding so nobody would know who the developer is unless they did a FOIA request. Though I don't know if the lack of branding is due to design choice or contractual requirements.

They already have experience creating tax software so it seems like an obvious choice to outsource to.

Re: UsTaxes – open-source tax filing web application

#17
post #15

Someone else has already noted this: Don't use the native Javascript Number type for calculations involving currency. There's some great reading available online on this subject.[1][2] There are various libraries around that can facilitate precise decimal arithmetic in Javascript. A well known one is BigNumber.js ( https://mikemcl.github.io/bignumber.js/ ) A great quote that I found on StackOverflow regarding this is…

Thanks for the write-up. I thought we would be protected because calculations are done using decimal places and then the final return is prepared using rounded integers.

But we have heard this a few times, so I think it would be good to make it explicit somewhere that it's done this way, or switch to bignumber. Do you think if all our calculations are done using decimal places, and then numbers are rounded to integer dollars on the final PDFs, that we'll still have errors?

Created an issue based on your feedback. Thank you! https://github.com/ustaxes/UsTaxes/issues/457

Re: UsTaxes – open-source tax filing web application

#19
post #15

Someone else has already noted this: Don't use the native Javascript Number type for calculations involving currency. There's some great reading available online on this subject.[1][2] There are various libraries around that can facilitate precise decimal arithmetic in Javascript. A well known one is BigNumber.js ( https://mikemcl.github.io/bignumber.js/ ) A great quote that I found on StackOverflow regarding this is…

At least in the US, tax calculations may round all inputs to the nearest whole dollar.

https://www.taxact.com/support/14396/2017/forms-w-2-or-1099-...

Re: UsTaxes – open-source tax filing web application

#20
post #4

Sadly, this is a long way from being production-ready. It really does take a lot of work to create a reasonably feature-complete tax preparation software. Purely judging by 2020 standards, since that's what's nominally supported: * Forms 1099-R and SSA-1099 are unsupported. Retirees, or anyone that took a COVID-related distribution, can't use this. * Form 1099-G Box 1 is unsupported. Many people took unemployment dur…

Thanks for those points. How would you suggest prioritizing implementation of each item?

It has been nice working with new contributors that have specific knowledge of such issues. The core team is two people, and we're lucky to have new contributors come with specific knowledge in different areas. So, ideally, we could wait for someone with domain expertise to come along. Failing that when have time we pick off the next most important-seeming thing and add it.

Post reply on HN