spatie/tax-calculator

一套接口和方法,用于清理您的应用程序的税务计算

0.1.2 2021-08-24 19:33 UTC

This package is auto-updated.

Last update: 2024-09-03 10:28:38 UTC


README

Latest Version on Packagist Software License Tests Total Downloads

一套接口和方法,用于清理您的应用程序的税务计算。`TaxCalculation` 类允许您在运行时使用普通数字和实现 `HasTax` 接口的对象进行计算。

use Spatie\TaxCalculator\TaxCalculation;

$items = $myCart->getItems(); // Should return an array of items that implement `HasTax`

TaxCalculation::fromCollection($items)->basePrice(); // 10.00
TaxCalculation::fromCollection($items)->taxPrice(); // 2.10
TaxCalculation::fromCollection($items)->taxedPrice(); // 12.10

$delivery = TaxCalculation::fromTaxedPrice(7.50, 0.21);

TaxCalculation::fromCollection($items)->add($delivery)->taxedPrice(); // 19.60

Spatie 是一家总部位于比利时的安特卫普的网页设计公司。您可以在我们的网站上找到我们所有开源项目的概述 这里

支持我们

我们投入了大量资源来创建 一流的开放源代码包。您可以通过 购买我们的付费产品之一 来支持我们。

我们非常感谢您从您家乡寄来明信片,并说明您正在使用我们哪些包。您可以在我们的 联系我们页面 找到我们的地址。我们将所有收到的明信片发布在我们的 虚拟明信片墙上

明信片软件

您可以自由使用此软件包(它是 MIT 许可的),但如果它进入您的生产环境,您必须向我们寄来一张来自您家乡的明信片,并说明您正在使用我们哪些包。

我们的地址是:Spatie, Kruikstraat 22, 2018 安特卫普,比利时。

最佳明信片将被发布在我们的网站上的开源页面。

安装

您可以通过 composer 安装此包

composer require spatie/tax-calculator

使用

接口

提供接口是为了让您可以继续使用领域对象,而不是到处传递浮点数。然而,它们对于进行计算并非绝对必要。

Spatie\TaxCalculator\HasTax

public function basePrice(): float;
public function taxedPrice(): float;
public function taxPrice(): float;
  • basePrice:不含税的商品价格
  • taxedPrice:含税的商品价格
  • taxPrice:商品税额(《= taxedPrice() - basePrice()》)

Spatie\TaxCalculator\HasTaxWithRate

public function taxRate(): float;

HasTaxWithRate 扩展 HasTax,并还有一个 taxRate 方法。这对于具有固定税率的项目很有用,但不能用于包含具有各种税率的项目的集合。

特质

Spatie\TaxCalculator\Traits\HasTaxWithRate

HasTaxWithRate 特质提供了对 taxPricetaxedPrice 的默认实现,因为它们可以通过简单的 basePricetaxRate 的乘法来计算。

计算

...

更新日志

请参阅 更新日志 了解最近更改的更多信息。

测试

$ composer test

贡献

请参阅 贡献指南 了解详细信息。

安全

如果您发现有关安全的错误,请通过 security@spatie.be 发送邮件,而不是使用问题跟踪器。

致谢

关于 Spatie

Spatie 是一家总部位于比利时的安特卫普的网页设计公司。您可以在我们的网站上找到我们所有开源项目的概述 这里

许可证

MIT 许可证(MIT)。请参阅 许可证文件 了解更多信息。