France - VAT Anti-Fraud Certification for Point of Sale (CGI 286 I-3 bis)

l10n_fr_pos_cert
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/19.0/l10n_fr_pos_cert
VERSION
VERSION 1.1
CATEGORY
CATEGORYAccounting/Localizations/Point of Sale
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLEYes
AUTHORS
AUTHORSOdoo S.A.
MAINTAINERS
MAINTAINERSOdoo S.A.
COMMITTERS
COMMITTERSRaphael Collet, Odoo Translation Bot, Julien Castiaux, Gorash, Mathieu Duckerts-Antoine, David Monnom (moda), Pedram (PEBR), Dylan Kiss (dyki), Majed Alhanash (malh), Loukas Wets (lowe), manv-afk, Jitendra Prajapat, paan-odoo, David Monnom, Krzysztof Magusiak (krma), Akash Pandey, Robin Engels (roen), Hadi El Yakhni, dhruv, vpan-odoo, Bhavik Darji, sjai-odoo, Martin Doyen, NEDJIMAbelgacem, Rebeca Ramírez (lare)
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 01:51:44
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - l10n_fr_account
    - base_iban
    - account
    - base_setup
    - base
    - web
    - onboarding
    - product
    - mail
    - bus
    - web_tour
    - html_editor
    - uom
    - analytic
    - portal
    - http_routing
    - auth_signup
    - digest
    - resource
    - base_vat
    - account_edi_ubl_cii
    - l10n_fr
    - point_of_sale
    - stock_account
    - stock
    - barcodes_gs1_nomenclature
    - barcodes
    - phone_validation
    - partner_autocomplete
    - iap_mail
    - iap
    - iot_base
    - google_address_autocomplete
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This add-on brings the technical requirements of the French regulation CGI art. 286, I. 3° bis that stipulates certain criteria concerning the inalterability, security, storage and archiving of data related to sales to private individuals (B2C).
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Install it if you use the Point of Sale app to sell to individuals.

The module adds following features:

    Inalterability: deactivation of all the ways to cancel or modify key data of POS orders, invoices and journal entries

    Security: chaining algorithm to verify the inalterability

    Storage: automatic sales closings with computation of both period and cumulative totals (daily, monthly, annually)

    Access to download the mandatory Certificate of Conformity delivered by Odoo SA (only for Odoo Enterprise users)

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
form_view_account_sale_closing Sales Closings account.sale.closing form New
list_view_account_sale_closing Sales Closings account.sale.closing list New
pos_order_form_inherit pos.order.form.inherit pos.order xpath Inherits point_of_sale.view_pos_pos_form
report_pos_hash_integrity report_pos_hash_integrity ir.ui.view qweb New
res_config_settings_view_form res.config.settings.view.form.inherit.l10n_fr_pos_cert res.config.settings form Inherits point_of_sale.res_config_settings_view_form
Models touched (8)

New fields (0)

No new fields.

Public methods (1)
  • write(self, vals)

New fields (11)
  • company_id Many2one → res.company
    readonly=True required=True string='Company' args: 'res.company'
  • cumulative_total Monetary
    help='Total in receivable accounts since the beginnig of times' readonly=True required=True string='Cumulative Grand Total'
  • currency_id Many2one → res.currency
    help="The company's currency" readonly=True related='company_id.currency_id' store=True string='Currency' args: 'res.currency'
  • date_closing_start Datetime
    help='Date from which the total interval is computed' readonly=True required=True string='Starting Date'
  • date_closing_stop Datetime
    help='Date to which the values are computed' readonly=True required=True string='Closing Date'
  • frequency Selection
    readonly=True required=True selection=[('daily', 'Daily'), ('monthly', 'Monthly'), ('annually', 'Annual')] string='Closing Type'
  • last_order_hash Char
    readonly=True string="Last Order entry's inalteralbility hash"
  • last_order_id Many2one → pos.order
    help='Last Pos order included in the grand total' readonly=True string='Last Pos Order' args: 'pos.order'
  • name Char
    help='Frequency and unique sequence number' required=True
  • sequence_number Integer
    readonly=True required=True args: 'Sequence #'
  • total_interval Monetary
    help='Total in receivable accounts during the interval, excluding overlapping periods' readonly=True required=True string='Period Total'
Public methods (1)
  • write(self, vals)

New fields (0)

No new fields.

Public methods (1)
  • open_ui(self)

New fields (5)
  • l10n_fr_hash Char
    copy=False readonly=True string='Inalteralbility Hash'
  • l10n_fr_secure_sequence_number Integer
    copy=False readonly=True string='Inalteralbility No Gap Sequence #'
  • l10n_fr_string_to_hash Char
    compute='_compute_string_to_hash' readonly=True store=False
  • pos_version Char
    copy=False help='Version of Odoo that created the order' readonly=True
  • previous_order_id Many2one → pos.order
    compute='_compute_previous_order' copy=False readonly=True store=True string='Previous Order' args: 'pos.order'
Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
  • write(self, vals)

New fields (0)

No new fields.

Public methods (1)
  • write(self, vals)

New fields (0)

No new fields.

