This is a Ruby implementation of the German income tax calculation algorithm.
The algorithm gets updated by the Federal Ministry of Finance (Bundesministerium der Finanzen) yearly (sometimes multiple times a year). Currently following versions are supported:
require 'lohnsteuer'
Lohnsteuer.calculate(2016, 40000, tax_class: 1)
The algorithms where implemented by translating the program flowcharts published by the Bundesministerium der Finanzen into Ruby code. The algorithms weren't modified on purpose to enable updates and verification.
State of the project: Initial release.
If you like to contribute, please send a pull-request. Make sure that all tests pass and you add additional ones.