French Letter of Change

account_payment_fr_lcr
REPOSITORY
REPOSITORYOCA/l10n-france
GIT
GIThttps://github.com/OCA/l10n-france.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-france/tree/19.0/account_payment_fr_lcr
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYFrench localisation
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSAlexis de Lattre, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-france
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:40:51
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-payment:
    - account_payment_method_base
OCA/bank-payment-alternative:
    - account_payment_batch_oca
    - account_payment_base_oca
odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - onboarding
    - product
    - mail
    - bus
    - web_tour
    - html_editor
    - uom
    - analytic
    - portal
    - http_routing
    - auth_signup
    - digest
    - resource
    - base_iban
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES pypdf>=3.1.0
unidecode
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module adds support for French Letters of Change. This module
supports:

- **Direct letter of change** (in French : *Lettre de change directe* or
  *LCR directe*),
- **Accepted letter of change** (in French : *Lettre de change acceptée*
  ; I call it *paper letter of change*),
- **Promissory note** (in French : *Billet à ordre*),

It supports cash discounts debit orders and Dailly convention.

This module has 2 main features:

- for **Accepted Letter of Change**, generate a paper letter of change
  as PDF following the official layout NF K 11-030-1.
- generate of LCR (or BOR) CFONB files to send to your bank.

This module follows the specifications published on the [CFONB
website](https://www.cfonb.org/), section *Espace documentaire \>
Instruments de paiement \> Effet de commerce* (document version of
September 2002).

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
account_payment_method_line_form fr_lcr.account.payment.method.line.form account.payment.method.line group Inherits account_payment_batch_oca.account_payment_method_line_form
account_payment_order_form pain.base.account.payment.order.form account.payment.order field Inherits account_payment_batch_oca.account_payment_order_form
view_move_form account_payment_fr_lcr.view_move_form account.move button Inherits account_payment_batch_oca.view_move_form
Models touched (7)

New fields (5)
  • fr_lcr_attachment_datas Binary
    related='fr_lcr_attachment_id.datas' string='Bill of Exchange File'
  • fr_lcr_attachment_id Many2one → ir.attachment
    string='Bill of Exchange Attachment' args: 'ir.attachment'
  • fr_lcr_attachment_name Char
    related='fr_lcr_attachment_id.name' string='Bill of Exchange Filename'
  • fr_lcr_partner_bank_id Many2one → res.partner.bank
    check_company=True compute='_compute_fr_lcr_partner_bank_id' domain="[('partner_id', '=', commercial_partner_id)]" help='Bank account of the customer that will be debited by the bill of exchange. By default, Odoo selects the first French IBAN bank account of the partner.' readonly=False store=True string='Bill of Exchange Bank Account' tracking=True args: 'res.partner.bank'
  • payment_method_line_fr_lcr_type Selection
    related='preferred_payment_method_line_id.fr_lcr_type' store=True
Public methods (2)
  • fr_lcr_generate_attachment(self)
  • fr_lcr_print(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • draft2open_payment_line_check(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (5)
  • fr_lcr_convention_type Char
    help="Field C1 'Convention Type' in CFONB header line, 6 characters maximum." size=6 string='Convention Type'
  • fr_lcr_dailly Boolean
    string='Dailly Convention'
  • fr_lcr_default_collection_option Selection
    default='due_date' string='Default Collection Option' args: '_fr_lcr_collection_option_selection'
  • fr_lcr_default_dailly_option Selection
    default='none' string='Default Dailly Option' args: '_fr_lcr_dailly_option_selection'
  • fr_lcr_type Selection
    compute='_compute_fr_lcr_type' precompute=True readonly=False store=True string='Bill of Exchange Type' args: [('not_accepted', 'Lettre de change non acceptée (LCR directe)'), ('accepted', 'Lettre de change acceptée'), ('promissory_note', 'Billet à ordre')]
Public methods (0)

No public methods.

New fields (4)
  • fr_lcr_collection_option Selection
    compute='_compute_fr_lcr_fields' precompute=True readonly=False store=True string='Collection Option' args: <expr>
  • fr_lcr_dailly Boolean
    compute='_compute_fr_lcr_fields' precompute=True store=True string='Dailly Convention'
  • fr_lcr_dailly_option Selection
    compute='_compute_fr_lcr_fields' precompute=True readonly=False store=True string='Dailly Option' args: <expr>
  • fr_lcr_value_date Date
    string='Value Date'
Public methods (2)
  • draft2open(self)
  • generate_payment_file(self)
    Creates the LCR CFONB file.

New fields (0)

No new fields.

Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/l10n-france
GIT
GIThttps://github.com/OCA/l10n-france.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-france/tree/18.0/account_payment_fr_lcr
VERSION
VERSION 1.2.0
CATEGORY
CATEGORYFrench localisation
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSAlexis de Lattre, OCA-git-bot, oca-ci, Rémi - Le Filament
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-france
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:19
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-payment:
    - account_payment_method_base
OCA/bank-payment-alternative:
    - account_payment_batch_oca
    - account_payment_base_oca
odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - onboarding
    - product
    - mail
    - bus
    - web_tour
    - html_editor
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - base_iban
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES pypdf>=3.1.0
unidecode
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module adds support for French Letters of Change. This module
supports:

- **Direct letter of change** (in French : *Lettre de change directe* or
  *LCR directe*),
- **Accepted letter of change** (in French : *Lettre de change acceptée*
  ; I call it *paper letter of change*),
- **Promissory note** (in French : *Billet à ordre*),

It supports cash discounts debit orders and Dailly convention.

This module has 2 main features:

- for **Accepted Letter of Change**, generate a paper letter of change
  as PDF following the official layout NF K 11-030-1.
- generate of LCR (or BOR) CFONB files to send to your bank.

This module follows the specifications published on the [CFONB
website](https://www.cfonb.org/), section *Espace documentaire \>
Instruments de paiement \> Effet de commerce* (document version of
September 2002).

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
account_payment_method_line_form fr_lcr.account.payment.method.line.form account.payment.method.line group Inherits account_payment_batch_oca.account_payment_method_line_form
account_payment_order_form pain.base.account.payment.order.form account.payment.order field Inherits account_payment_batch_oca.account_payment_order_form
view_move_form account_payment_fr_lcr.view_move_form account.move button Inherits account_payment_batch_oca.view_move_form
Models touched (7)

New fields (5)
  • fr_lcr_attachment_datas Binary
    related='fr_lcr_attachment_id.datas' string='Bill of Exchange File'
  • fr_lcr_attachment_id Many2one → ir.attachment
    string='Bill of Exchange Attachment' args: 'ir.attachment'
  • fr_lcr_attachment_name Char
    related='fr_lcr_attachment_id.name' string='Bill of Exchange Filename'
  • fr_lcr_partner_bank_id Many2one → res.partner.bank
    check_company=True compute='_compute_fr_lcr_partner_bank_id' domain="[('partner_id', '=', commercial_partner_id)]" help='Bank account of the customer that will be debited by the bill of exchange. By default, Odoo selects the first French IBAN bank account of the partner.' readonly=False store=True string='Bill of Exchange Bank Account' tracking=True args: 'res.partner.bank'
  • payment_method_line_fr_lcr_type Selection
    related='preferred_payment_method_line_id.fr_lcr_type' store=True
Public methods (2)
  • fr_lcr_generate_attachment(self)
  • fr_lcr_print(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • draft2open_payment_line_check(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (5)
  • fr_lcr_convention_type Char
    help="Field C1 'Convention Type' in CFONB header line, 6 characters maximum." size=6 string='Convention Type'
  • fr_lcr_dailly Boolean
    string='Dailly Convention'
  • fr_lcr_default_collection_option Selection
    default='due_date' string='Default Collection Option' args: '_fr_lcr_collection_option_selection'
  • fr_lcr_default_dailly_option Selection
    default='none' string='Default Dailly Option' args: '_fr_lcr_dailly_option_selection'
  • fr_lcr_type Selection
    compute='_compute_fr_lcr_type' precompute=True readonly=False store=True string='Bill of Exchange Type' args: [('not_accepted', 'Lettre de change non acceptée (LCR directe)'), ('accepted', 'Lettre de change acceptée'), ('promissory_note', 'Billet à ordre')]
Public methods (0)

No public methods.

New fields (4)
  • fr_lcr_collection_option Selection
    compute='_compute_fr_lcr_fields' precompute=True readonly=False store=True string='Collection Option' args: <expr>
  • fr_lcr_dailly Boolean
    compute='_compute_fr_lcr_fields' precompute=True store=True string='Dailly Convention'
  • fr_lcr_dailly_option Selection
    compute='_compute_fr_lcr_fields' precompute=True readonly=False store=True string='Dailly Option' args: <expr>
  • fr_lcr_value_date Date
    string='Value Date'
Public methods (2)
  • draft2open(self)
  • generate_payment_file(self)
    Creates the LCR CFONB file.

New fields (0)

No new fields.

Public methods (0)

No public methods.