From 3f0f5663a93955709161be26e8e735da9a50571b Mon Sep 17 00:00:00 2001 From: paulwer Date: Mon, 16 Sep 2024 06:57:02 +0200 Subject: [PATCH] fix: mindee taxation transform issue --- app/Http/Controllers/PostMarkController.php | 4 +--- .../EDocument/Imports/MindeeEDocument.php | 24 +++++++++---------- .../EDocument/Imports/ParseEDocument.php | 1 - 3 files changed, 13 insertions(+), 16 deletions(-) diff --git a/app/Http/Controllers/PostMarkController.php b/app/Http/Controllers/PostMarkController.php index e76d7eb72526..5e972cdfcb7a 100644 --- a/app/Http/Controllers/PostMarkController.php +++ b/app/Http/Controllers/PostMarkController.php @@ -273,8 +273,6 @@ class PostMarkController extends BaseController $input = $request->all(); - nlog($input); - if (!$request->has('token') || $request->token != config('ninja.inbound_mailbox.inbound_webhook_token')) return response()->json(['message' => 'Unauthorized'], 403); @@ -282,7 +280,7 @@ class PostMarkController extends BaseController nlog('Failed: Message could not be parsed, because required parameters are missing.'); return response()->json(['message' => 'Failed. Missing/Invalid Parameters.'], 400); } - + $company = MultiDB::findAndSetDbByExpenseMailbox($input["ToFull"][0]["Email"]); if (!$company) { diff --git a/app/Services/EDocument/Imports/MindeeEDocument.php b/app/Services/EDocument/Imports/MindeeEDocument.php index 1b238c28824a..0a92b403e48a 100644 --- a/app/Services/EDocument/Imports/MindeeEDocument.php +++ b/app/Services/EDocument/Imports/MindeeEDocument.php @@ -47,7 +47,7 @@ class MindeeEDocument extends AbstractService public function run(): Expense { $api_key = config('services.mindee.api_key'); - + if (!$api_key) throw new Exception('Mindee API key not configured'); @@ -72,22 +72,22 @@ class MindeeEDocument extends AbstractService $country = $prediction->locale->country; $expense = Expense::query() - ->where('company_id', $this->company->id) - ->where('amount', $grandTotalAmount) - ->where("transaction_reference", $documentno) - ->whereDate("date", $documentdate) - ->first(); + ->where('company_id', $this->company->id) + ->where('amount', $grandTotalAmount) + ->where("transaction_reference", $documentno) + ->whereDate("date", $documentdate) + ->first(); if (!$expense) { // The document does not exist as an expense // Handle accordingly /** @var \App\Models\Currency $currency */ - $currency = app('currencies')->first(function ($c) use ($invoiceCurrency){ - /** @var \App\Models\Currency $c */ + $currency = app('currencies')->first(function ($c) use ($invoiceCurrency) { + /** @var \App\Models\Currency $c */ return $c->code == $invoiceCurrency; }); - + $expense = ExpenseFactory::create($this->company->id, $this->company->owner()->id); $expense->date = $documentdate; $expense->public_notes = $documentno; @@ -105,14 +105,14 @@ class MindeeEDocument extends AbstractService $counter = 1; foreach ($prediction->taxes as $taxesElem) { - $expense->{"tax_amount{$counter}"} = $taxesElem->amount; + $expense->{"tax_amount{$counter}"} = $taxesElem->value; $expense->{"tax_rate{$counter}"} = $taxesElem->rate; $counter++; } - + /** @var \App\Models\VendorContact $vendor_contact */ $vendor_contact = VendorContact::query()->where("company_id", $this->company->id)->where("email", $prediction->supplierEmail)->first(); - + /** @var \App\Models\Vendor|null $vendor */ $vendor = $vendor_contact ? $vendor_contact->vendor : Vendor::query()->where("company_id", $this->company->id)->where("name", $prediction->supplierName)->first(); diff --git a/app/Services/EDocument/Imports/ParseEDocument.php b/app/Services/EDocument/Imports/ParseEDocument.php index e49d39d68b9e..b58d4d7664b1 100644 --- a/app/Services/EDocument/Imports/ParseEDocument.php +++ b/app/Services/EDocument/Imports/ParseEDocument.php @@ -57,7 +57,6 @@ class ParseEDocument extends AbstractService try { return (new ZugferdEDocument($this->file, $this->company))->run(); } catch (Exception $e) { - nlog($this->file->get()); nlog("Zugferd Exception: " . $e->getMessage()); } }