Invoices Reference

account_invoice_reference
REPOSITORY
REPOSITORYOCA/account-reconcile
GIT
GIThttps://github.com/OCA/account-reconcile.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-reconcile/tree/10.0/account_invoice_reference
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYcategory
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSCamptocamp
COMMITTERS
COMMITTERSPedro M. Baeza, Stéphane Bidoul (ACSONE)
WEBSITE
WEBSITEhttp://www.camptocamp.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:20:01
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - report
    - analytic
    - web_planner
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Invoices Reference
==================

Aims to simplify the "references" fields on the invoices.

We observed difficulties for the users to file the references (name,
origin, free reference) and above all, to understand which field will be
copied in the reference field of the move and move lines.

The approach here is to state simple rules with one concern: consistency.
The reference of the move lines must be the number of the document at their
very origin (number of a sales order, of an external document like a supplier
invoice, ...). The goal is for the accountant to be able to trace to the
source document from a ledger).
The description of a line should always be... well, a description. Not a number
or a cryptic reference.

It particularly fits with other modules of the bank-statement-reconcile series
as account_advanced_reconcile_transaction_ref.

Fields
------

Enumerating the information we need in an invoice, we find that the
mandatory fields are:

* Invoice Number
* Description
* Internal Reference ("our reference")
* External Reference ("customer or supplier reference")
* Optionally, a technical transaction reference (credit card payment gateways,
  SEPA, ...)

Now, on the move lines:

* Name
* Reference
* Optionally, a technical transaction reference (added by the module
  `base_transaction_id`)

Let's see how the information will be organized with this module.

Customers Invoices / Refunds
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    +-----------------+-----------------+------------------------------+
    | Information     | Invoice field   | Instead of (in base modules) |
    +=================+=================+==============================+
    | Invoice number  | Invoice number  | Invoice number               |
    +-----------------+-----------------+------------------------------+
    | Description     | Name            | --                           |
    +-----------------+-----------------+------------------------------+
    | Internal Ref    | Origin          | Origin                       |
    +-----------------+-----------------+------------------------------+
    | External Ref    | Reference       | Name                         |
    +-----------------+-----------------+------------------------------+

Information propagated to the move lines:

    +-----------------+------------------------------------+
    | Move line field | Invoice field                      |
    +=================+====================================+
    | Description     | Name                               |
    +-----------------+------------------------------------+
    | Reference       | Origin, or Invoice number if empty |
    +-----------------+------------------------------------+


Supplier Invoices / Refunds
~~~~~~~~~~~~~~~~~~~~~~~~~~~

Supplier invoices have an additional field `supplier_invoice_number`
that we consider as redundant with the reference field.  This field is kept
and even set as mandatory, while the reference field is hidden.

    +-----------------+-----------------+------------------------------+
    | Information     | Invoice field   | Instead of (in base modules) |
    +=================+=================+==============================+
    | Invoice number  | Invoice number  | Invoice number               |
    +-----------------+-----------------+------------------------------+
    | Description     | Name            | --                           |
    +-----------------+-----------------+------------------------------+
    | Internal Ref    | Origin          | Origin                       |
    +-----------------+-----------------+------------------------------+
    | External Ref    | Supplier number | Supplier number              |
    +-----------------+-----------------+------------------------------+

The reference field is hidden when the reference type is "free reference",
because it is already filed in the Supplier invoice number.

Information propagated to the move lines:

    +-----------------+---------------------------------------------+
    | Move line field | Invoice field                               |
    +=================+=============================================+
    | Description     | Name                                        |
    +-----------------+---------------------------------------------+
    | Reference       | Supplier number, or Invoice number if empty |
    +-----------------+---------------------------------------------+

 

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
invoice_form account.invoice.form account.invoice xpath Inherits account.invoice_form
invoice_supplier_form account.invoice.supplier.form account.invoice field Inherits account.invoice_supplier_form
Models touched (2)

New fields (0)

No new fields.

Public methods (3)
  • action_number(self)
    @api.multi
  • create(self, vals)
    @api.model@api.returns('self', <expr>)
  • write(self, vals)
    @api.multi

New fields (0)

No new fields.

Public methods (1)
  • create(self, cr, uid, vals, context=None)
