omaralalwi / laravel-taxify
Laravel Taxify 为 Laravel 应用程序提供了一套辅助函数和类,用于简化税务(增值税)计算。它允许开发者轻松地将税务计算功能集成到他们的项目中。它提供了一种简单高效的方法,旨在简化税务处理流程。
Requires
- php: ^8.0|^8.1|^8.2|^8.3
Requires (Dev)
- orchestra/testbench: ^8.21.1
- phpunit/phpunit: ^9.3.3|^10.5
- dev-master
- 2.0.2
- 2.0.1
- 1.0.4
- dev-omaralalwi-patch-4
- dev-bugfix
- dev-doc-fiexs
- dev-omaralalwi-patch-3
- dev-create-docs-folder
- dev-omaralalwi-patch-2
- dev-omaralalwi-patch-1
- dev-add-package-docs
- dev-support-php-v8-0-and-up
- dev-support-php-v7-4
- dev-enhancement-and-bugfixes
- dev-support-fixed-and-percentage-types
This package is auto-updated.
Last update: 2024-10-01 00:17:19 UTC
README
Laravel Taxify 提供了一套辅助函数和类,用于简化 Laravel 应用程序中的税务(增值税)计算。它允许开发者轻松地将税务计算功能集成到他们的项目中,提供多税务配置设置和(固定、百分比)方式。它提供了一种简单高效的方法,旨在简化税务处理流程。
要求
Laravel 8.x 或更高版本
,对于 2.x 版本。
安装
composer require omaralalwi/laravel-taxify
发布包的配置文件
php artisan vendor:publish --tag=laravel-taxify-config
兼容性
对于运行 Laravel 版本 7.x
及更早版本的应用程序,请使用版本 1.0.4
。
composer require omaralalwi/laravel-taxify:^1.0.4
使用方法
可用的辅助函数
laravel taxify 提供了许多辅助函数以简化使用。
calculateTax()
.calculateTaxForCollection()
.getTaxAmount()
.getTaxRate()
.getTaxType()
.getTaxRateAsPercentage()
.
计算金额的税费
- 使用
calculateTax
获取作为对象的税费(默认)。
$amount = 250; $taxAmount = calculateTax($amount,'profileName')->tax_amount; // 37.5
另一种获取详细结果的方式.
$amount = 250; $tax = calculateTax($amount,'profileName');
结果(对象)
$tax = { "amount_with_tax": 287.5, "tax_amount": 37.5, "tax_rate": 0.15, }
另一种方式,您可以将 $asArray(第三个参数)设置为 true,以获取数组格式的结果
$amount = 250; $tax = calculateTax($amount,'profileName',true);
结果
$tax = [
"amount_with_tax" => 287.5,
"tax_amount" => 37.5,
"tax_rate" => 0.15,
]
另一种仅获取税费金额的方式,作为数组
$amount = 250; $taxAmount = calculateTax($amount,'',true)['tax_amount'];
注意:第二个参数指的是配置文件中的配置文件,我们将其设置为 null 以使用默认配置文件,第二个参数可以接受(default
,null,'')这三个值都表示 default
。
计算金额集合的税费
类似于 calculateTax,但这是针对多个金额。
- 使用
calculateTaxForCollection
通过传递金额数组(第一个参数)-> 结果以对象形式返回(默认)。
// you can pass number as float or integer $productAmount = 250; $featureAmount = 70.5; $sarrantyAmount = 30.60; $chargeAmount = 90; $tax = calculateTaxForCollection([$productAmount,$featureAmount, $sarrantyAmount, $chargeAmount]);
结果(对象)
$tax = { "amount_with_tax": 507.265, "tax_amount": 66.165, "tax_rate": 0.15, }
$taxAmount = $tax->tax_amount // 507.265
要获取金额集合的税费作为数组结果,只需将第三个参数设置为 true
,如下所示。
$tax = calculateTaxForCollection([$productAmount,$featureAmount, $sarrantyAmount, $chargeAmount],'',true);
结果(数组)
$tax = [ "amount_with_tax" => 507.265, "tax_amount" => 66.165, "tax_rate" => 0.15, ]
获取作为数值的税费金额
- 使用
getTaxAmount
获取税费金额作为数字
$amount = 250; getTaxAmount($amount); // Result 25
获取税率或税费金额
- 使用
getTaxRate
获取税率或金额(根据配置文件中指定配置文件中配置的税率类型)
getTaxRate() // Result 0.15
getTaxRate('sales') // fore specific profile // Result 50 , here the result is fixed number because the profile type is fixed amount Not percentage
如果配置文件中的税率类型是 fixed
,则返回金额(将税率视为金额),否则返回税率。
注意:对于默认配置文件,无需传递 `profileName。
获取税率类型
- 使用
getTaxType
可以获取税率类型
getTaxType('profileName') // Result: fixed or percentage // depend on profile settings
获取作为百分比数字的税率(10%,15%)- 仅适用于百分比配置文件
可以获取税率百分比
- 可以获取税率百分比(仅适用于百分比类型)
getTaxRateAsPercentage(); // Result '10.00%'
注意:对于默认配置文件,无需传递它
配置
环境变量
发布配置文件后。
您可以通过将以下默认配置键添加到您的 .env
文件中来配置 Laravel Taxify。如果不添加这些,则将使用默认值。
对于百分比税率
DEFAULT_TAXIFY_PROFILE="default" TAXIFY_DEFAULT_RATE="0.10" TAXIFY_DEFAULT_TYPE="percentage"
固定税率的示例配置
DEFAULT_TAXIFY_PROFILE="default" TAXIFY_DEFAULT_RATE=50 TAXIFY_DEFAULT_TYPE="fixed"
注意: TAXIFY_DEFAULT_RATE
是一个数字,表示当类型为 percentage
时为税率,当类型为 fixed
时为金额。
您可以在 config/taxify.php 中添加多个税务配置文件。
功能
- 计算单个金额或一系列金额的税费
- 作为个体,检索任何配置文件的税费金额、税率和类型
- 作为个体,检索任何配置文件的一个金额或一系列金额的税费金额
amount_with_tax
、tax_amount
和tax_rate
- 获取作为百分比的税率(仅适用于百分比类型)
- 通过环境变量轻松自定义配置选项
- 易于使用的辅助函数
- 支持所有 PHP 和 Laravel 版本
- 异常处理:强大的错误处理以确保平稳运行和易于调试
- 日志记录:自动记录错误和异常,以更好地跟踪错误和调试
- 单元测试
测试
php artisan test --filter TaxifyTest
贡献
请参阅贡献指南以获取详细信息。
待办事项
此待办事项列表包含我们计划要工作的任务,您可以从中选择一个并开发它,如果您想做出贡献。
安全性
如果您发现任何与安全相关的问题,请通过电子邮件发送至 omaralwi2010@gmail.com
。
鸣谢
许可协议
MIT 许可协议 (MIT)。请参阅许可文件以获取更多信息。