mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-08 13:54:30 -04:00
Bugfixes
This commit is contained in:
parent
61570cea93
commit
a33c3832e9
@ -14,16 +14,16 @@ namespace App\Services\EDocument\Imports;
|
|||||||
use App\Factory\ExpenseFactory;
|
use App\Factory\ExpenseFactory;
|
||||||
use App\Factory\VendorFactory;
|
use App\Factory\VendorFactory;
|
||||||
use App\Jobs\Util\UploadFile;
|
use App\Jobs\Util\UploadFile;
|
||||||
|
use App\Models\Country;
|
||||||
use App\Models\Currency;
|
use App\Models\Currency;
|
||||||
use App\Models\Expense;
|
use App\Models\Expense;
|
||||||
use App\Models\Vendor;
|
use App\Models\Vendor;
|
||||||
use App\Repositories\VendorRepository;
|
|
||||||
use App\Services\AbstractService;
|
use App\Services\AbstractService;
|
||||||
use App\Utils\TempFile;
|
use App\Utils\TempFile;
|
||||||
use Exception;
|
use Exception;
|
||||||
use horstoeko\zugferd\ZugferdDocumentReader;
|
use horstoeko\zugferd\ZugferdDocumentReader;
|
||||||
|
use horstoeko\zugferdvisualizer\renderer\ZugferdVisualizerLaravelRenderer;
|
||||||
use horstoeko\zugferdvisualizer\ZugferdVisualizer;
|
use horstoeko\zugferdvisualizer\ZugferdVisualizer;
|
||||||
use function PHPUnit\Framework\isNull;
|
|
||||||
|
|
||||||
class ZugferdEDocument extends AbstractService {
|
class ZugferdEDocument extends AbstractService {
|
||||||
public ZugferdDocumentReader|string $document;
|
public ZugferdDocumentReader|string $document;
|
||||||
@ -52,8 +52,10 @@ class ZugferdEDocument extends AbstractService {
|
|||||||
// Handle accordingly
|
// Handle accordingly
|
||||||
$visualizer = new ZugferdVisualizer($this->document);
|
$visualizer = new ZugferdVisualizer($this->document);
|
||||||
$visualizer->setDefaultTemplate();
|
$visualizer->setDefaultTemplate();
|
||||||
|
$visualizer->setRenderer(app(ZugferdVisualizerLaravelRenderer::class));
|
||||||
$visualizer->setPdfFontDefault("arial");
|
$visualizer->setPdfFontDefault("arial");
|
||||||
$visualizer->setPdfPaperSize('A4-P');
|
$visualizer->setPdfPaperSize('A4-P');
|
||||||
|
$visualizer->setTemplate('edocument.xinvoice');
|
||||||
|
|
||||||
$expense = ExpenseFactory::create($user->company()->id, $user->id);
|
$expense = ExpenseFactory::create($user->company()->id, $user->id);
|
||||||
$expense->date = $documentdate;
|
$expense->date = $documentdate;
|
||||||
@ -71,7 +73,7 @@ class ZugferdEDocument extends AbstractService {
|
|||||||
if ($taxCurrency && $taxCurrency != $invoiceCurrency) {
|
if ($taxCurrency && $taxCurrency != $invoiceCurrency) {
|
||||||
$expense->private_notes = ctrans("texts.tax_currency_mismatch");
|
$expense->private_notes = ctrans("texts.tax_currency_mismatch");
|
||||||
}
|
}
|
||||||
$expense->uses_inclusive_taxes = false;
|
$expense->uses_inclusive_taxes = True;
|
||||||
$expense->amount = $grandTotalAmount;
|
$expense->amount = $grandTotalAmount;
|
||||||
$counter = 1;
|
$counter = 1;
|
||||||
if ($this->document->firstDocumentTax()) {
|
if ($this->document->firstDocumentTax()) {
|
||||||
@ -84,18 +86,15 @@ class ZugferdEDocument extends AbstractService {
|
|||||||
}
|
}
|
||||||
$this->document->getDocumentSeller($name, $buyer_id, $buyer_description);
|
$this->document->getDocumentSeller($name, $buyer_id, $buyer_description);
|
||||||
$this->document->getDocumentSellerContact($person_name, $person_department, $contact_phone, $contact_fax, $contact_email);
|
$this->document->getDocumentSellerContact($person_name, $person_department, $contact_phone, $contact_fax, $contact_email);
|
||||||
|
$this->document->getDocumentSellerAddress($address_1, $address_2, $address_3, $postcode, $city, $country, $subdivision);
|
||||||
$this->document->getDocumentSellerTaxRegistration($taxtype);
|
$this->document->getDocumentSellerTaxRegistration($taxtype);
|
||||||
$taxid = null;
|
$taxid = null;
|
||||||
if (array_key_exists("VA", $taxtype)) {
|
if (array_key_exists("VA", $taxtype)) {
|
||||||
$taxid = $taxtype["VA"];
|
$taxid = $taxtype["VA"];
|
||||||
}
|
}
|
||||||
// TODO find vendor
|
$vendor = Vendor::where('vat_number', $taxid)->first();
|
||||||
$vendor = Vendor::whereHas('contacts', function ($q) use($contact_email, $taxid) {
|
|
||||||
$q->where('email',$contact_email)->where('vat_number', $taxid);
|
|
||||||
})->first();
|
|
||||||
|
|
||||||
|
if (!empty($vendor)) {
|
||||||
if ($vendor) {
|
|
||||||
// Vendor found
|
// Vendor found
|
||||||
$expense->vendor_id = $vendor->id;
|
$expense->vendor_id = $vendor->id;
|
||||||
} else {
|
} else {
|
||||||
@ -104,12 +103,16 @@ class ZugferdEDocument extends AbstractService {
|
|||||||
if ($taxid != null) {
|
if ($taxid != null) {
|
||||||
$vendor->vat_number = $taxid;
|
$vendor->vat_number = $taxid;
|
||||||
}
|
}
|
||||||
#$vendor->email = $contact_email;
|
$vendor->currency_id = Currency::whereCode($invoiceCurrency)->first()->id;
|
||||||
|
$vendor->phone = $contact_phone;
|
||||||
|
$vendor->address1 = $address_1;
|
||||||
|
$vendor->address2 = $address_2;
|
||||||
|
$vendor->city = $city;
|
||||||
|
$vendor->postal_code = $postcode;
|
||||||
|
$vendor->country_id = Country::where('iso_3166_2', $country)->first()->id;
|
||||||
|
|
||||||
$vendor->save();
|
$vendor->save();
|
||||||
$expense->vendor_id = $vendor->id;
|
$expense->vendor_id = $vendor->id;
|
||||||
// Vendor not found
|
|
||||||
// Handle accordingly
|
|
||||||
}
|
}
|
||||||
$expense->transaction_reference = $documentno;
|
$expense->transaction_reference = $documentno;
|
||||||
}
|
}
|
||||||
@ -123,3 +126,4 @@ class ZugferdEDocument extends AbstractService {
|
|||||||
return $expense;
|
return $expense;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user