abwebdevelopers/aus-income-tax

根据澳大利亚税务局的PAYG(即付即征)税率表计算从总收入中扣除的金额

1.0.0 2019-03-11 09:04 UTC

This package is auto-updated.

Last update: 2024-09-11 15:24:03 UTC


README

Build Status codecov

根据澳大利亚税务局的PAYG(即付即征)税率表计算从总收入中扣除的金额(目前为2018-2019财年)。

要求

  • PHP 7.1或更高版本

如果使用包含的Excel电子表格源读取器,您还需要启用以下PHP扩展

  • ctype
  • dom
  • gd
  • iconv
  • fileinfo
  • libxml
  • mbstring
  • SimpleXML
  • xml
  • xmlreader
  • xmlwriter
  • zip
  • zlib

安装

通过Composer将此库包含到您的应用程序中

composer require abwebdevelopers/aus-income-tax

使用方法

该库需要澳大利亚税务局发布的公式,以便计算从总收入中扣除的金额。这些公式通常在财年结束前不久发布。我们已在resources/tax-tables文件夹中提供了最新文件。

澳大利亚税务局使用的代码如下

使用此库的最简单方法是使用Excel电子表格读取器自动将此公式输入到库中

<?php
use ABWebDevelopers\AusIncomeTax\IncomeTax;
use ABWebDevelopers\AusIncomeTax\Source\ATOExcelSource;

$incomeTax = new IncomeTax(new ATOExcelSource([
    'standardFile' => 'resources/tax-tables/2018-19/NAT_1004_2018.xlsx',
    'helpSfssFile' => 'resources/tax-tables/2018-19/NAT_3539_2018.xlsx',
    'seniorsFile' => 'resources/tax-tables/2018-19/NAT_4466_2018.xlsx'
]));

一旦加载,您可以使用以下方法计算工资的税款扣除金额

$tax = $this->IncomeTax->calculateTax(
    1000,           // The gross wage
    'weekly',       // The pay cycle - must be either `weekly`, `fortnightly`, `monthly` or `quarterly`
    '2018-06-02',   // The payment date
    'standard',     // The type of taxation - either `standard`, `help`, `sfss`, `combo` or `seniors`
     2              // The taxation scale - `1` (tax free threshold not claimed), `2` (tax free threshold claimed), `3` (foreign resident), `4` (no TFN), `5` (full medicare exemption), `5` (half medicare exemption)
);

这应该返回一个integer值,表示应从总收入中扣除的税款金额。

异常代码

\ABWebDevelopers\AusIncomeTax\Exception\CalculationException

\ABWebDevelopers\AusIncomeTax\Exception\SourceException

免责声明

尽管已经尽力确保此库返回正确的税款扣除计算,并且已与ATO测试数据进行了彻底核对,但它不考虑可以调整个人纳税责任的一些抵消或调整。您应始终与注册税务代理人核对任何计算。AB Web Developers不对使用此库导致的任何税款计算错误或假设承担责任。