diff --git a/app/Http/Controllers/ImportController.php b/app/Http/Controllers/ImportController.php index 66eed43075f6..f0b26ad7d7c7 100644 --- a/app/Http/Controllers/ImportController.php +++ b/app/Http/Controllers/ImportController.php @@ -85,7 +85,7 @@ class ImportController extends Controller $contents = $this->convertEncoding($contents); // Store the csv in cache with an expiry of 10 minutes - Cache::put($hash.'-'.$entityType, base64_encode($contents), 600); + Cache::put($hash.'-'.$entityType, base64_encode($contents), 1200); // Parse CSV $csv_array = $this->getCsvData($contents); diff --git a/app/Import/Providers/BaseImport.php b/app/Import/Providers/BaseImport.php index 0366970037f6..339eabea1ffa 100644 --- a/app/Import/Providers/BaseImport.php +++ b/app/Import/Providers/BaseImport.php @@ -98,7 +98,7 @@ class BaseImport } /** @var string $base64_encoded_csv */ - $base64_encoded_csv = Cache::pull($this->hash.'-'.$entity_type); + $base64_encoded_csv = Cache::get($this->hash.'-'.$entity_type); if (empty($base64_encoded_csv)) { return null; diff --git a/app/Import/Providers/Wave.php b/app/Import/Providers/Wave.php index 89c3ef9931a2..1fbd58b0e0c0 100644 --- a/app/Import/Providers/Wave.php +++ b/app/Import/Providers/Wave.php @@ -172,7 +172,7 @@ class Wave extends BaseImport implements ImportInterface { $entity_type = 'expense'; - $data = $this->getCsvData($entity_type); + $data = $this->getCsvData('invoice'); if (!$data) { $this->entity_count['expense'] = 0; @@ -244,14 +244,17 @@ class Wave extends BaseImport implements ImportInterface if (empty($expense_data['vendor_id'])) { $vendor_data['user_id'] = $this->getUserIDForRecord($expense_data); - $vendor_repository->save( - ['name' => $raw_expense['Vendor Name']], - $vendor = VendorFactory::create( - $this->company->id, - $vendor_data['user_id'] - ) - ); - $expense_data['vendor_id'] = $vendor->id; + if(isset($raw_expense['Vendor Name']) || isset($raw_expense['Vendor'])) + { + $vendor_repository->save( + ['name' => isset($raw_expense['Vendor Name']) ? $raw_expense['Vendor Name'] : isset($raw_expense['Vendor'])], + $vendor = VendorFactory::create( + $this->company->id, + $vendor_data['user_id'] + ) + ); + $expense_data['vendor_id'] = $vendor->id; + } } $validator = Validator::make( diff --git a/app/Import/Transformer/Wave/ExpenseTransformer.php b/app/Import/Transformer/Wave/ExpenseTransformer.php index 8f37c94b788a..afd282b80d63 100644 --- a/app/Import/Transformer/Wave/ExpenseTransformer.php +++ b/app/Import/Transformer/Wave/ExpenseTransformer.php @@ -36,18 +36,26 @@ class ExpenseTransformer extends BaseTransformer $total_tax += floatval($record['Sales Tax Amount']); } - $tax_rate = round(($total_tax / $amount) * 100, 3); + $tax_rate = $total_tax > 0 ? round(($total_tax / $amount) * 100, 3) : 0; + + if(isset($data['Notes / Memo']) && strlen($data['Notes / Memo']) > 1) + $public_notes = $data['Notes / Memo']; + elseif (isset($data['Transaction Description']) && strlen($data['Transaction Description']) > 1) + $public_notes = $data['Transaction Description']; + else + $public_notes = ''; + $transformed = [ 'company_id' => $this->company->id, 'vendor_id' => $this->getVendorIdOrCreate($this->getString($data, 'Vendor')), 'number' => $this->getString($data, 'Bill Number'), - 'public_notes' => $this->getString($data, 'Notes / Memo'), + 'public_notes' => $public_notes, 'date' => $this->parseDate($data['Transaction Date Added']) ?: now()->format('Y-m-d'), //27-01-2022 'currency_id' => $this->company->settings->currency_id, 'category_id' => $this->getOrCreateExpenseCategry($data['Account Name']), 'amount' => $amount, - 'tax_name1' => $data['Sales Tax Name'], + 'tax_name1' => isset($data['Sales Tax Name']) ? $data['Sales Tax Name'] : '', 'tax_rate1' => $tax_rate, ];