REPOSITORY
REPOSITORYOCA/account-reconcile
GIT
GIThttps://github.com/OCA/account-reconcile.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-reconcile/tree/9.0/account_invoice_reference
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYcategory
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSCamptocamp
COMMITTERS
COMMITTERSPedro M. Baeza, Stéphane Bidoul (ACSONE)
WEBSITE
WEBSITEhttp://www.camptocamp.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:15:23
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - report
    - analytic
    - web_tip
    - web_planner
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Invoices Reference
==================

Aims to simplify the "references" fields on the invoices.

We observed difficulties for the users to file the references (name,
origin, free reference) and above all, to understand which field will be
copied in the reference field of the move and move lines.

The approach here is to state simple rules with one concern: consistency.
The reference of the move lines must be the number of the document at their
very origin (number of a sales order, of an external document like a supplier
invoice, ...). The goal is for the accountant to be able to trace to the
source document from a ledger).
The description of a line should always be... well, a description. Not a number
or a cryptic reference.

It particularly fits with other modules of the bank-statement-reconcile series
as account_advanced_reconcile_transaction_ref.

Fields
------

Enumerating the information we need in an invoice, we find that the
mandatory fields are:

* Invoice Number
* Description
* Internal Reference ("our reference")
* External Reference ("customer or supplier reference")
* Optionally, a technical transaction reference (credit card payment gateways,
  SEPA, ...)

Now, on the move lines:

* Name
* Reference
* Optionally, a technical transaction reference (added by the module
  `base_transaction_id`)

Let's see how the information will be organized with this module.

Customers Invoices / Refunds
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    +-----------------+-----------------+------------------------------+
    | Information     | Invoice field   | Instead of (in base modules) |
    +=================+=================+==============================+
    | Invoice number  | Invoice number  | Invoice number               |
    +-----------------+-----------------+------------------------------+
    | Description     | Name            | --                           |
    +-----------------+-----------------+------------------------------+
    | Internal Ref    | Origin          | Origin                       |
    +-----------------+-----------------+------------------------------+
    | External Ref    | Reference       | Name                         |
    +-----------------+-----------------+------------------------------+

Information propagated to the move lines:

    +-----------------+------------------------------------+
    | Move line field | Invoice field                      |
    +=================+====================================+
    | Description     | Name                               |
    +-----------------+------------------------------------+
    | Reference       | Origin, or Invoice number if empty |
    +-----------------+------------------------------------+


Supplier Invoices / Refunds
~~~~~~~~~~~~~~~~~~~~~~~~~~~

Supplier invoices have an additional field `supplier_invoice_number`
that we consider as redundant with the reference field.  This field is kept
and even set as mandatory, while the reference field is hidden.

    +-----------------+-----------------+------------------------------+
    | Information     | Invoice field   | Instead of (in base modules) |
    +=================+=================+==============================+
    | Invoice number  | Invoice number  | Invoice number               |
    +-----------------+-----------------+------------------------------+
    | Description     | Name            | --                           |
    +-----------------+-----------------+------------------------------+
    | Internal Ref    | Origin          | Origin                       |
    +-----------------+-----------------+------------------------------+
    | External Ref    | Supplier number | Supplier number              |
    +-----------------+-----------------+------------------------------+

The reference field is hidden when the reference type is "free reference",
because it is already filed in the Supplier invoice number.

Information propagated to the move lines:

    +-----------------+---------------------------------------------+
    | Move line field | Invoice field                               |
    +=================+=============================================+
    | Description     | Name                                        |
    +-----------------+---------------------------------------------+
    | Reference       | Supplier number, or Invoice number if empty |
    +-----------------+---------------------------------------------+

 

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
invoice_form account.invoice.form account.invoice xpath Inherits account.invoice_form
invoice_supplier_form account.invoice.supplier.form account.invoice field Inherits account.invoice_supplier_form
Models touched (2)

New fields (0)

No new fields.

Public methods (3)
  • action_number(self)
    @api.multi
  • create(self, vals)
    @api.model@api.returns('self', <expr>)
  • write(self, vals)
    @api.multi

New fields (0)

No new fields.

Public methods (1)
  • create(self, cr, uid, vals, context=None)
