diff --git a/app/Exports/Purchases/Bills/Sheets/BillItemTaxes.php b/app/Exports/Purchases/Bills/Sheets/BillItemTaxes.php index 2489c06e3..63a45a89e 100644 --- a/app/Exports/Purchases/Bills/Sheets/BillItemTaxes.php +++ b/app/Exports/Purchases/Bills/Sheets/BillItemTaxes.php @@ -23,6 +23,7 @@ class BillItemTaxes extends Export implements WithParentSheet $model->bill_number = $document->document_number; $model->item_name = $model->item->name; + $model->tax_name = $model->tax->name; $model->tax_rate = $model->tax->rate; return parent::map($model); @@ -33,6 +34,7 @@ class BillItemTaxes extends Export implements WithParentSheet return [ 'bill_number', 'item_name', + 'tax_name', 'tax_rate', 'amount', ]; diff --git a/app/Exports/Purchases/RecurringBills/Sheets/RecurringBillItemTaxes.php b/app/Exports/Purchases/RecurringBills/Sheets/RecurringBillItemTaxes.php index be87f1096..8c6528ad5 100644 --- a/app/Exports/Purchases/RecurringBills/Sheets/RecurringBillItemTaxes.php +++ b/app/Exports/Purchases/RecurringBills/Sheets/RecurringBillItemTaxes.php @@ -23,6 +23,7 @@ class RecurringBillItemTaxes extends Export implements WithParentSheet $model->bill_number = $document->document_number; $model->item_name = $model->item->name; + $model->tax_name = $model->tax->name; $model->tax_rate = $model->tax->rate; return parent::map($model); @@ -33,6 +34,7 @@ class RecurringBillItemTaxes extends Export implements WithParentSheet return [ 'bill_number', 'item_name', + 'tax_name', 'tax_rate', 'amount', ]; diff --git a/app/Exports/Sales/Invoices/Sheets/InvoiceItemTaxes.php b/app/Exports/Sales/Invoices/Sheets/InvoiceItemTaxes.php index 6951a4a0f..2f22d87a1 100644 --- a/app/Exports/Sales/Invoices/Sheets/InvoiceItemTaxes.php +++ b/app/Exports/Sales/Invoices/Sheets/InvoiceItemTaxes.php @@ -23,6 +23,7 @@ class InvoiceItemTaxes extends Export implements WithParentSheet $model->invoice_number = $document->document_number; $model->item_name = $model->item->name; + $model->tax_name = $model->tax->name; $model->tax_rate = $model->tax->rate; return parent::map($model); @@ -33,6 +34,7 @@ class InvoiceItemTaxes extends Export implements WithParentSheet return [ 'invoice_number', 'item_name', + 'tax_name', 'tax_rate', 'amount', ]; diff --git a/app/Exports/Sales/RecurringInvoices/Sheets/RecurringInvoiceItemTaxes.php b/app/Exports/Sales/RecurringInvoices/Sheets/RecurringInvoiceItemTaxes.php index 611a2bbb5..d794ad2d6 100644 --- a/app/Exports/Sales/RecurringInvoices/Sheets/RecurringInvoiceItemTaxes.php +++ b/app/Exports/Sales/RecurringInvoices/Sheets/RecurringInvoiceItemTaxes.php @@ -23,6 +23,7 @@ class RecurringInvoiceItemTaxes extends Export implements WithParentSheet $model->invoice_number = $document->document_number; $model->item_name = $model->item->name; + $model->tax_name = $model->tax->name; $model->tax_rate = $model->tax->rate; return parent::map($model); @@ -33,6 +34,7 @@ class RecurringInvoiceItemTaxes extends Export implements WithParentSheet return [ 'invoice_number', 'item_name', + 'tax_name', 'tax_rate', 'amount', ]; diff --git a/app/Imports/Purchases/Bills/Sheets/BillItemTaxes.php b/app/Imports/Purchases/Bills/Sheets/BillItemTaxes.php index c7eb31552..260093a83 100644 --- a/app/Imports/Purchases/Bills/Sheets/BillItemTaxes.php +++ b/app/Imports/Purchases/Bills/Sheets/BillItemTaxes.php @@ -44,6 +44,10 @@ class BillItemTaxes extends Import $document = Document::with('items')->bill()->number($row['bill_number'])->first(); + if (! $document) { + return []; + } + $row['document_id'] = (int) $document->id; if (empty($row['document_item_id']) && !empty($row['item_name'])) { @@ -51,7 +55,11 @@ class BillItemTaxes extends Import $item_id = Item::name($row['item_name'])->whereIn('id', $document_items_ids)->pluck('id')->first(); - $row['document_item_id'] = DocumentItem::bill()->where('item_id', $item_id)->pluck('id')->first(); + $row['document_item_id'] = DocumentItem::bill() + ->where('document_id', $row['document_id']) + ->where('item_id', $item_id) + ->pluck('id') + ->first(); } $row['tax_id'] = $this->getTaxId($row); diff --git a/app/Imports/Purchases/RecurringBills/Sheets/RecurringBillItemTaxes.php b/app/Imports/Purchases/RecurringBills/Sheets/RecurringBillItemTaxes.php index 70500155f..da4d93d38 100644 --- a/app/Imports/Purchases/RecurringBills/Sheets/RecurringBillItemTaxes.php +++ b/app/Imports/Purchases/RecurringBills/Sheets/RecurringBillItemTaxes.php @@ -42,15 +42,19 @@ class RecurringBillItemTaxes extends Import $row = parent::map($row); - $row['document_id'] = (int) Document::where('type', '=', Document::BILL_RECURRING_TYPE) - ->number($row['bill_number']) - ->pluck('id') - ->first(); + $document = Document::with('items')->billRecurring()->number($row['bill_number'])->first(); + + if (! $document) { + return []; + } + + $row['document_id'] = (int) $document->id; if (empty($row['document_item_id']) && !empty($row['item_name'])) { $item_id = Item::name($row['item_name'])->pluck('id')->first(); - $row['document_item_id'] = DocumentItem::where('type', '=', Document::BILL_RECURRING_TYPE) + $row['document_item_id'] = DocumentItem::billRecurring() + ->where('document_id', $row['document_id']) ->where('item_id', $item_id) ->pluck('id') ->first(); diff --git a/app/Imports/Sales/Invoices/Sheets/InvoiceItemTaxes.php b/app/Imports/Sales/Invoices/Sheets/InvoiceItemTaxes.php index 6610af82c..76a9c5d15 100644 --- a/app/Imports/Sales/Invoices/Sheets/InvoiceItemTaxes.php +++ b/app/Imports/Sales/Invoices/Sheets/InvoiceItemTaxes.php @@ -44,6 +44,10 @@ class InvoiceItemTaxes extends Import $document = Document::with('items')->invoice()->number($row['invoice_number'])->first(); + if (! $document) { + return []; + } + $row['document_id'] = (int) $document->id; if (empty($row['document_item_id']) && !empty($row['item_name'])) { @@ -51,7 +55,11 @@ class InvoiceItemTaxes extends Import $item_id = Item::name($row['item_name'])->whereIn('id', $document_items_ids)->pluck('id')->first(); - $row['document_item_id'] = DocumentItem::invoice()->where('item_id', $item_id)->pluck('id')->first(); + $row['document_item_id'] = DocumentItem::invoice() + ->where('document_id', $row['document_id']) + ->where('item_id', $item_id) + ->pluck('id') + ->first(); } $row['tax_id'] = $this->getTaxId($row); diff --git a/app/Imports/Sales/RecurringInvoices/Sheets/RecurringInvoiceItemTaxes.php b/app/Imports/Sales/RecurringInvoices/Sheets/RecurringInvoiceItemTaxes.php index 6f7f78d6e..ede815651 100644 --- a/app/Imports/Sales/RecurringInvoices/Sheets/RecurringInvoiceItemTaxes.php +++ b/app/Imports/Sales/RecurringInvoices/Sheets/RecurringInvoiceItemTaxes.php @@ -42,15 +42,21 @@ class RecurringInvoiceItemTaxes extends Import $row = parent::map($row); - $row['document_id'] = (int) Document::where('type', '=', Document::INVOICE_RECURRING_TYPE) - ->number($row['invoice_number']) - ->pluck('id') - ->first(); + $document = Document::with('items')->invoiceRecurring()->number($row['invoice_number'])->first(); + + if (! $document) { + return []; + } + + $row['document_id'] = (int) $document->id; if (empty($row['document_item_id']) && !empty($row['item_name'])) { - $item_id = Item::name($row['item_name'])->pluck('id')->first(); + $document_items_ids = $document->items->pluck('item_id')->toArray(); - $row['document_item_id'] = DocumentItem::where('type', '=', Document::INVOICE_RECURRING_TYPE) + $item_id = Item::name($row['item_name'])->whereIn('id', $document_items_ids)->pluck('id')->first(); + + $row['document_item_id'] = DocumentItem::invoiceRecurring() + ->where('document_id', $row['document_id']) ->where('item_id', $item_id) ->pluck('id') ->first();