@@ -177,8 +177,8 @@ def _prepare_create_invoice_vals(self, parsed_inv, import_config=False):
177
177
ailo = self .env ['account.invoice.line' ]
178
178
bdio = self .env ['business.document.import' ]
179
179
rpo = self .env ['res.partner' ]
180
- company_id = self .env . context . get ( 'force_company' ) or \
181
- self .env .user .company_id . id
180
+ company = self .env [ 'res.company' ]. browse (
181
+ self .env .context . get ( 'force_company' )) or self . env . user .company_id
182
182
start_end_dates_installed = hasattr (ailo , 'start_date' ) and \
183
183
hasattr (ailo , 'end_date' )
184
184
if parsed_inv ['type' ] in ('out_invoice' , 'out_refund' ):
@@ -193,12 +193,12 @@ def _prepare_create_invoice_vals(self, parsed_inv, import_config=False):
193
193
parsed_inv .get ('currency' ), parsed_inv ['chatter_msg' ])
194
194
journal_id = aio .with_context (
195
195
type = parsed_inv ['type' ],
196
- company_id = company_id )._default_journal ().id
196
+ company_id = company . id )._default_journal ().id
197
197
vals = {
198
198
'partner_id' : partner .id ,
199
199
'currency_id' : currency .id ,
200
200
'type' : parsed_inv ['type' ],
201
- 'company_id' : company_id ,
201
+ 'company_id' : company . id ,
202
202
'origin' : parsed_inv .get ('origin' ),
203
203
'reference' : parsed_inv .get ('invoice_number' ),
204
204
'date_invoice' : parsed_inv .get ('date' ),
@@ -215,7 +215,8 @@ def _prepare_create_invoice_vals(self, parsed_inv, import_config=False):
215
215
partner = rpo .browse (vals ['partner_id' ])
216
216
partner_bank = bdio ._match_partner_bank (
217
217
partner , parsed_inv ['iban' ], parsed_inv .get ('bic' ),
218
- parsed_inv ['chatter_msg' ], create_if_not_found = True )
218
+ parsed_inv ['chatter_msg' ],
219
+ create_if_not_found = company .invoice_import_create_bank_account )
219
220
if partner_bank :
220
221
vals ['partner_bank_id' ] = partner_bank .id
221
222
config = import_config # just to make variable name shorter
@@ -588,7 +589,7 @@ def create_invoice_action(self, parsed_inv=None, import_config=None):
588
589
invoice = self .create_invoice (parsed_inv , import_config )
589
590
invoice .message_post (body = _ (
590
591
"This invoice has been created automatically via file import" ))
591
- action = iaao .for_xml_id ('account' , 'action_invoice_tree2 ' )
592
+ action = iaao .for_xml_id ('account' , 'action_vendor_bill_template ' )
592
593
action .update ({
593
594
'view_mode' : 'form,tree,calendar,graph' ,
594
595
'views' : False ,
@@ -818,7 +819,7 @@ def _prepare_create_invoice_line(self, product, uom, import_line, invoice):
818
819
return vals
819
820
820
821
@api .model
821
- def _prepare_update_invoice_vals (self , parsed_inv , partner ):
822
+ def _prepare_update_invoice_vals (self , parsed_inv , invoice ):
822
823
bdio = self .env ['business.document.import' ]
823
824
vals = {
824
825
'reference' : parsed_inv .get ('invoice_number' ),
@@ -827,9 +828,11 @@ def _prepare_update_invoice_vals(self, parsed_inv, partner):
827
828
if parsed_inv .get ('date_due' ):
828
829
vals ['date_due' ] = parsed_inv ['date_due' ]
829
830
if parsed_inv .get ('iban' ):
831
+ company = invoice .company_id
830
832
partner_bank = bdio ._match_partner_bank (
831
- partner , parsed_inv ['iban' ], parsed_inv .get ('bic' ),
832
- parsed_inv ['chatter_msg' ], create_if_not_found = True )
833
+ invoice .commercial_partner_id , parsed_inv ['iban' ],
834
+ parsed_inv .get ('bic' ), parsed_inv ['chatter_msg' ],
835
+ create_if_not_found = company .invoice_import_create_bank_account )
833
836
if partner_bank :
834
837
vals ['partner_bank_id' ] = partner_bank .id
835
838
return vals
@@ -870,7 +873,7 @@ def update_invoice(self):
870
873
"The currency of the imported invoice (%s) is different from "
871
874
"the currency of the existing invoice (%s)" ) % (
872
875
currency .name , invoice .currency_id .name ))
873
- vals = self ._prepare_update_invoice_vals (parsed_inv , partner )
876
+ vals = self ._prepare_update_invoice_vals (parsed_inv , invoice )
874
877
logger .debug ('Updating supplier invoice with vals=%s' , vals )
875
878
self .invoice_id .write (vals )
876
879
if (
0 commit comments