Lors du calcul de la TVA en PHP, vous pouvez déterminer s'il s'agit d'une taxe sur le prix ou d'une taxe sur prix supplémentaire en fonction de différentes situations. Voici des exemples des deux méthodes de calcul :
1. Calcul de la taxe sur le prix
En supposant que le prix d'origine soit de $price
, le taux de TVA est $taxRate
de (exprimé en pourcentage). Pour calculer la taxe sur le prix, vous pouvez utiliser la formule suivante :
$vat = $price * $taxRate / (100 + $taxRate);
$totalPrice = $price - $vat;
Commencez par convertir le taux de TVA sous forme décimale (divisez par 100), puis multipliez le prix d'origine par le taux de TVA et divisez par (100 + taux de TVA). Cela vous donne le montant de la TVA. Enfin, soustrayez le montant de la TVA du prix d’origine pour obtenir le prix total taxes incluses.
2. Calcul des taxes sur prix supplémentaires
En supposant que le prix d'origine soit de $price
, le taux de TVA est $taxRate
de (exprimé en pourcentage). Pour calculer la taxe sur le prix, vous pouvez utiliser la formule suivante :
$vat = $price * $taxRate / 100;
$totalPrice = $price + $vat;
Encore une fois, convertissez le taux de TVA sous forme décimale (divisez par 100), puis multipliez le prix d'origine par le taux de TVA pour obtenir le montant de la TVA. Enfin, ajoutez le prix d'origine et le montant de la TVA pour obtenir le prix total plus taxes.
Ce qui précède est la méthode de base pour calculer la TVA en utilisant PHP. Vous pouvez apporter les modifications et ajustements appropriés sur la base de ces exemples en fonction de vos besoins spécifiques et de votre logique métier.
Exemple:
<?php
namespace Template\compute\controllers;
use App\Http\Controllers\MyController;
use http\Env\Request;
class FormulaController extends MyController
{
/**
* 增值税计算
* @return \Illuminate\Http\JsonResponse
*/
public function valueAddedTaxCal()
{
$price = $this->request('price');
$taxRate = $this->request('tax_rate');
//1. 价内税计算
$within_vat = $price * $taxRate / (100 + $taxRate);
$within_vat = sprintf("%.2f",$within_vat);
$within_tax_excl_price = $price - $within_vat;
$within_tax_excl_price = sprintf("%.2f",$within_tax_excl_price);
// 2. 价外税计算
$extra_vat = $price * $taxRate / 100;
$extra_vat = sprintf("%.2f",$extra_vat);
$extra_incl_tax_price = $price + $extra_vat;
$extra_incl_tax_price = sprintf("%.2f",$extra_incl_tax_price);
$data = [
'extra_excl_tax_price' => $price,
'extra_tax_rate_price' => $extra_vat,
'extra_incl_tax_price' => $extra_incl_tax_price,
'within_tax_excl_price' => $within_tax_excl_price,
'within_tax_rate_price' => $within_vat,
'within_incl_tax_price' => $price,
];
return $this->jsonSuc(['result' => $data ?? []]);
}
}
//结果
{
"result": {
"extra_excl_tax_price": "500",//(价外税)不含税
"extra_tax_rate_price": "25.00",//(价外税)税额
"extra_incl_tax_price": "525.00",//(价外税)含税总金额
"within_tax_excl_price": "476.19",//(价内税)不含税
"within_tax_rate_price": "23.81",//(价内税)税额
"within_incl_tax_price": "500"//(价内税)含税总金额
},
"msg": "操作成功",
"code": 200
}