Public methods (1)
  • open_frontend_cb(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • l10n_fr_pos_cert_sequence_id Many2one → ir.sequence
    args: 'ir.sequence'
Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
  • write(self, vals)
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/18.0/l10n_fr_pos_cert
VERSION
VERSION 1.1
CATEGORY
CATEGORYAccounting/Localizations/Point of Sale
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLEYes
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSRaphael Collet, Odoo Translation Bot, Xavier Morel, Yannick Tivisse, Gorash, odoo, roen-odoo, Jigar Vaghela, rhe-odoo, Vincent Larcin, David Monnom (moda), alsh-odoo, Dylan Kiss (dyki), Chong Wang (cwg), sovi-odoo, Sarah Bellefroid, Pedram (pebr), Adrien Guilliams (adgu), Louis (wil), mano-odoo, Majed Alhanash (malh), Loukas Wets (lowe), vlst, David Monnom, Nesma Harraz, Akash Pandey, vlst-odoo, Martin Doyen, NEDJIMAbelgacem, Rebeca Ramírez (lare)
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 01:25:57
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - l10n_fr_account
    - base_iban
    - 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_vat
    - l10n_fr
    - point_of_sale
    - stock_account
    - stock
    - barcodes_gs1_nomenclature
    - barcodes
    - phone_validation
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This add-on brings the technical requirements of the French regulation CGI art. 286, I. 3° bis that stipulates certain criteria concerning the inalterability, security, storage and archiving of data related to sales to private individuals (B2C).
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Install it if you use the Point of Sale app to sell to individuals.

The module adds following features:

    Inalterability: deactivation of all the ways to cancel or modify key data of POS orders, invoices and journal entries

    Security: chaining algorithm to verify the inalterability

    Storage: automatic sales closings with computation of both period and cumulative totals (daily, monthly, annually)

    Access to download the mandatory Certificate of Conformity delivered by Odoo SA (only for Odoo Enterprise users)

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
form_view_account_sale_closing Sales Closings account.sale.closing form New
list_view_account_sale_closing Sales Closings account.sale.closing list New
pos_order_form_inherit pos.order.form.inherit pos.order xpath Inherits point_of_sale.view_pos_pos_form
report_pos_hash_integrity report_pos_hash_integrity ir.ui.view qweb New
res_config_settings_view_form res.config.settings.view.form.inherit.l10n_fr_pos_cert res.config.settings form Inherits point_of_sale.res_config_settings_view_form
Models touched (8)

New fields (0)

No new fields.

Public methods (1)
  • write(self, vals)

New fields (11)
  • company_id Many2one → res.company
    readonly=True required=True string='Company' args: 'res.company'
  • cumulative_total Monetary
    help='Total in receivable accounts since the beginnig of times' readonly=True required=True string='Cumulative Grand Total'
  • currency_id Many2one → res.currency
    help="The company's currency" readonly=True related='company_id.currency_id' store=True string='Currency' args: 'res.currency'
  • date_closing_start Datetime
    help='Date from which the total interval is computed' readonly=True required=True string='Starting Date'
  • date_closing_stop Datetime
    help='Date to which the values are computed' readonly=True required=True string='Closing Date'
  • frequency Selection
    readonly=True required=True selection=[('daily', 'Daily'), ('monthly', 'Monthly'), ('annually', 'Annual')] string='Closing Type'
  • last_order_hash Char
    readonly=True string="Last Order entry's inalteralbility hash"
  • last_order_id Many2one → pos.order
    help='Last Pos order included in the grand total' readonly=True string='Last Pos Order' args: 'pos.order'
  • name Char
    help='Frequency and unique sequence number' required=True
  • sequence_number Integer
    readonly=True required=True args: 'Sequence #'
  • total_interval Monetary
    help='Total in receivable accounts during the interval, excluding overlapping periods' readonly=True required=True string='Period Total'
Public methods (1)
  • write(self, vals)

New fields (0)

No new fields.

Public methods (1)
  • open_ui(self)

New fields (5)
  • l10n_fr_hash Char
    copy=False readonly=True string='Inalteralbility Hash'
  • l10n_fr_secure_sequence_number Integer
    copy=False readonly=True string='Inalteralbility No Gap Sequence #'
  • l10n_fr_string_to_hash Char
    compute='_compute_string_to_hash' readonly=True store=False
  • pos_version Char
    copy=False help='Version of Odoo that created the order' readonly=True
  • previous_order_id Many2one → pos.order
    compute='_compute_previous_order' copy=False readonly=True store=True string='Previous Order' args: 'pos.order'
Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
  • write(self, vals)

New fields (0)

No new fields.

Public methods (1)
  • write(self, vals)

New fields (0)

No new fields.

Public methods (1)
  • open_frontend_cb(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • l10n_fr_pos_cert_sequence_id Many2one → ir.sequence
    args: 'ir.sequence'
Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
  • write(self, vals)
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/17.0/l10n_fr_pos_cert
VERSION
VERSION 1.1
CATEGORY
CATEGORYAccounting/Localizations/Point of Sale
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLEYes
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSOdoo Translation Bot, Denis Ledoux, Xavier Morel, qdp-odoo, Victor Feyens, Joseph Caburnay, Samuel Degueldre, Gorash, roen-odoo, pedrambiria, Jacky (trj), william-andre, rhe-odoo, niyasraphy, David Monnom (moda), alsh-odoo, Pedram (PEBR), Louis Wicket (wil), Mahamadasif Ansari, Dylan Kiss (dyki), Jinane Maksoud, Julien Alardot (jual), Michael (mcm), Sarah Bellefroid, Pedram (pebr), Adrien Guilliams (adgu), asno-odoo, Majed Alhanash (malh), Loukas Wets (lowe), vlst, Pulinckx Pierre (PIPU), NEDJIMAbelgacem
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 01:02:08
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - l10n_fr
    - base_iban
    - account
    - base_setup
    - base
    - web
    - onboarding
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - base_vat
    - point_of_sale
    - stock_account
    - stock
    - barcodes_gs1_nomenclature
    - barcodes
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This add-on brings the technical requirements of the French regulation CGI art. 286, I. 3° bis that stipulates certain criteria concerning the inalterability, security, storage and archiving of data related to sales to private individuals (B2C).
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Install it if you use the Point of Sale app to sell to individuals.

The module adds following features:

    Inalterability: deactivation of all the ways to cancel or modify key data of POS orders, invoices and journal entries

    Security: chaining algorithm to verify the inalterability

    Storage: automatic sales closings with computation of both period and cumulative totals (daily, monthly, annually)

    Access to download the mandatory Certificate of Conformity delivered by Odoo SA (only for Odoo Enterprise users)

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
form_view_account_sale_closing Sales Closings account.sale.closing form New
list_view_account_sale_closing Sales Closings account.sale.closing tree New
pos_order_form_inherit pos.order.form.inherit pos.order xpath Inherits point_of_sale.view_pos_pos_form
report_pos_hash_integrity report_pos_hash_integrity ir.ui.view qweb New
res_config_settings_view_form res.config.settings.view.form.inherit.l10n_fr_pos_cert res.config.settings form Inherits point_of_sale.res_config_settings_view_form
Models touched (8)

New fields (0)

No new fields.

Public methods (1)
  • write(self, vals)

New fields (11)
  • company_id Many2one → res.company
    readonly=True required=True string='Company' args: 'res.company'
  • cumulative_total Monetary
    help='Total in receivable accounts since the beginnig of times' readonly=True required=True string='Cumulative Grand Total'
  • currency_id Many2one → res.currency
    help="The company's currency" readonly=True related='company_id.currency_id' store=True string='Currency' args: 'res.currency'
  • date_closing_start Datetime
    help='Date from which the total interval is computed' readonly=True required=True string='Starting Date'
  • date_closing_stop Datetime
    help='Date to which the values are computed' readonly=True required=True string='Closing Date'
  • frequency Selection
    readonly=True required=True selection=[('daily', 'Daily'), ('monthly', 'Monthly'), ('annually', 'Annual')] string='Closing Type'
  • last_order_hash Char
    readonly=True string="Last Order entry's inalteralbility hash"
  • last_order_id Many2one → pos.order
    help='Last Pos order included in the grand total' readonly=True string='Last Pos Order' args: 'pos.order'
  • name Char
    help='Frequency and unique sequence number' required=True
  • sequence_number Integer
    readonly=True required=True args: 'Sequence #'
  • total_interval Monetary
    help='Total in receivable accounts during the interval, excluding overlapping periods' readonly=True required=True string='Period Total'
Public methods (1)
  • write(self, vals)

New fields (0)

No new fields.

Public methods (1)
  • open_ui(self)

New fields (3)
  • l10n_fr_hash Char
    copy=False readonly=True string='Inalteralbility Hash'
  • l10n_fr_secure_sequence_number Integer
    copy=False readonly=True string='Inalteralbility No Gap Sequence #'
  • l10n_fr_string_to_hash Char
    compute='_compute_string_to_hash' readonly=True store=False
Public methods (1)
  • write(self, vals)

New fields (0)

No new fields.

Public methods (1)
  • write(self, vals)

New fields (0)

No new fields.

Public methods (1)
  • open_frontend_cb(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • l10n_fr_pos_cert_sequence_id Many2one → ir.sequence
    args: 'ir.sequence'
Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
  • write(self, vals)
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/16.0/l10n_fr_pos_cert
VERSION
VERSION 1.1
CATEGORY
CATEGORYAccounting/Localizations/Point of Sale
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLEYes
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSMartin Trigaux, Pierre Masereel, Laurent Smet, Victor Feyens, Andrea Grazioso (agr-odoo), Joseph Caburnay, Anh Thao Pham (pta), Gorash, Jérôme Vanhaudenard, roen-odoo, pedrambiria, Jacky (trj), aliya, Abdelouahab (abla), rhe-odoo, niyasraphy, alsh-odoo, Pedram (PEBR), Mahamadasif Ansari, Dylan Kiss (dyki), Jinane Maksoud, Florian Gilbert (flg), Sarah Bellefroid, Adrien Guilliams (adgu), asno-odoo, Majed Alhanash (malh), Loukas Wets (lowe)
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:40:51
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - l10n_fr
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - base_iban
    - base_vat
    - point_of_sale
    - stock_account
    - stock
    - barcodes_gs1_nomenclature
    - barcodes
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This add-on brings the technical requirements of the French regulation CGI art. 286, I. 3° bis that stipulates certain criteria concerning the inalterability, security, storage and archiving of data related to sales to private individuals (B2C).
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Install it if you use the Point of Sale app to sell to individuals.

The module adds following features:

    Inalterability: deactivation of all the ways to cancel or modify key data of POS orders, invoices and journal entries

    Security: chaining algorithm to verify the inalterability

    Storage: automatic sales closings with computation of both period and cumulative totals (daily, monthly, annually)

    Access to download the mandatory Certificate of Conformity delivered by Odoo SA (only for Odoo Enterprise users)

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
form_view_account_sale_closing Sales Closings account.sale.closing form New
list_view_account_sale_closing Sales Closings account.sale.closing tree New
pos_order_form_inherit pos.order.form.inherit pos.order xpath Inherits point_of_sale.view_pos_pos_form
report_pos_hash_integrity report_pos_hash_integrity ir.ui.view qweb New
res_config_settings_view_form res.config.settings.view.form.inherit.l10n_fr_pos_cert res.config.settings form Inherits point_of_sale.res_config_settings_view_form
Models touched (8)

New fields (0)

No new fields.

Public methods (1)
  • write(self, vals)

New fields (11)
  • company_id Many2one → res.company
    readonly=True required=True string='Company' args: 'res.company'
  • cumulative_total Monetary
    help='Total in receivable accounts since the beginnig of times' readonly=True required=True string='Cumulative Grand Total'
  • currency_id Many2one → res.currency
    help="The company's currency" readonly=True related='company_id.currency_id' store=True string='Currency' args: 'res.currency'
  • date_closing_start Datetime
    help='Date from which the total interval is computed' readonly=True required=True string='Starting Date'
  • date_closing_stop Datetime
    help='Date to which the values are computed' readonly=True required=True string='Closing Date'
  • frequency Selection
    readonly=True required=True selection=[('daily', 'Daily'), ('monthly', 'Monthly'), ('annually', 'Annual')] string='Closing Type'
  • last_order_hash Char
    readonly=True string="Last Order entry's inalteralbility hash"
  • last_order_id Many2one → pos.order
    help='Last Pos order included in the grand total' readonly=True string='Last Pos Order' args: 'pos.order'
  • name Char
    help='Frequency and unique sequence number' required=True
  • sequence_number Integer
    readonly=True required=True args: 'Sequence #'
  • total_interval Monetary
    help='Total in receivable accounts during the interval, excluding overlapping periods' readonly=True required=True string='Period Total'
Public methods (1)
  • write(self, vals)

New fields (0)

No new fields.

Public methods (1)
  • open_ui(self)

New fields (3)
  • l10n_fr_hash Char
    copy=False readonly=True string='Inalteralbility Hash'
  • l10n_fr_secure_sequence_number Integer
    copy=False readonly=True string='Inalteralbility No Gap Sequence #'
  • l10n_fr_string_to_hash Char
    compute='_compute_string_to_hash' readonly=True store=False
Public methods (1)
  • write(self, vals)

New fields (0)

No new fields.

Public methods (1)
  • write(self, vals)

New fields (0)

No new fields.

Public methods (1)
  • open_frontend_cb(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • l10n_fr_pos_cert_sequence_id Many2one → ir.sequence
    args: 'ir.sequence'
Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
  • write(self, vals)
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/15.0/l10n_fr_pos_cert
VERSION
VERSION 1.0
CATEGORY
CATEGORYAccounting/Localizations/Point of Sale
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLEYes
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSRaphael Collet, Martin Trigaux, Thibault Delavallée, Yannick Tivisse, Laurent Smet, Xavier-Do, Joseph Caburnay, oco-odoo, Julien Mougenot, Anh Thao Pham (pta), Adrien Widart, Jérôme Vanhaudenard, roen-odoo, Robin Heinz, pedrambiria, Jacky (trj), Abdelouahab (abla), rhe-odoo, alsh-odoo, Karnav Sojitra, Florian Gilbert (flg), Adrien Guilliams (adgu)
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:25:28
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - l10n_fr
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - base_iban
    - base_vat
    - point_of_sale
    - stock_account
    - stock
    - barcodes
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This add-on brings the technical requirements of the French regulation CGI art. 286, I. 3° bis that stipulates certain criteria concerning the inalterability, security, storage and archiving of data related to sales to private individuals (B2C).
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Install it if you use the Point of Sale app to sell to individuals.

The module adds following features:

    Inalterability: deactivation of all the ways to cancel or modify key data of POS orders, invoices and journal entries

    Security: chaining algorithm to verify the inalterability

    Storage: automatic sales closings with computation of both period and cumulative totals (daily, monthly, annually)

    Access to download the mandatory Certificate of Conformity delivered by Odoo SA (only for Odoo Enterprise users)

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
form_view_account_sale_closing Sales Closings account.sale.closing form New
list_view_account_sale_closing Sales Closings account.sale.closing tree New
pos_order_form_inherit pos.order.form.inherit pos.order xpath Inherits point_of_sale.view_pos_pos_form
report_pos_hash_integrity report_pos_hash_integrity ir.ui.view qweb New
view_bank_statement_form_readonly account.bank.statement.form account.bank.statement xpath Inherits account.view_bank_statement_form
Models touched (10)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • write(self, vals)

New fields (11)
  • company_id Many2one → res.company
    readonly=True required=True string='Company' args: 'res.company'
  • cumulative_total Monetary
    help='Total in receivable accounts since the beginnig of times' readonly=True required=True string='Cumulative Grand Total'
  • currency_id Many2one → res.currency
    help="The company's currency" readonly=True related='company_id.currency_id' store=True string='Currency' args: 'res.currency'
  • date_closing_start Datetime
    help='Date from which the total interval is computed' readonly=True required=True string='Starting Date'
  • date_closing_stop Datetime
    help='Date to which the values are computed' readonly=True required=True string='Closing Date'
  • frequency Selection
    readonly=True required=True selection=[('daily', 'Daily'), ('monthly', 'Monthly'), ('annually', 'Annual')] string='Closing Type'
  • last_order_hash Char
    readonly=True string="Last Order entry's inalteralbility hash"
  • last_order_id Many2one → pos.order
    help='Last Pos order included in the grand total' readonly=True string='Last Pos Order' args: 'pos.order'
  • name Char
    help='Frequency and unique sequence number' required=True
  • sequence_number Integer
    readonly=True required=True args: 'Sequence #'
  • total_interval Monetary
    help='Total in receivable accounts during the interval, excluding overlapping periods' readonly=True required=True string='Period Total'
Public methods (1)
  • write(self, vals)

New fields (0)

No new fields.

Public methods (1)
  • open_ui(self)

New fields (3)
  • l10n_fr_hash Char
    copy=False readonly=True string='Inalteralbility Hash'
  • l10n_fr_secure_sequence_number Integer
    copy=False readonly=True string='Inalteralbility No Gap Sequence #'
  • l10n_fr_string_to_hash Char
    compute='_compute_string_to_hash' readonly=True store=False
Public methods (1)
  • write(self, vals)

New fields (0)

No new fields.

Public methods (1)
  • write(self, vals)

New fields (0)

No new fields.

Public methods (1)
  • open_frontend_cb(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • l10n_fr_pos_cert_sequence_id Many2one → ir.sequence
    args: 'ir.sequence'
Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
  • write(self, vals)
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/14.0/l10n_fr_pos_cert
VERSION
VERSION 1.0
CATEGORY
CATEGORYAccounting/Localizations/Point of Sale
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLEYes
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSMartin Trigaux, Christophe Simonis, Xavier Morel, Nicolas Martinelli, qdp-odoo, Pierre Masereel, Laurent Smet, Jorge Pinna Puissant, wan, Xavier-Do, Joseph Caburnay, Florent de Labarre, Adrien Widart, Jérôme Vanhaudenard, Robin Heinz, pedrambiria, Jacky (trj), Jeremy Cormier, Karnav Sojitra, Florian Gilbert (flg)
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:14:30
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - l10n_fr
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - base_iban
    - base_vat
    - point_of_sale
    - stock_account
    - stock
    - barcodes
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This add-on brings the technical requirements of the French regulation CGI art. 286, I. 3° bis that stipulates certain criteria concerning the inalterability, security, storage and archiving of data related to sales to private individuals (B2C).
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Install it if you use the Point of Sale app to sell to individuals.

The module adds following features:

    Inalterability: deactivation of all the ways to cancel or modify key data of POS orders, invoices and journal entries

    Security: chaining algorithm to verify the inalterability

    Storage: automatic sales closings with computation of both period and cumulative totals (daily, monthly, annually)

    Access to download the mandatory Certificate of Conformity delivered by Odoo SA (only for Odoo Enterprise users)

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
assets assets ir.ui.view qweb Inherits point_of_sale.assets
form_view_account_sale_closing Sales Closings account.sale.closing form New
list_view_account_sale_closing Sales Closings account.sale.closing tree New
pos_order_form_inherit pos.order.form.inherit pos.order xpath Inherits point_of_sale.view_pos_pos_form
report_pos_hash_integrity report_pos_hash_integrity ir.ui.view qweb New
view_bank_statement_form_readonly account.bank.statement.form account.bank.statement xpath Inherits account.view_bank_statement_form
Models touched (10)

New fields (0)

No new fields.

Public methods (1)
  • unlink(self)

New fields (0)

No new fields.

Public methods (1)
  • unlink(self)

New fields (0)

No new fields.

Public methods (1)
  • write(self, vals)

New fields (11)
  • company_id Many2one → res.company
    readonly=True required=True string='Company' args: 'res.company'
  • cumulative_total Monetary
    help='Total in receivable accounts since the beginnig of times' readonly=True required=True string='Cumulative Grand Total'
  • currency_id Many2one → res.currency
    help="The company's currency" readonly=True related='company_id.currency_id' store=True string='Currency' args: 'res.currency'
  • date_closing_start Datetime
    help='Date from which the total interval is computed' readonly=True required=True string='Starting Date'
  • date_closing_stop Datetime
    help='Date to which the values are computed' readonly=True required=True string='Closing Date'
  • frequency Selection
    readonly=True required=True selection=[('daily', 'Daily'), ('monthly', 'Monthly'), ('annually', 'Annual')] string='Closing Type'
  • last_order_hash Char
    readonly=True string="Last Order entry's inalteralbility hash"
  • last_order_id Many2one → pos.order
    help='Last Pos order included in the grand total' readonly=True string='Last Pos Order' args: 'pos.order'
  • name Char
    help='Frequency and unique sequence number' required=True
  • sequence_number Integer
    readonly=True required=True args: 'Sequence #'
  • total_interval Monetary
    help='Total in receivable accounts during the interval, excluding overlapping periods' readonly=True required=True string='Period Total'
Public methods (2)
  • unlink(self)
  • write(self, vals)

New fields (0)

No new fields.

Public methods (1)
  • open_ui(self)

New fields (3)
  • l10n_fr_hash Char
    copy=False readonly=True string='Inalteralbility Hash'
  • l10n_fr_secure_sequence_number Integer
    copy=False readonly=True string='Inalteralbility No Gap Sequence #'
  • l10n_fr_string_to_hash Char
    compute='_compute_string_to_hash' readonly=True store=False
Public methods (2)
  • unlink(self)
  • write(self, vals)

New fields (0)

No new fields.

Public methods (1)
  • write(self, vals)

New fields (0)

No new fields.

Public methods (1)
  • open_frontend_cb(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • l10n_fr_pos_cert_sequence_id Many2one → ir.sequence
    args: 'ir.sequence'
Public methods (2)
  • create(self, vals)
    @api.model
  • write(self, vals)
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/13.0/l10n_fr_pos_cert
VERSION
VERSION 1.0
CATEGORY
CATEGORYAccounting/Accounting
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLEYes
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSMartin Trigaux, Christophe Simonis, Nicolas Martinelli, Damien Bouvy, Yannick Tivisse, Pierre Masereel, Jorge Pinna Puissant, Adrian Torres, Xavier-Do, Andrea Grazioso (agr-odoo), pedrambiria, Florian Gilbert
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:06:43
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - l10n_fr
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - base_iban
    - base_vat
    - point_of_sale
    - stock_account
    - stock
    - barcodes
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This add-on brings the technical requirements of the French regulation CGI art. 286, I. 3° bis that stipulates certain criteria concerning the inalterability, security, storage and archiving of data related to sales to private individuals (B2C).
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Install it if you use the Point of Sale app to sell to individuals.

The module adds following features:

    Inalterability: deactivation of all the ways to cancel or modify key data of POS orders, invoices and journal entries

    Security: chaining algorithm to verify the inalterability

    Storage: automatic sales closings with computation of both period and cumulative totals (daily, monthly, annually)

    Access to download the mandatory Certificate of Conformity delivered by Odoo SA (only for Odoo Enterprise users)

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
assets assets ir.ui.view qweb Inherits point_of_sale.assets
form_view_account_sale_closing Sales Closings account.sale.closing form New
list_view_account_sale_closing Sales Closings account.sale.closing tree New
pos_order_form_inherit pos.order.form.inherit pos.order xpath Inherits point_of_sale.view_pos_pos_form
report_pos_hash_integrity report_pos_hash_integrity ir.ui.view qweb New
view_bank_statement_form_readonly account.bank.statement.form account.bank.statement xpath Inherits account.view_bank_statement_form
Models touched (10)

New fields (0)

No new fields.

Public methods (1)
  • unlink(self)

New fields (0)

No new fields.

Public methods (1)
  • unlink(self)

New fields (0)

No new fields.

Public methods (1)
  • write(self, vals)

New fields (11)
  • company_id Many2one → res.company
    readonly=True required=True string='Company' args: 'res.company'
  • cumulative_total Monetary
    help='Total in receivable accounts since the beginnig of times' readonly=True required=True string='Cumulative Grand Total'
  • currency_id Many2one → res.currency
    help="The company's currency" readonly=True related='company_id.currency_id' store=True string='Currency' args: 'res.currency'
  • date_closing_start Datetime
    help='Date from which the total interval is computed' readonly=True required=True string='Starting Date'
  • date_closing_stop Datetime
    help='Date to which the values are computed' readonly=True required=True string='Closing Date'
  • frequency Selection
    readonly=True required=True selection=[('daily', 'Daily'), ('monthly', 'Monthly'), ('annually', 'Annual')] string='Closing Type'
  • last_order_hash Char
    readonly=True string="Last Order entry's inalteralbility hash"
  • last_order_id Many2one → pos.order
    help='Last Pos order included in the grand total' readonly=True string='Last Pos Order' args: 'pos.order'
  • name Char
    help='Frequency and unique sequence number' required=True
  • sequence_number Integer
    readonly=True required=True args: 'Sequence #'
  • total_interval Monetary
    help='Total in receivable accounts during the interval, excluding overlapping periods' readonly=True required=True string='Period Total'
Public methods (2)
  • unlink(self)
  • write(self, vals)

New fields (0)

No new fields.

Public methods (1)
  • open_ui(self)

New fields (3)
  • l10n_fr_hash Char
    copy=False readonly=True string='Inalteralbility Hash'
  • l10n_fr_secure_sequence_number Integer
    copy=False readonly=True string='Inalteralbility No Gap Sequence #'
  • l10n_fr_string_to_hash Char
    compute='_compute_string_to_hash' readonly=True store=False
Public methods (2)
  • unlink(self)
  • write(self, vals)

New fields (0)

No new fields.

Public methods (1)
  • write(self, vals)

New fields (0)

No new fields.

Public methods (1)
  • open_frontend_cb(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • l10n_fr_pos_cert_sequence_id Many2one → ir.sequence
    args: 'ir.sequence'
Public methods (2)
  • create(self, vals)
    @api.model
  • write(self, vals)
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/12.0/l10n_fr_pos_cert
VERSION
VERSION 1.0
CATEGORY
CATEGORYAccounting
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSFabien Pinckaers, Denis Ledoux, Christophe Simonis, Xavier-Do
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-05 23:57:01
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - l10n_fr_sale_closing
    - l10n_fr_certification
    - l10n_fr
    - account
    - base_setup
    - base
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - http_routing
    - digest
    - base_iban
    - base_vat
    - point_of_sale
    - stock_account
    - stock
    - barcodes
    - web_editor
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This add-on brings the technical requirements of the French regulation CGI art. 286, I. 3° bis that stipulates certain criteria concerning the inalterability, security, storage and archiving of data related to sales to private individuals (B2C).
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Install it if you use the Point of Sale app to sell to individuals.

The module adds following features:

    Inalterability: deactivation of all the ways to cancel or modify key data of POS orders, invoices and journal entries

    Security: chaining algorithm to verify the inalterability

    Storage: automatic sales closings with computation of both period and cumulative totals (daily, monthly, annually)

    Access to download the mandatory Certificate of Conformity delivered by Odoo SA (only for Odoo Enterprise users)

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
view_bank_statement_form_readonly account.bank.statement.form account.bank.statement xpath Inherits account.view_bank_statement_form
Models touched (8)

New fields (0)

No new fields.

Public methods (1)
  • unlink(self)
    @api.multi

New fields (0)

No new fields.

Public methods (1)
  • unlink(self)
    @api.multi

New fields (0)

No new fields.

Public methods (1)
  • write(self, vals)

New fields (0)

No new fields.

Public methods (1)
  • open_ui(self)
    @api.multi

New fields (3)
  • l10n_fr_hash Char
    copy=False readonly=True string='Inalteralbility Hash'
  • l10n_fr_secure_sequence_number Integer
    copy=False readonly=True string='Inalteralbility No Gap Sequence #'
  • l10n_fr_string_to_hash Char
    compute='_compute_string_to_hash' readonly=True store=False
Public methods (1)
  • write(self, vals)
    @api.multi

New fields (0)

No new fields.

Public methods (1)
  • write(self, vals)
    @api.multi

New fields (0)

No new fields.

Public methods (1)
  • open_frontend_cb(self)
    @api.multi

New fields (1)
  • l10n_fr_pos_cert_sequence_id Many2one → ir.sequence
    args: 'ir.sequence'
Public methods (2)
  • create(self, vals)
    @api.model
  • write(self, vals)
    @api.multi
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/11.0/l10n_fr_pos_cert
VERSION
VERSION 1.0
CATEGORY
CATEGORYLocalization
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSDenis Ledoux, Christophe Simonis, Nicolas Martinelli, Richard Mathot, qdp-odoo, Pierre Masereel
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-05 23:53:43
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - l10n_fr_sale_closing
    - l10n_fr_certification
    - l10n_fr
    - account
    - base_setup
    - base
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - analytic
    - web_planner
    - portal
    - http_routing
    - base_iban
    - base_vat
    - point_of_sale
    - stock_account
    - stock
    - barcodes
    - web_editor
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This add-on brings the technical requirements of the French regulation CGI art. 286, I. 3° bis that stipulates certain criteria concerning the inalterability, security, storage and archiving of data related to sales to private individuals (B2C).
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Install it if you use the Point of Sale app to sell to individuals.

The module adds following features:

    Inalterability: deactivation of all the ways to cancel or modify key data of POS orders, invoices and journal entries

    Security: chaining algorithm to verify the inalterability

    Storage: automatic sales closings with computation of both period and cumulative totals (daily, monthly, annually)

    Access to download the mandatory Certificate of Conformity delivered by Odoo SA (only for Odoo Enterprise users)

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
view_bank_statement_form_readonly account.bank.statement.form account.bank.statement xpath Inherits account.view_bank_statement_form
Models touched (8)

New fields (0)

No new fields.

Public methods (1)
  • unlink(self)
    @api.multi

New fields (0)

No new fields.

Public methods (1)
  • unlink(self)
    @api.multi

New fields (0)

No new fields.

Public methods (1)
  • write(self, vals)

New fields (0)

No new fields.

Public methods (1)
  • open_ui(self)
    @api.multi

New fields (3)
  • l10n_fr_hash Char
    copy=False readonly=True string='Inalteralbility Hash'
  • l10n_fr_secure_sequence_number Integer
    copy=False readonly=True string='Inalteralbility No Gap Sequence #'
  • l10n_fr_string_to_hash Char
    compute='_compute_string_to_hash' readonly=True store=False
Public methods (1)
  • write(self, vals)
    @api.multi

New fields (0)

No new fields.

Public methods (1)
  • write(self, vals)
    @api.multi

New fields (0)

No new fields.

Public methods (1)
  • open_frontend_cb(self)
    @api.multi

New fields (1)
  • l10n_fr_pos_cert_sequence_id Many2one → ir.sequence
    args: 'ir.sequence'
Public methods (2)
  • create(self, vals)
    @api.model
  • write(self, vals)
    @api.multi
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/10.0/l10n_fr_pos_cert
VERSION
VERSION 1.0
CATEGORY
CATEGORYLocalization
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSChristophe Simonis, Nicolas Martinelli
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-05 23:50:48
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - l10n_fr_sale_closing
    - l10n_fr_certification
    - l10n_fr
    - base_iban
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - report
    - analytic
    - web_planner
    - base_vat
    - point_of_sale
    - stock_account
    - stock
    - procurement
    - barcodes
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This add-on brings the technical requirements of the French regulation CGI art. 286, I. 3° bis that stipulates certain criteria concerning the inalterability, security, storage and archiving of data related to sales to private individuals (B2C).
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Install it if you use the Point of Sale app to sell to individuals.

The module adds following features:

    Inalterability: deactivation of all the ways to cancel or modify key data of POS orders, invoices and journal entries

    Security: chaining algorithm to verify the inalterability

    Storage: automatic sales closings with computation of both period and cumulative totals (daily, monthly, annually)

    Access to download the mandatory Certificate of Conformity delivered by Odoo SA (only for Odoo Enterprise users)

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
view_bank_statement_form_readonly account.bank.statement.form account.bank.statement xpath Inherits account.view_bank_statement_form
Models touched (8)

New fields (0)

No new fields.

Public methods (1)
  • unlink(self)
    @api.multi

New fields (0)

No new fields.

Public methods (1)
  • unlink(self)
    @api.multi

New fields (0)

No new fields.

Public methods (1)
  • write(self, vals)

New fields (0)

No new fields.

Public methods (1)
  • open_ui(self)
    @api.multi

New fields (3)
  • l10n_fr_hash Char
    copy=False readonly=True string='Inalteralbility Hash'
  • l10n_fr_secure_sequence_number Integer
    copy=False readonly=True string='Inalteralbility No Gap Sequence #'
  • l10n_fr_string_to_hash Char
    compute='_compute_string_to_hash' readonly=True store=False
Public methods (1)
  • write(self, vals)
    @api.multi

New fields (0)

No new fields.

Public methods (1)
  • write(self, vals)
    @api.multi

New fields (0)

No new fields.

Public methods (1)
  • open_frontend_cb(self)
    @api.multi

New fields (1)
  • l10n_fr_pos_cert_sequence_id Many2one → ir.sequence
    args: 'ir.sequence'
Public methods (2)
  • create(self, vals)
    @api.model
  • write(self, vals)
    @api.multi
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/9.0/l10n_fr_pos_cert
VERSION
VERSION 1.0
CATEGORY
CATEGORYLocalization
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSMartin Trigaux, Christophe Simonis, qdp-odoo
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-05 23:48:30
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - l10n_fr_sale_closing
    - l10n_fr_certification
    - l10n_fr
    - base_iban
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - report
    - analytic
    - web_tip
    - web_planner
    - base_vat
    - point_of_sale
    - sale_stock
    - sale
    - sales_team
    - procurement
    - stock_account
    - stock
    - barcodes
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This add-on brings the technical requirements of the French regulation CGI art. 286, I. 3° bis that stipulates certain criteria concerning the inalterability, security, storage and archiving of data related to sales to private individuals (B2C).
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Install it if you use the Point of Sale app to sell to individuals.

The module adds following features:

    Inalterability: deactivation of all the ways to cancel or modify key data of POS orders, invoices and journal entries

    Security: chaining algorithm to verify the inalterability

    Storage: automatic sales closings with computation of both period and cumulative totals (daily, monthly, annually)

    Access to download the mandatory Certificate of Conformity delivered by Odoo SA (only for Odoo Enterprise users)

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
view_bank_statement_form_readonly account.bank.statement.form account.bank.statement xpath Inherits account.view_bank_statement_form
Models touched (7)

New fields (0)

No new fields.

Public methods (1)
  • unlink(self)
    @api.multi

New fields (0)

No new fields.

Public methods (1)
  • unlink(self)
    @api.multi

New fields (0)

No new fields.

Public methods (1)
  • open_ui(self)
    @api.multi

New fields (3)
  • l10n_fr_hash Char
    copy=False readonly=True string='Inalteralbility Hash'
  • l10n_fr_secure_sequence_number Integer
    copy=False readonly=True string='Inalteralbility No Gap Sequence #'
  • l10n_fr_string_to_hash Char
    compute='_compute_string_to_hash' readonly=True store=False
Public methods (1)
  • write(self, vals)
    @api.multi

New fields (0)

No new fields.

Public methods (1)
  • write(self, vals)
    @api.multi

New fields (0)

No new fields.

Public methods (1)
  • open_frontend_cb(self)
    @api.multi

New fields (1)
  • l10n_fr_pos_cert_sequence_id Many2one → ir.sequence
    args: 'ir.sequence'
Public methods (2)
  • create(self, vals)
    @api.model
  • write(self, vals)
    @api.multi