Skip to content

Instantly share code, notes, and snippets.

@fxn fxn/irpf.rb
Created Feb 1, 2015

Embed
What would you like to do?
IRPF 2014
# Usage:
#
# ruby irpf.rb tax_base
#
# Example:
#
# ruby irpf.rb 65300
# 65300 €, 22722 €, 34.8%
#
# Where 22,722 € is the IRPF to pay, and 34.8% is the real rate, that is,
# how much does the tax really represent relative to the tax base (which
# is smaller in general from the rate of the base's bracket due to how
# the tax is computed).
# Brackets for 2014.
brackets = {
17_707 => 0.2475,
33_007 => 0.30,
53_407 => 0.40,
120_000 => 0.47,
175_000 => 0.49,
300_000 => 0.51,
999_999 => 0.52,
}
base = ARGV.shift.to_i
binf = 0
irpf = 0
brackets.each do |bsup, rate|
irpf += ([bsup, base].min - binf)*rate
if bsup < base
binf = bsup
else
break
end
end
puts "%6d €, %6d €, %.1f%" % [base, irpf, 100.0*irpf/base]
__END__
BASE IRPF ACTUAL RATE
30000 €, 8070 €, 26.9%
31000 €, 8370 €, 27.0%
32000 €, 8670 €, 27.1%
33000 €, 8970 €, 27.2%
34000 €, 9369 €, 27.6%
35000 €, 9769 €, 27.9%
36000 €, 10169 €, 28.2%
37000 €, 10569 €, 28.6%
38000 €, 10969 €, 28.9%
39000 €, 11369 €, 29.2%
40000 €, 11769 €, 29.4%
41000 €, 12169 €, 29.7%
42000 €, 12569 €, 29.9%
43000 €, 12969 €, 30.2%
44000 €, 13369 €, 30.4%
45000 €, 13769 €, 30.6%
46000 €, 14169 €, 30.8%
47000 €, 14569 €, 31.0%
48000 €, 14969 €, 31.2%
49000 €, 15369 €, 31.4%
50000 €, 15769 €, 31.5%
51000 €, 16169 €, 31.7%
52000 €, 16569 €, 31.9%
53000 €, 16969 €, 32.0%
54000 €, 17411 €, 32.2%
55000 €, 17881 €, 32.5%
56000 €, 18351 €, 32.8%
57000 €, 18821 €, 33.0%
58000 €, 19291 €, 33.3%
59000 €, 19761 €, 33.5%
60000 €, 20231 €, 33.7%
61000 €, 20701 €, 33.9%
62000 €, 21171 €, 34.1%
63000 €, 21641 €, 34.4%
64000 €, 22111 €, 34.5%
65000 €, 22581 €, 34.7%
66000 €, 23051 €, 34.9%
67000 €, 23521 €, 35.1%
68000 €, 23991 €, 35.3%
69000 €, 24461 €, 35.5%
70000 €, 24931 €, 35.6%
71000 €, 25401 €, 35.8%
72000 €, 25871 €, 35.9%
73000 €, 26341 €, 36.1%
74000 €, 26811 €, 36.2%
75000 €, 27281 €, 36.4%
76000 €, 27751 €, 36.5%
77000 €, 28221 €, 36.7%
78000 €, 28691 €, 36.8%
79000 €, 29161 €, 36.9%
80000 €, 29631 €, 37.0%
81000 €, 30101 €, 37.2%
82000 €, 30571 €, 37.3%
83000 €, 31041 €, 37.4%
84000 €, 31511 €, 37.5%
85000 €, 31981 €, 37.6%
86000 €, 32451 €, 37.7%
87000 €, 32921 €, 37.8%
88000 €, 33391 €, 37.9%
89000 €, 33861 €, 38.0%
90000 €, 34331 €, 38.1%
91000 €, 34801 €, 38.2%
92000 €, 35271 €, 38.3%
93000 €, 35741 €, 38.4%
94000 €, 36211 €, 38.5%
95000 €, 36681 €, 38.6%
96000 €, 37151 €, 38.7%
97000 €, 37621 €, 38.8%
98000 €, 38091 €, 38.9%
99000 €, 38561 €, 39.0%
100000 €, 39031 €, 39.0%
101000 €, 39501 €, 39.1%
102000 €, 39971 €, 39.2%
103000 €, 40441 €, 39.3%
104000 €, 40911 €, 39.3%
105000 €, 41381 €, 39.4%
106000 €, 41851 €, 39.5%
107000 €, 42321 €, 39.6%
108000 €, 42791 €, 39.6%
109000 €, 43261 €, 39.7%
110000 €, 43731 €, 39.8%
111000 €, 44201 €, 39.8%
112000 €, 44671 €, 39.9%
113000 €, 45141 €, 39.9%
114000 €, 45611 €, 40.0%
115000 €, 46081 €, 40.1%
116000 €, 46551 €, 40.1%
117000 €, 47021 €, 40.2%
118000 €, 47491 €, 40.2%
119000 €, 47961 €, 40.3%
120000 €, 48431 €, 40.4%
121000 €, 48921 €, 40.4%
122000 €, 49411 €, 40.5%
123000 €, 49901 €, 40.6%
124000 €, 50391 €, 40.6%
125000 €, 50881 €, 40.7%
126000 €, 51371 €, 40.8%
127000 €, 51861 €, 40.8%
128000 €, 52351 €, 40.9%
129000 €, 52841 €, 41.0%
130000 €, 53331 €, 41.0%
131000 €, 53821 €, 41.1%
132000 €, 54311 €, 41.1%
133000 €, 54801 €, 41.2%
134000 €, 55291 €, 41.3%
135000 €, 55781 €, 41.3%
136000 €, 56271 €, 41.4%
137000 €, 56761 €, 41.4%
138000 €, 57251 €, 41.5%
139000 €, 57741 €, 41.5%
140000 €, 58231 €, 41.6%
141000 €, 58721 €, 41.6%
142000 €, 59211 €, 41.7%
143000 €, 59701 €, 41.7%
144000 €, 60191 €, 41.8%
145000 €, 60681 €, 41.8%
146000 €, 61171 €, 41.9%
147000 €, 61661 €, 41.9%
148000 €, 62151 €, 42.0%
149000 €, 62641 €, 42.0%
150000 €, 63131 €, 42.1%
151000 €, 63621 €, 42.1%
152000 €, 64111 €, 42.2%
153000 €, 64601 €, 42.2%
154000 €, 65091 €, 42.3%
155000 €, 65581 €, 42.3%
156000 €, 66071 €, 42.4%
157000 €, 66561 €, 42.4%
158000 €, 67051 €, 42.4%
159000 €, 67541 €, 42.5%
160000 €, 68031 €, 42.5%
161000 €, 68521 €, 42.6%
162000 €, 69011 €, 42.6%
163000 €, 69501 €, 42.6%
164000 €, 69991 €, 42.7%
165000 €, 70481 €, 42.7%
166000 €, 70971 €, 42.8%
167000 €, 71461 €, 42.8%
168000 €, 71951 €, 42.8%
169000 €, 72441 €, 42.9%
170000 €, 72931 €, 42.9%
171000 €, 73421 €, 42.9%
172000 €, 73911 €, 43.0%
173000 €, 74401 €, 43.0%
174000 €, 74891 €, 43.0%
175000 €, 75381 €, 43.1%
176000 €, 75891 €, 43.1%
177000 €, 76401 €, 43.2%
178000 €, 76911 €, 43.2%
179000 €, 77421 €, 43.3%
180000 €, 77931 €, 43.3%
181000 €, 78441 €, 43.3%
182000 €, 78951 €, 43.4%
183000 €, 79461 €, 43.4%
184000 €, 79971 €, 43.5%
185000 €, 80481 €, 43.5%
186000 €, 80991 €, 43.5%
187000 €, 81501 €, 43.6%
188000 €, 82011 €, 43.6%
189000 €, 82521 €, 43.7%
190000 €, 83031 €, 43.7%
191000 €, 83541 €, 43.7%
192000 €, 84051 €, 43.8%
193000 €, 84561 €, 43.8%
194000 €, 85071 €, 43.9%
195000 €, 85581 €, 43.9%
196000 €, 86091 €, 43.9%
197000 €, 86601 €, 44.0%
198000 €, 87111 €, 44.0%
199000 €, 87621 €, 44.0%
200000 €, 88131 €, 44.1%
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.