The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

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:

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.