File Coverage

blib/lib/Finance/Tax/Aruba/Income/2021.pm
Criterion Covered Total %
statement 12 12 100.0
branch 4 4 100.0
condition n/a
subroutine 4 4 100.0
pod 1 1 100.0
total 21 21 100.0


line stmt bran cond sub pod time code
1             package Finance::Tax::Aruba::Income::2021;
2             our $VERSION = '0.008';
3 4     4   6730 use Moose;
  4         11  
  4         31  
4 4     4   28279 use namespace::autoclean;
  4         10  
  4         53  
5              
6             # ABSTRACT: Income tax calculator for the year 2021
7              
8             with qw(
9             Finance::Tax::Aruba::Role::Income::TaxYear
10             );
11              
12             has '+wervingskosten_max' => (
13             default => 1500,
14             );
15              
16             has '+wervingskosten_percentage' => (
17             default => 3,
18             );
19              
20             has '+aov_max' => (
21             default => 85_000,
22             );
23              
24             has '+azv_max' => (
25             default => 85_000,
26             );
27              
28             has '+taxfree_max' => (
29             default => 28_861,
30             );
31              
32             has '+aov_percentage_employer' => (
33             default => 10.5,
34             );
35              
36             has '+aov_percentage_employee' => (
37             default => 5,
38             );
39              
40             has '+azv_max' => (
41             default => 85_000,
42             );
43              
44             has '+azv_percentage_employee' => (
45             default => 1.6,
46             );
47              
48             has '+azv_percentage_employer' => (
49             default => 8.9,
50             );
51              
52             has tax_bracket => (
53             is => 'ro',
54             isa => 'HashRef',
55             lazy => 1,
56             builder => '_get_tax_bracket',
57             );
58              
59             sub _build_tax_bracket {
60             return [
61 12     12   533 { min => 0, max => 34930, fixed => 0, rate => 12 },
62             {
63             min => 34930,
64             max => 65904,
65             fixed => 4191.60,
66             rate => 23
67             },
68             {
69             min => 65904,
70             max => 147454,
71             fixed => 11315.62,
72             rate => 42
73             },
74             {
75             min => 147454,
76             max => 'inf' * 1,
77             fixed => 45566.62,
78             rate => 52
79             },
80             ];
81             }
82              
83             sub is_year {
84 21     21 1 50 my $self = shift;
85 21         51 my $year = shift;
86 21 100       84 return 1 if $year == 2021;
87 13 100       48 return 1 if $year == 2022; # same rules apply
88 9         20 return 0;
89             }
90              
91              
92             __PACKAGE__->meta->make_immutable;
93              
94             __END__
95              
96             =pod
97              
98             =encoding UTF-8
99              
100             =head1 NAME
101              
102             Finance::Tax::Aruba::Income::2021 - Income tax calculator for the year 2021
103              
104             =head1 VERSION
105              
106             version 0.008
107              
108             =head1 SYNOPSIS
109              
110             =head1 DESCRIPTION
111              
112             Calculate your taxes and other social premiums for the year 2021 and 2022.
113              
114             =head1 METHODS
115              
116             =head2 is_year
117              
118             Year selector method
119              
120             if ($module->is_year(2020)) {
121             return "year is 2020";
122             }
123              
124             =head1 SEE ALSO
125              
126             This class implements the L<Finance::Tax::Aruba::Role::Income::TaxYear> role.
127              
128             =head1 AUTHOR
129              
130             Wesley Schwengle <waterkip@cpan.org>
131              
132             =head1 COPYRIGHT AND LICENSE
133              
134             This software is Copyright (c) 2020 by Wesley Schwengle.
135              
136             This is free software, licensed under:
137              
138             The (three-clause) BSD License
139              
140             =cut