diff --git a/app/Helpers/Bank/Nordigen/Transformer/TransactionTransformer.php b/app/Helpers/Bank/Nordigen/Transformer/TransactionTransformer.php index 30e511d67aec..d7ac29889470 100644 --- a/app/Helpers/Bank/Nordigen/Transformer/TransactionTransformer.php +++ b/app/Helpers/Bank/Nordigen/Transformer/TransactionTransformer.php @@ -110,7 +110,7 @@ class TransactionTransformer implements BankRevenueInterface $transaction['creditorName'] : null); return [ - 'transaction_id' => $transaction["transactionId"], + 'nordigen_transaction_id' => $transaction["transactionId"], 'amount' => abs((int) $transaction["transactionAmount"]["amount"]), 'currency_id' => $this->convertCurrency($transaction["transactionAmount"]["currency"]), 'category_id' => null, // nordigen has no categories diff --git a/app/Jobs/Bank/ProcessBankTransactionsNordigen.php b/app/Jobs/Bank/ProcessBankTransactionsNordigen.php index da9ac7f98571..640a525c34f3 100644 --- a/app/Jobs/Bank/ProcessBankTransactionsNordigen.php +++ b/app/Jobs/Bank/ProcessBankTransactionsNordigen.php @@ -155,12 +155,13 @@ class ProcessBankTransactionsNordigen implements ShouldQueue foreach ($transactions as $transaction) { - if (BankTransaction::where('transaction_id', $transaction['transaction_id'])->where('company_id', $this->company->id)->where('bank_integration_id', $this->bank_integration->id)->withTrashed()->exists()) + if (BankTransaction::where('nordigen_transaction_id', $transaction['nordigen_transaction_id'])->where('company_id', $this->company->id)->where('bank_integration_id', $this->bank_integration->id)->withTrashed()->exists()) continue; //this should be much faster to insert than using ::create() \DB::table('bank_transactions')->insert( array_merge($transaction, [ + 'transaction_id' => 0, 'company_id' => $this->company->id, 'user_id' => $user_id, 'bank_integration_id' => $this->bank_integration->id, diff --git a/app/Models/BankTransaction.php b/app/Models/BankTransaction.php index d39c83a62985..d9595cad319e 100644 --- a/app/Models/BankTransaction.php +++ b/app/Models/BankTransaction.php @@ -23,6 +23,7 @@ use Illuminate\Database\Eloquent\SoftDeletes; * @property int $user_id * @property int $bank_integration_id * @property int $transaction_id + * @property string $nordigen_transaction_id * @property string $amount * @property string|null $currency_code * @property int|null $currency_id diff --git a/database/migrations/2024_01_10_155555_add_bank_transaction_nordigen_field.php b/database/migrations/2024_01_10_155555_add_bank_transaction_nordigen_field.php new file mode 100644 index 000000000000..39e828c428ca --- /dev/null +++ b/database/migrations/2024_01_10_155555_add_bank_transaction_nordigen_field.php @@ -0,0 +1,34 @@ +string('nordigen_transaction_id')->nullable(); + }); + + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + // + } +};