This commit is contained in:
denisdulici
2018-11-07 12:07:38 +03:00
parent 9fdcf7dbbe
commit 86330b0a41
6 changed files with 37 additions and 37 deletions

View File

@ -98,14 +98,14 @@ class CreateInvoiceItem
$item_tax_total = 0;
if (!empty($this->data['tax_id'])) {
$includes = $compounds = $taxes = [];
$inclusives = $compounds = $taxes = [];
foreach ((array) $this->data['tax_id'] as $tax_id) {
$tax = Tax::find($tax_id);
switch ($tax->type) {
case 'included':
$includes[] = $tax;
case 'inclusive':
$inclusives[] = $tax;
break;
case 'compound':
$compounds[] = $tax;
@ -129,7 +129,7 @@ class CreateInvoiceItem
}
}
if ($includes) {
if ($inclusives) {
if ($this->discount) {
$item_tax_total = 0;
@ -141,34 +141,34 @@ class CreateInvoiceItem
}
}
foreach ($includes as $include) {
foreach ($inclusives as $inclusive) {
$item_sub_and_tax_total = $item_amount + $item_tax_total;
$item_tax_total = $item_sub_and_tax_total - (($item_sub_and_tax_total * (100 - $include->rate)) / 100);
$item_tax_total = $item_sub_and_tax_total - (($item_sub_and_tax_total * (100 - $inclusive->rate)) / 100);
$item_sub_total = $item_sub_and_tax_total - $item_tax_total;
$item_taxes[] = [
'company_id' => $this->invoice->company_id,
'invoice_id' => $this->invoice->id,
'tax_id' => $include->id,
'name' => $include->name,
'tax_id' => $inclusive->id,
'name' => $inclusive->name,
'amount' => $tax_amount,
];
$item_discount_amount = $item_sub_total - ($item_sub_total * ($this->discount / 100));
}
} else {
foreach ($includes as $include) {
foreach ($inclusives as $inclusive) {
$item_sub_and_tax_total = $item_discount_amount + $item_tax_total;
$item_tax_total = $tax_amount = $item_sub_and_tax_total - ($item_sub_and_tax_total / (1 + ($include->rate / 100)));
$item_tax_total = $tax_amount = $item_sub_and_tax_total - ($item_sub_and_tax_total / (1 + ($inclusive->rate / 100)));
$item_taxes[] = [
'company_id' => $this->invoice->company_id,
'invoice_id' => $this->invoice->id,
'tax_id' => $include->id,
'name' => $include->name,
'tax_id' => $inclusive->id,
'name' => $inclusive->name,
'amount' => $tax_amount,
];
@ -210,7 +210,7 @@ class CreateInvoiceItem
if (!empty($this->data['tax_id'])) {
// set item_taxes for
$invoice_item->item_taxes = $item_taxes;
$invoice_item->includes = $includes;
$invoice_item->inclusives = $inclusives;
$invoice_item->compounds = $compounds;
}