[HN Gopher] Show HN: Calculator for US Individual Income tax, fr...
       ___________________________________________________________________
        
       Show HN: Calculator for US Individual Income tax, from 1970-present
        
       I wanted to share a simple web app I created recently, which lets
       you estimate income taxes owed in the US: https://taxsim.app  All
       the calculations occur directly in the browser, and are powered by
       a Fortran program that has been converted to WASM using emscripten.
       This calculator was originally developed in the 1970s [1] by the
       non-profit National Bureau of Economic Research. NBER has been
       maintaining this F77 codebase for the last 50 years, and uses it
       primarily for academic research on tax policy. The Fortran source
       code itself is over 1MB of text, because it codifies both federal
       and all 50 states' tax laws for each of the last 62 years.  I first
       learned about NBER TAXSIM [2] a few months ago via an interesting
       paper they published "Automatic Tax Filing: Simulating a Pre-
       Populated Form 1040" [3]. The Fortran code itself is not open-
       source, but is available on request for research purposes. I
       reached out to NBER and proposed compiling it to WASM, so it could
       be run directly in a browser. With relatively little effort I was
       able to create a js/wasm version [4], thanks in huge part to
       previous open-source work [5].  This WASM build now powers
       https://taxsim.app, which is my attempt to create an interactive UI
       to allow for easier exploration of the US tax code. Specific tax
       scenarios can also be shared easily, by simply copying the browser
       URL. The code for this webapp is also open-source [6].  This was my
       first time experimenting with WASM, and I am already a huge fan.
       Not only was I able to take a 60 year old codebase and get it
       working on every modern browser and device, this work is also now
       benefiting the academic community. For example, the js/wasm can be
       run directly in V8, which means it can also now be run locally
       within R using libv8 [7]. Previously most researchers were
       uploading their tax scenarios to NBER's servers via ftp/ssh/http.
       [1] https://taxsim.nber.org/feenberg-coutts.pdf  [2]
       https://taxsim.nber.org/  [3] https://www.nber.org/papers/w30008
       [4] https://github.com/tmm1/taxsim.js  [5]
       https://chrz.de/2020/04/21/fortran-in-the-browser/  [6]
       https://github.com/tmm1/taxsim.app  [7]
       https://github.com/shanejorr/usincometaxes/pull/11
        
       Author : tmm1
       Score  : 67 points
       Date   : 2022-06-29 21:22 UTC (1 hours ago)
        
       | thatfrenchguy wrote:
       | Why a 500k$ wages/salaries limit here? :)
        
         | brianmario wrote:
         | You can use the gear icon in the upper right to turn the
         | sliders into text boxes.
        
       | tick_tock_tick wrote:
       | This seems beyond misleading it doesn't even have a method to
       | enter most of the now illegal methods to lower your tax bill.
       | 
       | Tax straddles were only banned in 1977 before that you should
       | have easily been able to more then halve your tax bill with
       | futures.
        
       | jdasdf wrote:
       | It's all blank for me
        
       | zeckalpha wrote:
       | I made tiny typo (an extra digit in spouse age) and got a giant
       | error, though at least it was actionable
       | 
       | "TAXSIM: Unbelievable spouse age"
        
       | KerrAvon wrote:
       | I wish this would get written up in mainstream media. Hypothesis
       | being that if more people knew this existed, it would put
       | additional pressure on Congress to simplify tax filing.
        
       | jrockway wrote:
       | This is very interesting. I learned that the last year I made
       | enough money to pay AMT is the year they got rid of AMT. Damn!
        
       | thechao wrote:
       | Why is the income limited to 500000$?
        
       | googlryas wrote:
       | Very cool, especially hearing about the implementation.
       | 
       | Feature request: Put the effective overall tax rate calculation
       | somewhere on the page - so often people are confused that they
       | are paying the same percentage tax as their highest marginal tax
       | rate, this tool could help elucidate that mistake.
        
       | omarish wrote:
       | This is really cool.. nicely done @tmm1. I've been meaning to dig
       | into WASM and this is even more reason to do so.
        
       | keehun wrote:
       | Are all the dollar amounts in the simulated tax output at the top
       | of the page inflation adjusted?
       | 
       | For example, I inputted married, with no dependents with $500,000
       | salary and in 1977, the federal amount was $299,864 and in 2020
       | was $133,947. I assume these amounts can be compared without
       | further adjusting for inflation?
       | 
       | Tangentially, did federal taxes really come down that much?
        
         | nicoburns wrote:
         | A quick google shows that yes, there was a 70% marginal tax
         | rate (applying to income over $108,300 - not inflation adjusted
         | - for a single filer) as recently as 1981
         | 
         | https://taxfoundation.org/historical-income-tax-rates-bracke...
        
           | sgjohnson wrote:
           | But nobody ever paid it as there were millions of loopholes.
        
             | thnujmikkkk wrote:
             | source?
        
         | jandrewrogers wrote:
         | In the 1970s there were massive tax deductions that don't exist
         | today, so the actual tax incidence was much lower than what is
         | implied by the marginal tax rates.
         | 
         | There was a major overhaul of the tax code in the 1980s that
         | simultaneously eliminated many of the tax deductions and offset
         | that loss of deductions with lower the marginal tax rates. The
         | change was approximately revenue neutral but made the tax code
         | simpler.
        
         | Melatonic wrote:
         | Do you mean are the brackets themselves tax adjusted or the
         | salaries? Because lets say there is a 300-500k bracket right
         | now - that bracket (if it even existed in the 70s) would have
         | been much, much higher.
        
       | divbzero wrote:
       | This is great. I would also love to see a graph of the federal
       | tax across time from 1960 to today.
        
       | refurb wrote:
       | Didn't take a close look but the 1986 (?) tax code update close
       | major tax avoidance pathways (passive loses and tax shelters in
       | wiki link).
       | 
       | I think one issue with calculators like this is it doesn't
       | account for excluding revenue that now has to be included.
       | 
       | https://en.m.wikipedia.org/wiki/Tax_Reform_Act_of_1986
        
       | FullyFunctional wrote:
       | That's brilliant work, thanks!
       | 
       | Imagine if IRS would produce something like this (open sourced)
       | and we could file our returns like this.
        
         | ErikVandeWater wrote:
         | The IRS can already calculate your taxes for you. In other
         | countries you just have to confirm what the revenue department
         | calculates as your liability and hit "submit". You have to do
         | the calculations yourself because TurboTax et al., and
         | accountants lobbied so taxes are complicated and must be
         | completed by the filer (or their accountant).
        
           | tmm1 wrote:
           | From the abstract of NBER paper I mentioned [1]:
           | 
           | > Each year Americans spend over two billion hours and $30
           | billion preparing individual tax returns, and these filing
           | costs are regressive. To lower and redistribute the filing
           | burden, some commentators have proposed having the IRS pre-
           | populate tax returns for individuals. We evaluate this
           | hypothetical policy using a large, nationally representative
           | sample of returns filed for the tax year 2019. Our baseline
           | results indicate that between 62 and 73 million returns (41
           | to 48 percent of all returns) could be accurately pre-
           | populated using only current-year information returns and the
           | prior-year return. Accuracy rates decline with income and are
           | higher for taxpayers who have fewer dependents or are
           | unmarried. We also examine 2019 non-filers, finding that pre-
           | populated returns tentatively indicate $9.0 billion in
           | refunds due to 12 million (22 percent) of them.
           | 
           | [1] https://www.nber.org/system/files/working_papers/w30008/w
           | 300...
        
           | FullyFunctional wrote:
           | I didn't point that out: I originate from a country in which
           | I used to get a postcard summarizing what they thought I owed
           | with a "Yes, I agree" checkbox and a field to sign. You could
           | always file an extensive return if desired, but unless you
           | had complicated (notably international) transactions, the
           | return was basically accurate.
           | 
           | This only works because there's a high level of trust in the
           | government and low corruption, and having detailed tracking
           | isn't (very) controversial. The US is almost the exact
           | opposite on every metric so it wouldn't work for it.
        
           | [deleted]
        
           | Melatonic wrote:
           | As much as I hate doing it now the first few years I did my
           | taxes I went all paper and it really helped give me a
           | foundational understanding of it all. Especially when you
           | make that one typo.
        
       ___________________________________________________________________
       (page generated 2022-06-29 23:00 UTC)