NAME
IncomeTax::IND - Interface to Income Tax of India.
VERSION
Version 0.03
DESCRIPTION
The government of India imposes income tax on taxable income of individuals, Hindu Undivided Families (HUFs), companies, firms, co-operative societies and trusts (identified as body of individuals & association of persons) and any other artificial person. Levy of tax is separate on each of the persons. The levy is governed by the Indian Income Tax Act, 1961. The Indian Income Tax Department is governed by the Central Board for Direct Taxes (CBDT) and is part of the Department of Revenue under the Ministry of Finance, Govt. of India.
Every Person whose total income exceeds the maximum amount which is not chargeable to the income tax is an assesse, and shall be chargeable to the income tax at the rate or rates prescribed under the finance act for the relevant assessment year shall be determined on basis of his residential status.
Income tax is a tax payable, at the rate enacted by the Union Budget (Finance Act) for every Assessment Year, on the Total Income earned in the Previous Year by every Person.
CONSTRUCTOR
The constructor expects a reference to an anonymous hash as input parameter. Table below shows the possible value of various key and value pairs.
+--------------+------------------------------------+
| Key | Value |
+--------------+------------------------------------+
| sex | m | f |
| age | Age of the person. |
| gross_income | Gross income for the year 2010-11. |
+--------------+------------------------------------+
use stric; use warnings;
use IncomeTax::IND;
my $ind = IncomeTax::IND->new({ sex => 'm', age => 35, gross_income => 8_00_000});
METHODS
get_income_tax()
Returns Income Tax based on tax year 2010-11 according to Indian Goverment Constitution.
use stric; use warnings;
use IncomeTax::IND;
my $ind = IncomeTax::IND->new({ sex => 'm', age => 35, gross_income => 8_00_000});
my $income_tax = $ind->get_income_tax();
get_breakdown()
Returns tax calculation breakdown. You should ONLY be calling after method get_income_tax(). Otherwise if it would simply return nothing.
use stric; use warnings;
use IncomeTax::IND;
my $ind = IncomeTax::IND->new({ sex => 'm', age => 35, gross_income => 8_00_000});
my $income_tax = $ind->get_income_tax();
print $ind->get_breakdown();
as_string()
Same as get_breakdown() except that it gets called when printing object in scalar context.
use stric; use warnings;
use IncomeTax::IND;
my $ind = IncomeTax::IND->new({ sex => 'm', age => 35, gross_income => 8_00_000});
my $income_tax = $ind->get_income_tax();
print $ind->as_string();
# or simply
print $ind;
AUTHOR
Mohammad S Anwar, <mohammad.anwar at yahoo.com>
BUGS
Please report any bugs or feature requests to bug-incometax-ind at rt.cpan.org
, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=IncomeTax-IND.I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc IncomeTax::IND
You can also look for information at:
RT: CPAN's request tracker
AnnoCPAN: Annotated CPAN documentation
CPAN Ratings
Search CPAN
LICENSE AND COPYRIGHT
Copyright 2011 Mohammad S Anwar.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.
DISCLAIMER
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.