İçereği Atla
Menü
Bu soru işaretlendi

Hello,


we started to use the online banking feature to automatically import our bank statemends via Salt Edge in our Odoo 13 EE. So far the setup worked as described in the manual - but somehow the imported statement lines are 2 days old even though Salt Edge shows all statements from today (e.g. only 20.07.22 are available in Odoo on 22.07.22).

The documentation tells that they may not be up to date depending on the bank institute but as I can see them in dhe Salt Edge dashboard I would expect that they should be available in Odoo too. 

Does anyone else experience this delay so we can define this as normal behaviour? I can only guess that the middle-layer OdooFin.com is responsible for the delay.


Many thanks in advance!!

Avatar
Vazgeç

Did you ever come across an answer for this? On Odoo v11 it worked as expected, but after upgrading to Odoo v16 there is now a 2-day delay on transactions that are not pending.

Üretici

@Lee Garner:
We switched to a different 3rd party provider (Enablebanking). Unfortunately we had to make changes to the online_transaction_id as we pulled more than once a day - then the default id won't be set in the first run and we got duplicates. But since then all works fine for us :o)

@dental Softworks
would you like to share / sell your module with the fixes to online_transaction_id to make enable work without duplicates?

Üretici

@David Fleischmann:

I've just overwritten the method inside an extra module (account.bank.statement):

def _generate_hash_id(self, line):
"""
Bildet auf Basis der Transaktion einen SHA256-HASH der eindeutig genug sein sollte.
"""
pr = 'payment_ref' in line and line['payment_ref'].strip() or 'N/A'
d = line['date']

# Leerzeichen vollständig entfernen (teilweise kamen payment_ref mit doppelten Leerzeichen und wurden ein zweites Mal angelegt)
pr = pr.replace(' ', '')

try:
# Verschiedene Möglichkeiten abklappern
if 'narration' in line and 'value_date' in line['narration']:
# Narration ist eigentlich computed, enthält aber bei Bankzeilen spezifische Infos
m = re.search('^value_date:\s(\S*)$', line['narration'], flags=re.M)
if m and len(m.group) > 0:
d = m.group(0)
elif 'value_date' in line:
# Eventuell ist das value_date direkt enthalten
d = line['value_date']
elif 'date' in line:
# Sonst klassische Abfrage
d = line['date']

if not d:
# Wenn gar nix taugt, dann Tagesdatum - wird aber nicht viel helfen
d = datetime.date.today()
_logger.warning('OnlineBanking: ' + line)
except Exception as ex:
_logger.warning('Fehler OnlineBanking', exc_info=ex)
# Sonst halt wie zuvor
d = line['date']

result = '{0}-{1}-{2}'.format(d, line['amount'], pr)
_logger.warning('Online-Banking-Hash: {0}'.format(result))
hash_object = hashlib.sha256(result.encode('utf-8'))
result = hash_object.hexdigest()
return result

İlgili Gönderiler Cevaplar Görünümler Aktivite
0
Eyl 23
4959
3
Eki 24
1626
0
Nis 24
948
0
Haz 17
3943
1
Haz 21
5144