Business-Tax-ID-PPH21
view release on metacpan or search on metacpan
0.05 2017-11-09 Released-By: PERLANCAR
- [ux] Set pph21_op as second positional argument.
0.04 2017-05-24 Released-By: PERLANCAR
- Add function: calc_net_income_from_pph21_op.
- [ux] Show bracket rates as percent.
- [ux] Give more helpful message about unsupported year.
0.03 2017-02-09 Released-By: PERLANCAR
- Update for tax year 2016.
0.02 2015-12-23 Released-By: PERLANCAR
200,
"OK",
[
{ max => 60000000, rate => 0.05 },
{ xmin => 60000000, max => 250000000, rate => 0.15 },
{ xmin => 250000000, max => 500000000, rate => 0.25 },
{ xmin => 500000000, max => 5000000000, rate => 0.3 },
{ xmin => 5000000000, rate => 0.35 },
],
{
"table.field_formats" => [undef, undef, ["percent", { sprintf => "%3.0f%%" }]],
"table.fields" => ["xmin", "max", "rate"],
},
]
PPh21 differentiates rates between individuals ("OP", "orang pribadi")
and statutory bodies ("badan"). Both are progressive. This routine
returns the tax rates for individuals.
Keywords: tax rates, tax brackets.
lib/Business/Tax/ID/PPH21.pm view on Meta::CPAN
examples => [
{args=>{year=>2022}},
],
};
sub get_pph21_op_rates {
my %args = @_;
my $year = $args{year} or return [400, "Please specify year"];
my $resmeta = {
'table.fields' => [qw/xmin max rate/],
'table.field_formats' => [
undef, undef, ['percent', {sprintf=>'%3.0f%%'}]
],
};
if ($year >= 2022 && $year <= $latest_supported_year) {
state $res = [
200, "OK",
[
{ max=> 60_000_000, rate=>0.05},
{xmin=> 60_000_000, max=> 250_000_000, rate=>0.15},
{xmin=> 250_000_000, max=> 500_000_000, rate=>0.25},
{xmin=> 500_000_000, max=>5_000_000_000, rate=>0.30},
lib/Business/Tax/ID/PPH21.pm view on Meta::CPAN
200,
"OK",
[
{ max => 60000000, rate => 0.05 },
{ xmin => 60000000, max => 250000000, rate => 0.15 },
{ xmin => 250000000, max => 500000000, rate => 0.25 },
{ xmin => 500000000, max => 5000000000, rate => 0.3 },
{ xmin => 5000000000, rate => 0.35 },
],
{
"table.field_formats" => [undef, undef, ["percent", { sprintf => "%3.0f%%" }]],
"table.fields" => ["xmin", "max", "rate"],
},
]
=back
PPh21 differentiates rates between individuals ("OP", "orang pribadi") and
statutory bodies ("badan"). Both are progressive. This routine returns the tax
rates for individuals.
( run in 0.569 second using v1.01-cache-2.11-cpan-709fd43a63f )