Skip to content

Commit 3a6453b

Browse files
alexis-viaAlexis de Lattre
authored and
Alexis de Lattre
committed
[MIG] account_invoice_import_facturx to v12
Update technical name of module to remove '-' Up-port PR OCA#78 Auto-creation of bank accounts upon invoice import is now optional Fix returned action when using the import wizard
1 parent 6386573 commit 3a6453b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+126
-364
lines changed

account_invoice_import/models/company.py

+2
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ class ResCompany(models.Model):
1818
'Mail Gateway: Destination E-mail',
1919
help="This field is used in multi-company setups to import the "
2020
"invoices received by the mail gateway in the appropriate company")
21+
invoice_import_create_bank_account = fields.Boolean(
22+
string='Auto-create Bank Account of Supplier')
2123

2224
_sql_constraints = [(
2325
'invoice_import_email_uniq',

account_invoice_import/models/res_config_settings.py

+3
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,6 @@ class AccountConfigSettings(models.TransientModel):
1313
related='company_id.adjustment_debit_account_id', readonly=False)
1414
invoice_import_email = fields.Char(
1515
related='company_id.invoice_import_email', readonly=False)
16+
invoice_import_create_bank_account = fields.Boolean(
17+
related='company_id.invoice_import_create_bank_account',
18+
readonly=False)

account_invoice_import/views/res_config_settings.xml

+4
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,10 @@
3535
<label class="o_form_label col-md-6 o_light_label" for="invoice_import_email"/>
3636
<field name="invoice_import_email" class="oe_inline"/>
3737
</div>
38+
<div class="row">
39+
<label class="o_form_label col-md-6 o_light_label" for="invoice_import_create_bank_account"/>
40+
<field name="invoice_import_create_bank_account" class="oe_inline"/>
41+
</div>
3842
</div>
3943
</div>
4044
</div>

account_invoice_import/wizard/account_invoice_import.py

+13-10
Original file line numberDiff line numberDiff line change
@@ -177,8 +177,8 @@ def _prepare_create_invoice_vals(self, parsed_inv, import_config=False):
177177
ailo = self.env['account.invoice.line']
178178
bdio = self.env['business.document.import']
179179
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
182182
start_end_dates_installed = hasattr(ailo, 'start_date') and\
183183
hasattr(ailo, 'end_date')
184184
if parsed_inv['type'] in ('out_invoice', 'out_refund'):
@@ -193,12 +193,12 @@ def _prepare_create_invoice_vals(self, parsed_inv, import_config=False):
193193
parsed_inv.get('currency'), parsed_inv['chatter_msg'])
194194
journal_id = aio.with_context(
195195
type=parsed_inv['type'],
196-
company_id=company_id)._default_journal().id
196+
company_id=company.id)._default_journal().id
197197
vals = {
198198
'partner_id': partner.id,
199199
'currency_id': currency.id,
200200
'type': parsed_inv['type'],
201-
'company_id': company_id,
201+
'company_id': company.id,
202202
'origin': parsed_inv.get('origin'),
203203
'reference': parsed_inv.get('invoice_number'),
204204
'date_invoice': parsed_inv.get('date'),
@@ -215,7 +215,8 @@ def _prepare_create_invoice_vals(self, parsed_inv, import_config=False):
215215
partner = rpo.browse(vals['partner_id'])
216216
partner_bank = bdio._match_partner_bank(
217217
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)
219220
if partner_bank:
220221
vals['partner_bank_id'] = partner_bank.id
221222
config = import_config # just to make variable name shorter
@@ -588,7 +589,7 @@ def create_invoice_action(self, parsed_inv=None, import_config=None):
588589
invoice = self.create_invoice(parsed_inv, import_config)
589590
invoice.message_post(body=_(
590591
"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')
592593
action.update({
593594
'view_mode': 'form,tree,calendar,graph',
594595
'views': False,
@@ -818,7 +819,7 @@ def _prepare_create_invoice_line(self, product, uom, import_line, invoice):
818819
return vals
819820

820821
@api.model
821-
def _prepare_update_invoice_vals(self, parsed_inv, partner):
822+
def _prepare_update_invoice_vals(self, parsed_inv, invoice):
822823
bdio = self.env['business.document.import']
823824
vals = {
824825
'reference': parsed_inv.get('invoice_number'),
@@ -827,9 +828,11 @@ def _prepare_update_invoice_vals(self, parsed_inv, partner):
827828
if parsed_inv.get('date_due'):
828829
vals['date_due'] = parsed_inv['date_due']
829830
if parsed_inv.get('iban'):
831+
company = invoice.company_id
830832
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)
833836
if partner_bank:
834837
vals['partner_bank_id'] = partner_bank.id
835838
return vals
@@ -870,7 +873,7 @@ def update_invoice(self):
870873
"The currency of the imported invoice (%s) is different from "
871874
"the currency of the existing invoice (%s)") % (
872875
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)
874877
logger.debug('Updating supplier invoice with vals=%s', vals)
875878
self.invoice_id.write(vals)
876879
if (

account_invoice_import_factur-x/__init__.py

-3
This file was deleted.

account_invoice_import_factur-x/tests/files/Factur-X_BASIC-1.xml

-234
This file was deleted.

0 commit comments

Comments
 (0)