REPOSITORY
REPOSITORYOCA/account-reconcile
GIT
GIThttps://github.com/OCA/account-reconcile.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-reconcile/tree/8.0/account_invoice_reference
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYcategory
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSCamptocamp
COMMITTERS
COMMITTERSYannick Vaucher, Guewen Baconnier, Alexandre Fayolle, Leonardo Pistone, Pedro M. Baeza, Stéphane Bidoul (ACSONE), OCA Transbot, oca-travis, OCA-git-bot, Jake Harr
WEBSITE
WEBSITEhttp://www.camptocamp.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:11:26
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - report
    - analytic
    - board
    - edi
    - email_template
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Invoices Reference
==================

Aims to simplify the "references" fields on the invoices.

We observed difficulties for the users to file the references (name,
origin, free reference) and above all, to understand which field will be
copied in the reference field of the move and move lines.

The approach here is to state simple rules with one concern: consistency.
The reference of the move lines must be the number of the document at their
very origin (number of a sales order, of an external document like a supplier
invoice, ...). The goal is for the accountant to be able to trace to the
source document from a ledger).
The description of a line should always be... well, a description. Not a number
or a cryptic reference.

It particularly fits with other modules of the bank-statement-reconcile series
as account_advanced_reconcile_transaction_ref.

Fields
------

Enumerating the information we need in an invoice, we find that the
mandatory fields are:

* Invoice Number
* Description
* Internal Reference ("our reference")
* External Reference ("customer or supplier reference")
* Optionally, a technical transaction reference (credit card payment gateways,
  SEPA, ...)

Now, on the move lines:

* Name
* Reference
* Optionally, a technical transaction reference (added by the module
  `base_transaction_id`)

Let's see how the information will be organized with this module.

Customers Invoices / Refunds
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    +-----------------+-----------------+------------------------------+
    | Information     | Invoice field   | Instead of (in base modules) |
    +=================+=================+==============================+
    | Invoice number  | Invoice number  | Invoice number               |
    +-----------------+-----------------+------------------------------+
    | Description     | Name            | --                           |
    +-----------------+-----------------+------------------------------+
    | Internal Ref    | Origin          | Origin                       |
    +-----------------+-----------------+------------------------------+
    | External Ref    | Reference       | Name                         |
    +-----------------+-----------------+------------------------------+

Information propagated to the move lines:

    +-----------------+------------------------------------+
    | Move line field | Invoice field                      |
    +=================+====================================+
    | Description     | Name                               |
    +-----------------+------------------------------------+
    | Reference       | Origin, or Invoice number if empty |
    +-----------------+------------------------------------+


Supplier Invoices / Refunds
~~~~~~~~~~~~~~~~~~~~~~~~~~~

Supplier invoices have an additional field `supplier_invoice_number`
that we consider as redundant with the reference field.  This field is kept
and even set as mandatory, while the reference field is hidden.

    +-----------------+-----------------+------------------------------+
    | Information     | Invoice field   | Instead of (in base modules) |
    +=================+=================+==============================+
    | Invoice number  | Invoice number  | Invoice number               |
    +-----------------+-----------------+------------------------------+
    | Description     | Name            | --                           |
    +-----------------+-----------------+------------------------------+
    | Internal Ref    | Origin          | Origin                       |
    +-----------------+-----------------+------------------------------+
    | External Ref    | Supplier number | Supplier number              |
    +-----------------+-----------------+------------------------------+

The reference field is hidden when the reference type is "free reference",
because it is already filed in the Supplier invoice number.

Information propagated to the move lines:

    +-----------------+---------------------------------------------+
    | Move line field | Invoice field                               |
    +=================+=============================================+
    | Description     | Name                                        |
    +-----------------+---------------------------------------------+
    | Reference       | Supplier number, or Invoice number if empty |
    +-----------------+---------------------------------------------+

 

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
invoice_form account.invoice.form account.invoice xpath Inherits account.invoice_form
invoice_supplier_form account.invoice.supplier.form account.invoice field Inherits account.invoice_supplier_form
Models touched (2)

New fields (0)

No new fields.

Public methods (3)
  • action_number(self)
    @api.multi
  • create(self, vals)
    @api.model@api.returns('self', <expr>)
  • write(self, vals)
    @api.multi

New fields (0)

No new fields.

Public methods (1)
  • create(self, cr, uid, vals, context=None)
