[ADD] account_partner_account_number:

new module to add account number on partner, visible in account move lines payable and receivable
This commit is contained in:
clementthomas
2023-06-08 14:47:40 +02:00
parent 2c3a647c17
commit 5074244aa6
8 changed files with 183 additions and 0 deletions

View File

@@ -0,0 +1,3 @@
# -*- coding: utf-8 -*-
from . import models

View File

@@ -0,0 +1,63 @@
# -*- coding: utf-8 -*-
{
"name": "Account partner account number",
"category": "Account",
"version": "14.0.1.0",
"summary": "Add account number in partner",
"author": "Elabore",
"website": "https://elabore.coop/",
"installable": True,
"application": False,
"auto_install": False,
"description": """
======================================
Account partner account number
======================================
This module add a new field in partner, visible in account move lines for payable and receivable accounts
Installation
============
Just install account_partner_account_number, all dependencies will be installed by default.
Known issues / Roadmap
======================
Bug Tracker
===========
Bugs are tracked on `GitHub Issues
<https://github.com/elabore-coop/.../issues>`_. In case of trouble, please
check there if your issue has already been reported. If you spotted it first,
help us smashing it by providing a detailed and welcomed feedback.
Credits
=======
Images
------
* Elabore: `Icon <https://elabore.coop/web/image/res.company/1/logo?unique=f3db262>`_.
Contributors
------------
* Clément Thoams
Funders
-------
The development of this module has been financially supported by:
* Elabore (https://elabore.coop)
* Rovalterre
Maintainer
----------
This module is maintained by ELABORE.
""",
"depends": [
"base",
"account",
],
"data": [
"views/account_move_views.xml",
"views/partner_views.xml",
],
"qweb": [],
}

View File

@@ -0,0 +1,56 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_partner_account_number
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-06-08 12:43+0000\n"
"PO-Revision-Date: 2023-06-08 12:43+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: account_partner_account_number
#: model:ir.model.fields,field_description:account_partner_account_number.field_account_move_line__account_number
msgid "Account Number"
msgstr "Numéro de compte"
#. module: account_partner_account_number
#: model:ir.model.fields,field_description:account_partner_account_number.field_res_partner__account_number
#: model:ir.model.fields,field_description:account_partner_account_number.field_res_users__account_number
#: model_terms:ir.ui.view,arch_db:account_partner_account_number.view_partner_property_form_account_number
msgid "Account number"
msgstr "Numéro de compte"
#. module: account_partner_account_number
#: model:ir.model,name:account_partner_account_number.model_res_partner
msgid "Contact"
msgstr ""
#. module: account_partner_account_number
#: model:ir.model.fields,field_description:account_partner_account_number.field_account_move_line__display_name
#: model:ir.model.fields,field_description:account_partner_account_number.field_res_partner__display_name
msgid "Display Name"
msgstr "Nom affiché"
#. module: account_partner_account_number
#: model:ir.model.fields,field_description:account_partner_account_number.field_account_move_line__id
#: model:ir.model.fields,field_description:account_partner_account_number.field_res_partner__id
msgid "ID"
msgstr "Identifiant"
#. module: account_partner_account_number
#: model:ir.model,name:account_partner_account_number.model_account_move_line
msgid "Journal Item"
msgstr "Écriture comptable"
#. module: account_partner_account_number
#: model:ir.model.fields,field_description:account_partner_account_number.field_account_move_line____last_update
#: model:ir.model.fields,field_description:account_partner_account_number.field_res_partner____last_update
msgid "Last Modified on"
msgstr "Dernière modification le"

View File

@@ -0,0 +1,3 @@
# -*- coding: utf-8 -*-
from . import res_partner
from . import account_move_line

View File

@@ -0,0 +1,20 @@
from odoo import fields, models, _, api
class AccountMoveLine(models.Model):
_inherit = "account.move.line"
account_number = fields.Char(compute='get_account_number', string="Account Number")
@api.depends('partner_id','account_id')
def get_account_number(self):
"""
assign account number of partner if move line is receivable (Customers) or payable (Suppliers)
"""
for account_move_line in self:
if account_move_line.account_id.id == account_move_line.partner_id.property_account_receivable_id.id or \
account_move_line.account_id.id == account_move_line.partner_id.property_account_payable_id.id:
account_move_line.account_number = account_move_line.partner_id.account_number
else:
account_move_line.account_number = ''

View File

@@ -0,0 +1,7 @@
from odoo import fields, models, _
class ResPartner(models.Model):
_inherit = "res.partner"
account_number = fields.Char('Account number')

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="view_move_line_tree_inherit_account_number" model="ir.ui.view">
<field name="name">account.move.line.tree.inherit.account.number</field>
<field name="model">account.move.line</field>
<field eval="100" name="priority"/>
<field name="inherit_id" ref="account.view_move_line_tree" />
<field name="arch" type="xml">
<xpath expr="//field[@name='partner_id']" position="after">
<field name="account_number" />
</xpath>
</field>
</record>
</odoo>

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="view_partner_property_form_account_number" model="ir.ui.view">
<field name="name">res.partner.property.form.inherit.account.number</field>
<field name="model">res.partner</field>
<field name="priority">2</field>
<field name="inherit_id" ref="account.view_partner_property_form"/>
<field name="groups_id" eval="[(5,)]"/>
<field name="arch" type="xml">
<xpath expr="//page[@name='accounting']/group" position="inside">
<group string="Account number" name="account_number" groups="account.group_account_readonly">
<field name="account_number" />
</group>
</xpath>
</field>
</record>
</odoo>