1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-08 20:22:42 +01:00

Fixes for expense imports

This commit is contained in:
David Bomba 2024-10-17 08:56:21 +11:00
parent 34524f3ed3
commit b90fb4515f
3 changed files with 8 additions and 3 deletions

View File

@ -53,7 +53,7 @@ class ImportEDocument implements ShouldQueue
public function middleware()
{
return [new WithoutOverlapping($this->company->company_key)];
return [new WithoutOverlapping($this->company->company_key."_expense_import")];
}
public function failed($exception = null)
@ -63,7 +63,6 @@ class ImportEDocument implements ShouldQueue
}
$this->fail($exception); //manually fail - prevents future jobs with the same name from being discarded
config(['queue.failed.driver' => null]);
}
}

View File

@ -60,6 +60,7 @@ class ParseEDocument extends AbstractService
return (new ZugferdEDocument($this->file, $this->company))->run();
} catch (\Throwable $e) {
nlog("Zugferd Exception: " . $e->getMessage());
break;
}
case ($extension == 'xml' || $mimetype == 'application/xml') && stristr($this->file->get(), "urn:cen.eu:en16931:2017"):
case ($extension == 'xml' || $mimetype == 'application/xml') && stristr($this->file->get(), "urn:oasis:names:specification:ubl"):
@ -68,6 +69,7 @@ class ParseEDocument extends AbstractService
}
catch(\Throwable $e){
nlog("UBL Import Exception: " . $e->getMessage());
break;
}
}

View File

@ -25,6 +25,8 @@ use App\Utils\Traits\SavesDocuments;
use Exception;
use App\Models\Company;
use App\Repositories\ExpenseRepository;
use App\Repositories\VendorContactRepository;
use App\Repositories\VendorRepository;
use horstoeko\zugferd\ZugferdDocumentReader;
use horstoeko\zugferdvisualizer\ZugferdVisualizer;
use horstoeko\zugferdvisualizer\renderer\ZugferdVisualizerLaravelRenderer;
@ -139,7 +141,9 @@ class ZugferdEDocument extends AbstractService
if ($country)
$vendor->country_id = $country->id;
$vendor->save();
$vendor_repo = new VendorRepository(new VendorContactRepository());
$vendor = $vendor_repo->save([], $vendor);
$expense->vendor_id = $vendor->id;
}
$expense->transaction_reference = $documentno;