Introduce logic for tax exempt clients
This commit is contained in:
parent
e059221ccd
commit
a22ce2b8f6
|
|
@ -279,6 +279,15 @@ class InvoiceItemSum
|
||||||
$this->calcTaxesAutomatically();
|
$this->calcTaxesAutomatically();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($this->client->is_tax_exempt){
|
||||||
|
$this->item->tax_rate1 = 0;
|
||||||
|
$this->item->tax_rate2 = 0;
|
||||||
|
$this->item->tax_rate3 = 0;
|
||||||
|
$this->item->tax_name1 = '';
|
||||||
|
$this->item->tax_name2 = '';
|
||||||
|
$this->item->tax_name3 = '';
|
||||||
|
}
|
||||||
|
|
||||||
$item_tax = 0;
|
$item_tax = 0;
|
||||||
|
|
||||||
$amount = $this->item->line_total - ($this->item->line_total * ($this->invoice->discount / 100));
|
$amount = $this->item->line_total - ($this->item->line_total * ($this->invoice->discount / 100));
|
||||||
|
|
|
||||||
|
|
@ -224,6 +224,15 @@ class InvoiceItemSumInclusive
|
||||||
$this->calcTaxesAutomatically();
|
$this->calcTaxesAutomatically();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($this->client->is_tax_exempt) {
|
||||||
|
$this->item->tax_rate1 = 0;
|
||||||
|
$this->item->tax_rate2 = 0;
|
||||||
|
$this->item->tax_rate3 = 0;
|
||||||
|
$this->item->tax_name1 = '';
|
||||||
|
$this->item->tax_name2 = '';
|
||||||
|
$this->item->tax_name3 = '';
|
||||||
|
}
|
||||||
|
|
||||||
$item_tax = 0;
|
$item_tax = 0;
|
||||||
|
|
||||||
$amount = $this->item->line_total - ($this->item->line_total * ($this->invoice->discount / 100));
|
$amount = $this->item->line_total - ($this->item->line_total * ($this->invoice->discount / 100));
|
||||||
|
|
|
||||||
|
|
@ -127,6 +127,18 @@ class InvoiceSum
|
||||||
|
|
||||||
private function calculateInvoiceTaxes(): self
|
private function calculateInvoiceTaxes(): self
|
||||||
{
|
{
|
||||||
|
if($this->client->is_tax_exempt) {
|
||||||
|
$this->invoice->tax_name1 = '';
|
||||||
|
$this->invoice->tax_name2 = '';
|
||||||
|
$this->invoice->tax_name3 = '';
|
||||||
|
$this->invoice->tax_rate1 = 0;
|
||||||
|
$this->invoice->tax_rate2 = 0;
|
||||||
|
$this->invoice->tax_rate3 = 0;
|
||||||
|
$this->total_taxes = 0;
|
||||||
|
$this->total_tax_map = [];
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
if (is_string($this->invoice->tax_name1) && strlen($this->invoice->tax_name1) >= 2) {
|
if (is_string($this->invoice->tax_name1) && strlen($this->invoice->tax_name1) >= 2) {
|
||||||
$tax = $this->taxer($this->total, $this->invoice->tax_rate1);
|
$tax = $this->taxer($this->total, $this->invoice->tax_rate1);
|
||||||
$tax += $this->getSurchargeTaxTotalForKey($this->invoice->tax_name1, $this->invoice->tax_rate1);
|
$tax += $this->getSurchargeTaxTotalForKey($this->invoice->tax_name1, $this->invoice->tax_rate1);
|
||||||
|
|
|
||||||
|
|
@ -129,6 +129,15 @@ class InvoiceSumInclusive
|
||||||
{
|
{
|
||||||
$amount = $this->total;
|
$amount = $this->total;
|
||||||
|
|
||||||
|
if ($this->client->is_tax_exempt) {
|
||||||
|
$this->invoice->tax_rate1 = 0;
|
||||||
|
$this->invoice->tax_rate2 = 0;
|
||||||
|
$this->invoice->tax_rate3 = 0;
|
||||||
|
$this->invoice->tax_name1 = '';
|
||||||
|
$this->invoice->tax_name2 = '';
|
||||||
|
$this->invoice->tax_name3 = '';
|
||||||
|
}
|
||||||
|
|
||||||
if ($this->invoice->discount > 0 && $this->invoice->is_amount_discount) {
|
if ($this->invoice->discount > 0 && $this->invoice->is_amount_discount) {
|
||||||
$amount = $this->formatValue(($this->sub_total - $this->invoice->discount), 2);
|
$amount = $this->formatValue(($this->sub_total - $this->invoice->discount), 2);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue