TIP: You can type at any time to perform a new search.
L10n FR Chorus
l10n_fr_chorus_account · OCA/l10n-france
- Repository
- OCA/l10n-france · module folder · Try on Runboat
- Module version
- 1.2.0
- Category
- French Localization
- Folder size
- 1.01 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/l10n-france
- Last tracking update
- 2026-08-07 08:43:01
- Authors
- Akretion, Odoo Community Association (OCA)
- Maintainers
- Akretion, Odoo Community Association (OCA)
- Committers
- Alexis de Lattre, Florian da Costa, Weblate, OCA-git-bot, oca-ci, Olivier Bitsch
- Odoo dependencies
- Python dependencies
- requests_oauthlib, python-stdnum
- System dependencies
- None
- Required by
- l10n_fr_chorus_facturx, l10n_fr_chorus_sale
- Description
This is the base module for the support of [Chorus Pro](https://chorus-pro.gouv.fr/), the electronic invoicing plateform of the French administration. Chorus Pro specifications are available on [Chorus Pro Community website](https://communaute-chorus-pro.finances.gouv.fr/). All the suppliers of the French administration must send their invoices through Chorus Pro. To know more about Chorus and the obligation to send electronic invoices to the French administration, read [the dedicated page](https://www.economie.gouv.fr/entreprises/marches-publics-facture-electronique) on the website of the Ministry of Economic Affairs. To be able to generate an electronic invoice for Chorus, you need the module *l10n_fr_chorus_factur-x* or *l10n_fr_chorus_ubl*.
Code Analysis ⓘ
Views touched (12)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
account_invoice_chorus_send_form |
account.invoice.chorus.send | form | New | |
chorus_flow_form |
chorus.flow.form | chorus.flow | form | New |
chorus_flow_search |
chorus.flow.search | chorus.flow | search | New |
chorus_flow_tree |
chorus.flow.list | chorus.flow | list | New |
chorus_partner_service_form |
chorus.partner.service.form | chorus.partner.service | form | New |
chorus_partner_service_search |
chorus.partner.service.search | chorus.partner.service | search | New |
chorus_partner_service_tree |
chorus.partner.service.tree | chorus.partner.service | list | New |
res_config_settings_view_form |
chorus.account.res.settings.form | res.config.settings | form | Inherits account.res_config_settings_view_form |
view_account_invoice_filter |
Chorus groupby on Invoice search view | account.move | Inherits account.view_account_invoice_filter | |
view_invoice_tree |
account.move | tree | Inherits account.view_invoice_tree | |
view_move_form |
Chorus support on Customer Invoice form view | account.move | form | Inherits account.view_move_form |
view_partner_form |
chorus.res.partner.form | res.partner | form | Inherits account.view_partner_property_form |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (7)
New fields (4)
-
chorus_invoice_formatSelectionrelated='company_id.fr_chorus_invoice_format' -
company_idMany2one → res.companyreadonly=Truestring='Company' args: 'res.company' -
invoice_countIntegerreadonly=Truestring='Number of Invoices' -
invoice_idsMany2many → account.movecheck_company=Truereadonly=Truestring='Invoices to Send' args: 'account.move'
-
default_get(self, fields_list)@api.model -
run(self)
New fields (7)
-
chorus_attachment_idsMany2many → ir.attachmentcheck_company=Truecopy=Falsestring='Chorus Attachments' args: 'ir.attachment', 'account_move_chorus_ir_attachment_rel' -
chorus_flow_idMany2one → chorus.flowcheck_company=Truecopy=Falsereadonly=Truestring='Chorus Flow'tracking=True args: 'chorus.flow' -
chorus_identifierIntegercopy=Falsereadonly=Truestring='Chorus Invoice Identifier'tracking=True -
chorus_service_codeCharrelated='partner_id.fr_chorus_service_id.code'store=Truestring='Chorus Service Code' -
chorus_statusCharcopy=Falsereadonly=Truestring='Chorus Invoice Status'tracking=True -
chorus_status_dateDatetimecopy=Falsereadonly=Truestring='Last Chorus Invoice Status Update' -
invoice_sending_methodSelectionrelated='commercial_partner_id.invoice_sending_method'store=True
-
chorus_update_invoice_status(self)Called by a button on the invoice or by cron
New fields (12)
-
attachment_idMany2one → ir.attachmentcheck_company=Truecopy=Falsereadonly=Truestring='File Sent to Chorus' args: 'ir.attachment' -
company_idMany2one → res.companydefault=<expr>readonly=Truerequired=Truestring='Company' args: 'res.company' -
dateDatecopy=Falsereadonly=Truerequired=True args: 'Flow Date' -
initial_invoice_idsMany2many → account.movecheck_company=Truehelp='Invoices in the flow before potential rejections'readonly=Truestring='Initial Invoices' args: 'account.move', 'chorus_flow_initial_account_move_rel', 'chorus_flow_id', 'move_id' -
invoice_identifiersBooleancompute='_compute_invoice_identifiers'readonly=Truestore=True -
invoice_idsOne2many → account.movehelp='Invoices in the flow after potential rejections'readonly=Truestring='Invoices' args: 'account.move', 'chorus_flow_id' -
nameCharcopy=Falsereadonly=Truerequired=True args: 'Flow Ref' -
notesTextcopy=Falsereadonly=True -
statusCharcopy=Falsereadonly=Truestring='Flow Status (raw value)' -
status_dateDatetimecopy=Falsereadonly=Truestring='Last Status Update' -
status_displayCharcompute='_compute_status_display'store=Truestring='Flow Status' -
syntaxSelectioncopy=Falsereadonly=Truestring='Flow Syntax' args: []
-
chorus_cron(self)@api.model -
get_invoice_identifiers(self)Called by a button or cron -
syntax_odoo2chorus(self)@api.model -
update_flow_status(self)Called by a button on the flow or by cron
New fields (6)
-
activeBooleandefault=True -
chorus_identifierIntegerreadonly=True -
codeCharrequired=Truestring='Service Code' -
engagement_requiredBoolean -
nameCharrequired=Truestring='Service Name' -
partner_idMany2one → res.partnerdomain=[('parent_id', '=', False)]ondelete='cascade'string='Customer' args: 'res.partner'
-
service_update(self)
New fields (6)
-
fr_chorus_api_loginChargroups='base.group_system'string='Chorus Technical User Login' -
fr_chorus_api_passwordChargroups='base.group_system'string='Chorus Technical User Password' -
fr_chorus_check_commitment_numberBooleanhelp="If enabled, Odoo will check the commitment number upon invoice validation. This commitment number must be set in the field 'Customer Reference' of the invoice. It will also check it upon sale order validation if the module l10n_fr_chorus_sale is installed."string='Check Commitment Numbers' -
fr_chorus_expiry_remind_user_idsMany2many → res.usersstring='Users Receiving the Expiry Reminder' args: 'res.users', 'fr_chorus_api_expiry_remind_user_rel', 'company_id', 'user_id' -
fr_chorus_invoice_formatSelectionstring='Chorus Invoice Format' args: [] -
fr_chorus_pwd_expiry_dateDatestring='Chorus Technical User Password Expiry Date'
-
chorus_api_expiry_reminder_cron(self)@api.model -
chorus_expiry_remind_user_list(self)
New fields (8)
-
fr_chorus_api_loginCharreadonly=Falserelated='company_id.fr_chorus_api_login' -
fr_chorus_api_passwordCharreadonly=Falserelated='company_id.fr_chorus_api_password' -
fr_chorus_check_commitment_numberBooleanreadonly=Falserelated='company_id.fr_chorus_check_commitment_number' -
fr_chorus_expiry_remind_user_idsMany2manyreadonly=Falserelated='company_id.fr_chorus_expiry_remind_user_ids' -
fr_chorus_invoice_formatSelectionreadonly=Falserelated='company_id.fr_chorus_invoice_format' -
fr_chorus_pwd_expiry_dateDatereadonly=Falserelated='company_id.fr_chorus_pwd_expiry_date' -
fr_chorus_qualifBooleandefault=<expr>readonly=Truestring='Use Chorus Qualification Platform' -
group_chorus_apiBooleanhelp="If you select 'Use Chorus Pro API', it will add all users to the Chorus API group."implied_group='l10n_fr_chorus_account.group_chorus_api'string='Use Chorus Pro API'
-
fr_chorus_test_api(self)
New fields (6)
-
fr_chorus_identifierIntegerreadonly=True args: 'Chorus Identifier' -
fr_chorus_requiredSelectioncompute='_compute_fr_chorus_required'readonly=Falsestore=Truestring='Info Required for Chorus'tracking=True args: [('none', 'None'), ('service', 'Service'), ('engagement', 'Engagement'), ('service_or_engagement', 'Service or Engagement'), ('service_and_engagement', 'Service and Engagement')] -
fr_chorus_service_countIntegercompute='_compute_fr_chorus_service_count'readonly=Truestring='Number of Chorus Services' -
fr_chorus_service_idMany2one → chorus.partner.serviceondelete='restrict'string='Chorus Service'tracking=True args: 'chorus.partner.service' -
fr_chorus_service_idsOne2many → chorus.partner.servicestring='Chorus Services' args: 'chorus.partner.service', 'partner_id' -
invoice_sending_methodSelectionondelete={'fr_chorus': 'set null'}selection_add=[('fr_chorus', 'Chorus Pro')]
-
chorus_cron(self)@api.model -
fr_chorus_identifier_and_required_button(self) -
fr_chorus_identifier_get(self) -
fr_chorus_required_get(self) -
fr_chorus_services_get(self)
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…