REPOSITORY
REPOSITORYOCA/account-reconcile
GIT
GIThttps://github.com/OCA/account-reconcile.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-reconcile/tree/7.0/account_invoice_reference
VERSION
VERSION 1.0
CATEGORY
CATEGORYcategory
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSCamptocamp
COMMITTERS
COMMITTERSGuewen Baconnier, Alexandre Fayolle, Leonardo Pistone, Pedro M. Baeza, Launchpad Translations on behalf of banking-addons-team, Rudolf Schnapka
WEBSITE
WEBSITEhttp://www.camptocamp.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:07:16
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - process
    - decimal_precision
    - mail
    - analytic
    - board
    - edi
    - email_template
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Invoices Reference
==================

Aims to simplify the "references" fields on the invoices.

We observed difficulties for the users to file the references (name,
origin, free reference) and above all, to understand which field will be
copied in the reference field of the move and move lines.

The approach here is to state simple rules with one concern: consistency.
The reference of the move lines must be the number of the document at their
very origin (number of a sales order, of an external document like a supplier
invoice, ...). The goal is for the accountant to be able to trace to the
source document from a ledger).
The description of a line should always be... well, a description. Not a number
or a cryptic reference.

It particularly fits with other modules of the bank-statement-reconcile series
as account_advanced_reconcile_transaction_ref.

Fields
------

Enumerating the information we need in an invoice, we find that the
mandatory fields are:

* Invoice Number
* Description
* Internal Reference ("our reference")
* External Reference ("customer or supplier reference")
* Optionally, a technical transaction reference (credit card payment gateways,
  SEPA, ...)

Now, on the move lines:

* Name
* Reference
* Optionally, a technical transaction reference (added by the module
  `base_transaction_id`)

Let's see how the information will be organized with this module.

Customers Invoices / Refunds
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    +-----------------+-----------------+------------------------------+
    | Information     | Invoice field   | Instead of (in base modules) |
    +=================+=================+==============================+
    | Invoice number  | Invoice number  | Invoice number               |
    +-----------------+-----------------+------------------------------+
    | Description     | Name            | --                           |
    +-----------------+-----------------+------------------------------+
    | Internal Ref    | Origin          | Origin                       |
    +-----------------+-----------------+------------------------------+
    | External Ref    | Reference       | Name                         |
    +-----------------+-----------------+------------------------------+

Information propagated to the move lines:

    +-----------------+------------------------------------+
    | Move line field | Invoice field                      |
    +=================+====================================+
    | Description     | Name                               |
    +-----------------+------------------------------------+
    | Reference       | Origin, or Invoice number if empty |
    +-----------------+------------------------------------+


Supplier Invoices / Refunds
~~~~~~~~~~~~~~~~~~~~~~~~~~~

Supplier invoices have an additional field `supplier_invoice_number`
that we consider as redundant with the reference field.  This field is kept
and even set as mandatory, while the reference field is hidden.

    +-----------------+-----------------+------------------------------+
    | Information     | Invoice field   | Instead of (in base modules) |
    +=================+=================+==============================+
    | Invoice number  | Invoice number  | Invoice number               |
    +-----------------+-----------------+------------------------------+
    | Description     | Name            | --                           |
    +-----------------+-----------------+------------------------------+
    | Internal Ref    | Origin          | Origin                       |
    +-----------------+-----------------+------------------------------+
    | External Ref    | Supplier number | Supplier number              |
    +-----------------+-----------------+------------------------------+

The reference field is hidden when the reference type is "free reference",
because it is already filed in the Supplier invoice number.

Information propagated to the move lines:

    +-----------------+---------------------------------------------+
    | Move line field | Invoice field                               |
    +=================+=============================================+
    | Description     | Name                                        |
    +-----------------+---------------------------------------------+
    | Reference       | Supplier number, or Invoice number if empty |
    +-----------------+---------------------------------------------+

 

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
invoice_form account.invoice.form account.invoice xpath Inherits account.invoice_form
invoice_supplier_form account.invoice.supplier.form account.invoice field Inherits account.invoice_supplier_form
Models touched (2)

New fields (0)

No new fields.

Public methods (3)
  • action_number(self, cr, uid, ids, context=None)
  • create(self, cr, uid, vals, context=None)
  • write(self, cr, uid, ids, vals, context=None)

New fields (0)

No new fields.

Public methods (1)
  • create(self, cr, uid, vals, context=None)