superboum 5 years ago

There is a software/framework/library named OpenFisca[1] that helps you turn law (for taxes) in software. They modeled some countries like Senegal, Tunisia or France. I know that they also use it to build easy to use web interfaces or to create visualization and better understand how a tax applies to a population. You can take a look at their documentation[2] too.

[1] https://openfisca.org/en/ [2] https://openfisca.org/doc/index.html

kartickv 5 years ago

I built this command-line tax calculator as a side project.

This script determines:

- When you're made an offer for a given CTC, how much will you take home every month?

- If you want a certain amount of take-home pay every month, what CTC should you ask for? This is for Indians.

This script handles:

- Differing tax treatments for employees and consultants. The latter are eligible for presumptive taxation under section 44AD.

- Health and education cess

- Surcharge

- GST

- PF and pension

- Section 80C investments

- Professional tax

  • amirathi 5 years ago

    Nice work! Do consider slapping a simple UI and hosting it somewhere online. You'll be surprised how many organic visits it'll get a year or two from now.

    Bonus points if the website copy overlaps well with search keywords :)

  • godzilla82 5 years ago

    I am not sure if you have handled this or even if it is possible to handle the fact that the "basic" component of the salary is not a fixed percentage of the CTC. So two people with same CTC can have different "basic". This basic component also determines the max exemptions you can claim for e.g. under HRA. Also, employers themselves try to structure the basic and the HRA components to reduce the tax burden of their employees by modifying the basic. Exemptions under HRA have to be declared by the employer.

    • kartickv 5 years ago

      Good point. The comments at the top of the file say what's handled and what's not, and HRA is not.

      About basic, yes, that's a pain.

      • godzilla82 5 years ago

        Sorry, dont want to sound too negative, but the tax calculator is so simple it doesn't handle even the most basic stuff. I am guessing you have never paid tax at the income tax website. I would suggest you to go the income tax website and see the inputs that the calculator takes.

        • kartickv 5 years ago

          I did look at that and many other tax calculators, and some are so complex that people don't know what to put in. It's intimidating.

          I built this for my needs. If you want it to handle HRA, or LTA, or income 1 crore and above, etc, that's an entirely reasonable point of view, and I'd welcome a pull request if you have the time.

          • godzilla82 5 years ago

            But am I correct in my assumption that you have never paid taxes yet? :) Any one who has ever been on a payroll will know that the basic component is dynamic. Also I don't know anyone who does not claim any exemptions!

            • kartickv 5 years ago

              Ha ha, no I've paid a variety of taxes: income, professional, capital gains... I've been an employee and now a startup founder. I also help others with taxes.

              The script does have a field for EMPLOYEE_TAX_DEDUCTION. It defaults to 1.6 lac, assuming 1.5 lac for 80C and 10K for the rest (like medical insurance under 80D or whatever). But you can change it to whatever number you want to include other exemptions like HRA and LTA.

              I think some things like PF and HRA are calculated based on basic income, but I was able to approximate the calculation without bringing basic income into account. Salary for the purpose of PF is limited to 15K anyway.

              Again, enhancements welcome.

  • jpatokal 5 years ago

    For the non-Indians in the audience, what is "CTC"?

    • victor106 5 years ago

      Cost To Company

      When I was in India a number of years ago, this term got thrown around a lot. I had no idea what it meant.

      It basically means what is the total cost to a company for hiring you. Not just the salary they pay you but other costs like insurance, stock options, other benefits etc.,

    • webbrahmin 5 years ago

      Cost to Company ie what an employee costs a company. It is also sometimes used in place of salary although incorrectly.

    • kartickv 5 years ago

      Sorry for that. As the other comments point out, it's used inconsistently. The way I've used it here is to include the employer's contribution to pension and provident fund (retirement savings), not just the employee contribution.

  • kranner 5 years ago

    Section 44ADA, not 44AD.

    44AD is for businesses and has a presumptive taxable income of 8% of gross income. 44ADA is for (eligible) individuals and has a presumptive taxable income of 50% of gross income.

    • kartickv 5 years ago

      You can change the 50% to the 8% by editing that parameter in the code.

      According to my CA, individuals might be eligible for both depending on what they do. It's not just for businesses. If you're providing a service, like a freelance programmer, it's 50%. But if you're building your own product, it's 8%. Or some such distinction.

      In any case, the script supports both; just change the parameter.

ddeokbokki 5 years ago

I started freelancing and did something similar for the UK, wanna start a collection of tax calculators per country?

thrifter 5 years ago

In a similar vein, I developed a search engine for sales taxes in Canada (works for all provinces and territories). It was a much, much bigger undertaking than I initially thought, but here it is: http://isittaxed.ca/

I am considering open sourcing this project so that there could be a search engine like this for other countries.

  • pandemic_region 5 years ago

    useful only in countries where the full price is not displayed upfront ?

    • thrifter 5 years ago

      Correct. In Canada, you only see the retail price. The Canadian consumer still needs to know if the item is taxable and what tax(es) that might be. It's an issue for people on a tight budget.

      I edited my first comment from "every" to "other". Thank you.

LearnProg17 5 years ago

This is awesome! I have similar thing in google docs file. Also with addition for home loan repayment schedule.

One suggestion: could you separate the code and tax slab configuration, different files.

  • kartickv 5 years ago

    Thanks for your feedback and suggestions. Since this is my side project, I can't spend too much time on it. Can you send me a pull request?

    Actually, separating out the things should be modified from things that shouldn't would be a significant improvement. Like:

    # Section 1: Configuration: Change this as appropriate:

    FOO =

    BAR =

    # Section 2: Logic: Don't change this:

    ...

lewisjoe 5 years ago

Thanks. I'll try to make a spreadsheet out of this when I find time. I've got quite a few non programmers who'd benefit from something like this.

modi15 5 years ago

You should host it somewhere.

pauljeba 5 years ago

This is nice, I was actually looking for something like this.

abhishekgahlot 5 years ago

It would have been better if written in JS and hosted with UI elements on github pages to be used directly without running after cloning.