mirror of
https://github.com/OCA/bank-statement-import.git
synced 2025-01-20 12:37:43 +02:00
Merge pull request #54 from akretion/8-ofx-no-name-tag
8.0 Add support for OFX files without <NAME> inside all <STMTTRN>
This commit is contained in:
@@ -45,12 +45,13 @@ class AccountBankStatementImport(models.TransientModel):
|
||||
# (normal behavious is to provide 'account_number', which the
|
||||
# generic module uses to find partner/bank)
|
||||
bank_account_id = partner_id = False
|
||||
banks = self.env['res.partner.bank'].search(
|
||||
[('owner_name', '=', transaction.payee)], limit=1)
|
||||
if banks:
|
||||
bank_account = banks[0]
|
||||
bank_account_id = bank_account.id
|
||||
partner_id = bank_account.partner_id.id
|
||||
if transaction.payee:
|
||||
banks = self.env['res.partner.bank'].search(
|
||||
[('owner_name', '=', transaction.payee)], limit=1)
|
||||
if banks:
|
||||
bank_account = banks[0]
|
||||
bank_account_id = bank_account.id
|
||||
partner_id = bank_account.partner_id.id
|
||||
vals_line = {
|
||||
'date': transaction.date,
|
||||
'name': transaction.payee + (
|
||||
@@ -61,6 +62,18 @@ class AccountBankStatementImport(models.TransientModel):
|
||||
'bank_account_id': bank_account_id,
|
||||
'partner_id': partner_id,
|
||||
}
|
||||
# Memo (<NAME>) and payee (<PAYEE>) are not required
|
||||
# field in OFX statement, cf section 11.4.3 Statement
|
||||
# Transaction <STMTTRN> of the OFX specs: the required
|
||||
# elements are in bold, cf 1.5 Conventions and these 2
|
||||
# fields are not in bold.
|
||||
# But the 'name' field of account.bank.statement.line is
|
||||
# required=True, so we must always have a value !
|
||||
# The field TRNTYPE is a required field in OFX
|
||||
if not vals_line['name']:
|
||||
vals_line['name'] = transaction.type.capitalize()
|
||||
if transaction.checknum:
|
||||
vals_line['name'] += ' %s' % transaction.checknum
|
||||
total_amt += float(transaction.amount)
|
||||
transactions.append(vals_line)
|
||||
except Exception, e:
|
||||
|
||||
Reference in New Issue
Block a user