diff --git a/account_banking_nl_ing_mt940/account_banking_nl_ing_mt940.py b/account_banking_nl_ing_mt940/account_banking_nl_ing_mt940.py index de8f8c1fd..a85ce2ff0 100644 --- a/account_banking_nl_ing_mt940/account_banking_nl_ing_mt940.py +++ b/account_banking_nl_ing_mt940/account_banking_nl_ing_mt940.py @@ -20,10 +20,16 @@ ############################################################################## import re from openerp.tools.translate import _ -from openerp.addons.account_banking.parsers.models import parser +from openerp.addons.account_banking.parsers.models import parser,\ + mem_bank_transaction from openerp.addons.account_banking_mt940.mt940 import MT940, str2float +class transaction(mem_bank_transaction): + def is_valid(self): + '''allow transactions without remote account''' + return bool(self.execution_date) and bool(self.transferred_amount) + class IngMT940Parser(MT940, parser): name = _('ING MT940 (structured)') country_code = 'NL' @@ -33,6 +39,9 @@ class IngMT940Parser(MT940, parser): '^(?P\d{6})(?P[CD])(?P\d+,\d{2})N(?P\d{3})' '(?P\w{1,16})') + def create_transaction(self, cr): + return transaction() + def handle_tag_60F(self, cr, data): super(IngMT940Parser, self).handle_tag_60F(cr, data) self.current_statement.id = '%s-%s' % ( @@ -85,4 +94,7 @@ class IngMT940Parser(MT940, parser): self.current_transaction.reference = ''.join( subfields[self.current_transaction.reference]) + if not subfields: + self.current_transaction.message = data + self.current_transaction = None