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

fix: mindee taxation transform issue

This commit is contained in:
paulwer 2024-09-16 06:57:02 +02:00
parent 5c0f228cb7
commit 3f0f5663a9
3 changed files with 13 additions and 16 deletions

View File

@ -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) {

View File

@ -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();

View File

@ -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());
}
}