DAS2

l10n_fr_das2
REPOSITORY
REPOSITORYOCA/l10n-france
GIT
GIThttps://github.com/OCA/l10n-france.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-france/tree/18.0/l10n_fr_das2
VERSION
VERSION 2.0.0
CATEGORY
CATEGORYInvoicing Management
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, Weblate, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-france
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:19
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/l10n-france:
    - l10n_fr_siret_account
    - l10n_fr_siret
    - l10n_fr_cog
OCA/server-tools:
    - base_view_inheritance_extension
odoo/odoo:
    - l10n_fr
    - base
    - l10n_fr_account
    - base_iban
    - account
    - base_setup
    - web
    - onboarding
    - product
    - mail
    - bus
    - web_tour
    - html_editor
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - base_vat
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES pyfrdas2>=0.10
python-stdnum
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module adds support for `DAS2
<https://www.impots.gouv.fr/portail/formulaire/das2/etat-des-honoraires-vacations-commissions-courtages-ristournes-et-jetons>`_____,
which is an annual fiscal declaration also called *Déclaration
d'honoraires*. It will allow you to auto-generate the lines of DAS2 from
the accounting entries, check the result, manually update lines if
needed and eventually generate a declaration file. Then send the
declaration file to the French tax office via your professional account
on *impots.gouv.fr*

The specifications of the file are available on [this
page](https://www.impots.gouv.fr/les-cahiers-des-charges-tdbilateral).

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
l10n_fr_das2_form l10n.fr.das2.form l10n.fr.das2 form New
l10n_fr_das2_line_form l10n.fr.das2.line.form l10n.fr.das2.line form New
l10n_fr_das2_line_search l10n.fr.das2.line.search l10n.fr.das2.line search New
l10n_fr_das2_line_tree l10n.fr.das2.line.list l10n.fr.das2.line list New
l10n_fr_das2_search l10n.fr.das2.search l10n.fr.das2 search New
l10n_fr_das2_tree l10n.fr.das2.list l10n.fr.das2 list New
view_partner_property_form l10n.fr.das2.res.partner.form res.partner group Inherits account.view_partner_property_form
view_res_partner_filter l10n.fr.das2.res.partner.search res.partner filter Inherits base.view_res_partner_filter
Models touched (3)

New fields (14)
  • attachment_datas Binary
    related='attachment_id.datas' string='Declaration File'
  • attachment_id Many2one → ir.attachment
    readonly=True args: 'ir.attachment'
  • attachment_name Char
    related='attachment_id.name' string='Filename'
  • company_id Many2one → res.company
    default=<expr> ondelete='cascade' required=True args: 'res.company'
  • contact_id Many2one → res.partner
    default=<expr> help='Contact in the company for the fiscal administration: the name, email and phone number of this partner will be used in the file.' string='Administrative Contact' tracking=True args: 'res.partner'
  • currency_id Many2one
    related='company_id.currency_id' store=True string='Company Currency'
  • dads_type Selection
    default=<expr> required=True tracking=True args: [('4', 'La société verse des salaires'), ('1', 'La société ne verse pas de salaires')], 'DADS Type'
  • line_ids One2many → l10n.fr.das2.line
    string='Lines' args: 'l10n.fr.das2.line', 'parent_id'
  • partner_declare_threshold Integer
    compute='_compute_partner_declare_threshold' precompute=True store=True string='Partner Declaration Threshold'
  • payment_journal_ids Many2many → account.journal
    check_company=True default=<expr> domain="[('company_id', '=', company_id)]" required=True string='Payment Journals' args: 'account.journal'
  • state Selection
    default='draft' index=True readonly=True tracking=True args: [('draft', 'Draft'), ('done', 'Done')]
  • unencrypted_attachment_id Many2one → ir.attachment
    readonly=True string='Unencrypted Attachment' args: 'ir.attachment'
  • warning_msg Html
    readonly=True
  • year Integer
    default=<expr> index=True required=True tracking=True
Public methods (7)
  • back2draft(self)
  • button_lines_fullscreen(self)
  • done(self)
  • generate_file_and_attach(self, encryption='prod')
  • generate_lines(self)
  • generate_warning_msg(self, das2_partners)
  • unlink(self)

New fields (29)
  • allowance_amount Integer
    string='Indemnités et remboursements'
  • allowance_employer Boolean
    args: "Prise en charge directe par l'employeur"
  • allowance_fixed Boolean
    args: 'Allocation forfaitaire'
  • allowance_real Boolean
    args: 'Sur frais réels'
  • attendance_fee_amount Integer
    string='Jetons de présence'
  • benefits_in_kind_accomodation Boolean
    args: 'Logement'
  • benefits_in_kind_amount Integer
    string='Avantages en nature'
  • benefits_in_kind_car Boolean
    args: 'Voiture'
  • benefits_in_kind_food Boolean
    args: 'Nourriture'
  • benefits_in_kind_nict Boolean
    args: 'Outils issus des NTIC'
  • benefits_in_kind_other Boolean
    args: 'Autres'
  • brokerage_amount Integer
    string='Courtages'
  • commission_amount Integer
    string='Commissions'
  • company_id Many2one
    related='parent_id.company_id' store=True
  • copyright_royalties_amount Integer
    string="Droits d'auteur"
  • currency_id Many2one
    related='parent_id.company_id.currency_id' store=True string='Company Currency'
  • discount_amount Integer
    string='Ristournes'
  • fee_amount Integer
    string='Honoraires et vacations'
  • job Char
    compute='_compute_job' precompute=True readonly=False size=30 store=True string='Profession'
  • licence_royalties_amount Integer
    string="Droits d'inventeur"
  • note Html
  • other_income_amount Integer
    string='Autres rémunérations'
  • parent_id Many2one → l10n.fr.das2
    ondelete='cascade' string='DAS2 Report' args: 'l10n.fr.das2'
  • partner_id Many2one → res.partner
    domain=[('parent_id', '=', False)] ondelete='restrict' required=True string='Supplier' args: 'res.partner'
  • partner_siret Char
    compute='_compute_partner_siret' precompute=True readonly=False size=14 store=True string='SIRET'
  • state Selection
    related='parent_id.state' store=True
  • to_declare Boolean
    compute='_compute_total_amount' readonly=True store=True
  • total_amount Integer
    compute='_compute_total_amount' readonly=True store=True
  • withholding_tax_amount Integer
    string='Retenue à la source'
Public methods (0)

No public methods.

New fields (2)
  • fr_das2_job Char
    help="Used in the field 'Profession' of DAS2." size=30 string='DAS2 Job'
  • fr_das2_type Selection
    string='DAS2 Type' tracking=100 args: [('fee', 'Honoraires et vacations'), ('commission', 'Commissions'), ('brokerage', 'Courtages'), ('discount', 'Ristournes'), ('attendance_fee', 'Jetons de présence'), ('copyright_royalties', "Droits d'auteur"), ('licence_royalties', "Droits d'inventeur"), ('other_income', 'Autres rémunérations'), ('allowance', 'Indemnités et remboursements')]
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/17.0/l10n_fr_das2
VERSION
VERSION 3.0.0
CATEGORY
CATEGORYInvoicing Management
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, Daniel Reis, Weblate, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-france
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:20:11
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/l10n-france:
    - l10n_fr_siret
    - l10n_fr_cog
OCA/server-tools:
    - base_view_inheritance_extension
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
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES pyfrdas2>=0.10
python-stdnum
python-stdnum>=1.18
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module adds support for `DAS2
<https://www.impots.gouv.fr/portail/formulaire/das2/etat-des-honoraires-vacations-commissions-courtages-ristournes-et-jetons>`_____,
which is an annual fiscal declaration also called *Déclaration
d'honoraires*. It will allow you to auto-generate the lines of DAS2 from
the accounting entries, check the result, manually update lines if
needed and eventually generate a declaration file. Then send the
declaration file to the French tax office via your professional account
on *impots.gouv.fr*

The specifications of the file are available on [this
page](https://www.impots.gouv.fr/les-cahiers-des-charges-tdbilateral).

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
l10n_fr_das2_form l10n.fr.das2.form l10n.fr.das2 form New
l10n_fr_das2_line_form l10n.fr.das2.line.form l10n.fr.das2.line form New
l10n_fr_das2_line_search l10n.fr.das2.line.search l10n.fr.das2.line search New
l10n_fr_das2_line_tree l10n.fr.das2.line.tree l10n.fr.das2.line tree New
l10n_fr_das2_search l10n.fr.das2.search l10n.fr.das2 search New
l10n_fr_das2_tree l10n.fr.das2.tree l10n.fr.das2 tree New
view_partner_property_form l10n.fr.das2.res.partner.form res.partner group Inherits account.view_partner_property_form
view_res_partner_filter l10n.fr.das2.res.partner.search res.partner filter Inherits base.view_res_partner_filter
Models touched (3)

New fields (14)
  • attachment_datas Binary
    related='attachment_id.datas' string='Declaration File'
  • attachment_id Many2one → ir.attachment
    readonly=True args: 'ir.attachment'
  • attachment_name Char
    related='attachment_id.name' string='Filename'
  • company_id Many2one → res.company
    default=<expr> ondelete='cascade' required=True args: 'res.company'
  • contact_id Many2one → res.partner
    default=<expr> help='Contact in the company for the fiscal administration: the name, email and phone number of this partner will be used in the file.' string='Administrative Contact' tracking=True args: 'res.partner'
  • currency_id Many2one
    related='company_id.currency_id' store=True string='Company Currency'
  • dads_type Selection
    default=<expr> required=True tracking=True args: [('4', 'La société verse des salaires'), ('1', 'La société ne verse pas de salaires')], 'DADS Type'
  • line_ids One2many → l10n.fr.das2.line
    string='Lines' args: 'l10n.fr.das2.line', 'parent_id'
  • partner_declare_threshold Integer
    compute='_compute_partner_declare_threshold' precompute=True store=True string='Partner Declaration Threshold'
  • payment_journal_ids Many2many → account.journal
    check_company=True default=<expr> domain="[('company_id', '=', company_id)]" required=True string='Payment Journals' args: 'account.journal'
  • state Selection
    default='draft' index=True readonly=True tracking=True args: [('draft', 'Draft'), ('done', 'Done')]
  • unencrypted_attachment_id Many2one → ir.attachment
    readonly=True string='Unencrypted Attachment' args: 'ir.attachment'
  • warning_msg Html
    readonly=True
  • year Integer
    default=<expr> index=True required=True tracking=True
Public methods (7)
  • back2draft(self)
  • button_lines_fullscreen(self)
  • done(self)
  • generate_file_and_attach(self, encryption='prod')
  • generate_lines(self)
  • generate_warning_msg(self, das2_partners)
  • unlink(self)

New fields (29)
  • allowance_amount Integer
    string='Indemnités et remboursements'
  • allowance_employer Boolean
    args: "Prise en charge directe par l'employeur"
  • allowance_fixed Boolean
    args: 'Allocation forfaitaire'
  • allowance_real Boolean
    args: 'Sur frais réels'
  • attendance_fee_amount Integer
    string='Jetons de présence'
  • benefits_in_kind_accomodation Boolean
    args: 'Logement'
  • benefits_in_kind_amount Integer
    string='Avantages en nature'
  • benefits_in_kind_car Boolean
    args: 'Voiture'
  • benefits_in_kind_food Boolean
    args: 'Nourriture'
  • benefits_in_kind_nict Boolean
    args: 'Outils issus des NTIC'
  • benefits_in_kind_other Boolean
    args: 'Autres'
  • brokerage_amount Integer
    string='Courtages'
  • commission_amount Integer
    string='Commissions'
  • company_id Many2one
    related='parent_id.company_id' store=True
  • copyright_royalties_amount Integer
    string="Droits d'auteur"
  • currency_id Many2one
    related='parent_id.company_id.currency_id' store=True string='Company Currency'
  • discount_amount Integer
    string='Ristournes'
  • fee_amount Integer
    string='Honoraires et vacations'
  • job Char
    compute='_compute_job' precompute=True readonly=False size=30 store=True string='Profession'
  • licence_royalties_amount Integer
    string="Droits d'inventeur"
  • note Html
  • other_income_amount Integer
    string='Autres rémunérations'
  • parent_id Many2one → l10n.fr.das2
    ondelete='cascade' string='DAS2 Report' args: 'l10n.fr.das2'
  • partner_id Many2one → res.partner
    domain=[('parent_id', '=', False)] ondelete='restrict' required=True string='Supplier' args: 'res.partner'
  • partner_siret Char
    compute='_compute_partner_siret' precompute=True readonly=False size=14 store=True string='SIRET'
  • state Selection
    related='parent_id.state' store=True
  • to_declare Boolean
    compute='_compute_total_amount' readonly=True store=True
  • total_amount Integer
    compute='_compute_total_amount' readonly=True store=True
  • withholding_tax_amount Integer
    string='Retenue à la source'
Public methods (0)

No public methods.

New fields (2)
  • fr_das2_job Char
    help="Used in the field 'Profession' of DAS2." size=30 string='DAS2 Job'
  • fr_das2_type Selection
    string='DAS2 Type' tracking=100 args: [('fee', 'Honoraires et vacations'), ('commission', 'Commissions'), ('brokerage', 'Courtages'), ('discount', 'Ristournes'), ('attendance_fee', 'Jetons de présence'), ('copyright_royalties', "Droits d'auteur"), ('licence_royalties', "Droits d'inventeur"), ('other_income', 'Autres rémunérations'), ('allowance', 'Indemnités et remboursements')]
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/16.0/l10n_fr_das2
VERSION
VERSION 4.0.0
CATEGORY
CATEGORYInvoicing Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSAlexis de Lattre, Weblate, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-france
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:59
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/l10n-france:
    - l10n_fr_siret
    - l10n_fr_cog
OCA/server-tools:
    - base_view_inheritance_extension
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
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES pyfrdas2>=0.10
python-stdnum
astor
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
l10n_fr_das2_form l10n.fr.das2.form l10n.fr.das2 form New
l10n_fr_das2_line_form l10n.fr.das2.line.form l10n.fr.das2.line form New
l10n_fr_das2_line_search l10n.fr.das2.line.search l10n.fr.das2.line search New
l10n_fr_das2_line_tree l10n.fr.das2.line.tree l10n.fr.das2.line tree New
l10n_fr_das2_search l10n.fr.das2.search l10n.fr.das2 search New
l10n_fr_das2_tree l10n.fr.das2.tree l10n.fr.das2 tree New
view_partner_property_form l10n.fr.das2.res.partner.form res.partner group Inherits account.view_partner_property_form
view_res_partner_filter l10n.fr.das2.res.partner.search res.partner filter Inherits base.view_res_partner_filter
Models touched (3)

New fields (14)
  • attachment_datas Binary
    related='attachment_id.datas' string='Declaration File'
  • attachment_id Many2one → ir.attachment
    readonly=True args: 'ir.attachment'
  • attachment_name Char
    related='attachment_id.name' string='Filename'
  • company_id Many2one → res.company
    default=<expr> ondelete='cascade' required=True states={'done': [('readonly', True)]} args: 'res.company'
  • contact_id Many2one → res.partner
    default=<expr> help='Contact in the company for the fiscal administration: the name, email and phone number of this partner will be used in the file.' states={'done': [('readonly', True)]} string='Administrative Contact' tracking=True args: 'res.partner'
  • currency_id Many2one
    related='company_id.currency_id' store=True string='Company Currency'
  • dads_type Selection
    default=<expr> required=True states={'done': [('readonly', True)]} tracking=True args: [('4', 'La société verse des salaires'), ('1', 'La société ne verse pas de salaires')], 'DADS Type'
  • line_ids One2many → l10n.fr.das2.line
    states={'done': [('readonly', True)]} string='Lines' args: 'l10n.fr.das2.line', 'parent_id'
  • partner_declare_threshold Integer
    compute='_compute_partner_declare_threshold' precompute=True store=True string='Partner Declaration Threshold'
  • payment_journal_ids Many2many → account.journal
    check_company=True default=<expr> domain="[('company_id', '=', company_id)]" required=True states={'done': [('readonly', True)]} string='Payment Journals' args: 'account.journal'
  • state Selection
    default='draft' index=True readonly=True tracking=True args: [('draft', 'Draft'), ('done', 'Done')]
  • unencrypted_attachment_id Many2one → ir.attachment
    readonly=True string='Unencrypted Attachment' args: 'ir.attachment'
  • warning_msg Html
    readonly=True
  • year Integer
    default=<expr> index=True required=True states={'done': [('readonly', True)]} tracking=True
Public methods (8)
  • back2draft(self)
  • button_lines_fullscreen(self)
  • done(self)
  • generate_file_and_attach(self, encryption='prod')
  • generate_lines(self)
  • generate_warning_msg(self, das2_partners)
  • name_get(self)
    @api.depends('year')
  • unlink(self)

New fields (29)
  • allowance_amount Integer
    states={'done': [('readonly', True)]} string='Indemnités et remboursements'
  • allowance_employer Boolean
    states={'done': [('readonly', True)]} args: "Prise en charge directe par l'employeur"
  • allowance_fixed Boolean
    states={'done': [('readonly', True)]} args: 'Allocation forfaitaire'
  • allowance_real Boolean
    states={'done': [('readonly', True)]} args: 'Sur frais réels'
  • attendance_fee_amount Integer
    states={'done': [('readonly', True)]} string='Jetons de présence'
  • benefits_in_kind_accomodation Boolean
    states={'done': [('readonly', True)]} args: 'Logement'
  • benefits_in_kind_amount Integer
    states={'done': [('readonly', True)]} string='Avantages en nature'
  • benefits_in_kind_car Boolean
    states={'done': [('readonly', True)]} args: 'Voiture'
  • benefits_in_kind_food Boolean
    states={'done': [('readonly', True)]} args: 'Nourriture'
  • benefits_in_kind_nict Boolean
    states={'done': [('readonly', True)]} args: 'Outils issus des NTIC'
  • benefits_in_kind_other Boolean
    states={'done': [('readonly', True)]} args: 'Autres'
  • brokerage_amount Integer
    states={'done': [('readonly', True)]} string='Courtages'
  • commission_amount Integer
    states={'done': [('readonly', True)]} string='Commissions'
  • company_id Many2one
    related='parent_id.company_id' store=True
  • copyright_royalties_amount Integer
    states={'done': [('readonly', True)]} string="Droits d'auteur"
  • currency_id Many2one
    related='parent_id.company_id.currency_id' store=True string='Company Currency'
  • discount_amount Integer
    states={'done': [('readonly', True)]} string='Ristournes'
  • fee_amount Integer
    states={'done': [('readonly', True)]} string='Honoraires et vacations'
  • job Char
    compute='_compute_job' precompute=True readonly=False size=30 states={'done': [('readonly', True)]} store=True string='Profession'
  • licence_royalties_amount Integer
    states={'done': [('readonly', True)]} string="Droits d'inventeur"
  • note Html
  • other_income_amount Integer
    states={'done': [('readonly', True)]} string='Autres rémunérations'
  • parent_id Many2one → l10n.fr.das2
    ondelete='cascade' string='DAS2 Report' args: 'l10n.fr.das2'
  • partner_id Many2one → res.partner
    domain=[('parent_id', '=', False)] ondelete='restrict' required=True states={'done': [('readonly', True)]} string='Supplier' args: 'res.partner'
  • partner_siret Char
    compute='_compute_partner_siret' precompute=True readonly=False size=14 states={'done': [('readonly', True)]} store=True string='SIRET'
  • state Selection
    related='parent_id.state' store=True
  • to_declare Boolean
    compute='_compute_total_amount' readonly=True store=True
  • total_amount Integer
    compute='_compute_total_amount' readonly=True store=True
  • withholding_tax_amount Integer
    states={'done': [('readonly', True)]} string='Retenue à la source'
Public methods (0)

No public methods.

New fields (2)
  • fr_das2_job Char
    help="Used in the field 'Profession' of DAS2." size=30 string='DAS2 Job'
  • fr_das2_type Selection
    string='DAS2 Type' tracking=100 args: [('fee', 'Honoraires et vacations'), ('commission', 'Commissions'), ('brokerage', 'Courtages'), ('discount', 'Ristournes'), ('attendance_fee', 'Jetons de présence'), ('copyright_royalties', "Droits d'auteur"), ('licence_royalties', "Droits d'inventeur"), ('other_income', 'Autres rémunérations'), ('allowance', 'Indemnités et remboursements')]
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/15.0/l10n_fr_das2
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYInvoicing Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
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 00:46:43
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/l10n-france:
    - l10n_fr_siret
    - l10n_fr_cog
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
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES pyfrdas2>=0.10
python-stdnum
python-stdnum>=1.18
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (9)
XML IDNameModelTypeStatus
l10n_fr_das2_form l10n.fr.das2.form l10n.fr.das2 form New
l10n_fr_das2_line_form l10n.fr.das2.line.form l10n.fr.das2.line form New
l10n_fr_das2_line_search l10n.fr.das2.line.search l10n.fr.das2.line search New
l10n_fr_das2_line_tree l10n.fr.das2.line.tree l10n.fr.das2.line tree New
l10n_fr_das2_search l10n.fr.das2.search l10n.fr.das2 search New
l10n_fr_das2_tree l10n.fr.das2.tree l10n.fr.das2 tree New
view_account_config_settings das2.res.config.settings.form res.config.settings xpath Inherits account.res_config_settings_view_form
view_partner_property_form l10n.fr.das2.res.partner.form res.partner group Inherits account.view_partner_property_form
view_res_partner_filter l10n.fr.das2.res.partner.search res.partner filter Inherits base.view_res_partner_filter
Models touched (5)

New fields (14)
  • attachment_datas Binary
    related='attachment_id.datas' string='File Export'
  • attachment_id Many2one → ir.attachment
    readonly=True args: 'ir.attachment'
  • attachment_name Char
    related='attachment_id.name' string='Filename'
  • company_id Many2one → res.company
    default=<expr> ondelete='cascade' required=True states={'done': [('readonly', True)]} args: 'res.company'
  • contact_id Many2one → res.partner
    default=<expr> help='Contact in the company for the fiscal administration: the name, email and phone number of this partner will be used in the file.' states={'done': [('readonly', True)]} string='Administrative Contact' tracking=True args: 'res.partner'
  • currency_id Many2one
    related='company_id.currency_id' store=True string='Company Currency'
  • dads_type Selection
    default=<expr> required=True states={'done': [('readonly', True)]} tracking=True args: [('4', 'La société verse des salaires'), ('1', 'La société ne verse pas de salaires')], 'DADS Type'
  • line_ids One2many → l10n.fr.das2.line
    states={'done': [('readonly', True)]} string='Lines' args: 'l10n.fr.das2.line', 'parent_id'
  • partner_declare_threshold Integer
    readonly=True string='Partner Declaration Threshold'
  • payment_journal_ids Many2many → account.journal
    check_company=True default=<expr> domain="[('company_id', '=', company_id)]" required=True states={'done': [('readonly', True)]} string='Payment Journals' args: 'account.journal'
  • state Selection
    default='draft' index=True readonly=True tracking=True args: [('draft', 'Draft'), ('done', 'Done')]
  • unencrypted_attachment_id Many2one → ir.attachment
    readonly=True string='Unencrypted Attachment' args: 'ir.attachment'
  • warning_msg Html
    readonly=True
  • year Integer
    default=<expr> index=True required=True states={'done': [('readonly', True)]} tracking=True
Public methods (8)
  • back2draft(self)
  • button_lines_fullscreen(self)
  • done(self)
  • generate_file_and_attach(self, encryption='prod')
  • generate_lines(self)
  • generate_warning_msg(self, das2_partners)
  • name_get(self)
    @api.depends('year')
  • unlink(self)

New fields (29)
  • allowance_amount Integer
    states={'done': [('readonly', True)]} string='Indemnités et remboursements'
  • allowance_employer Boolean
    states={'done': [('readonly', True)]} args: "Prise en charge directe par l'employeur"
  • allowance_fixed Boolean
    states={'done': [('readonly', True)]} args: 'Allocation forfaitaire'
  • allowance_real Boolean
    states={'done': [('readonly', True)]} args: 'Sur frais réels'
  • attendance_fee_amount Integer
    states={'done': [('readonly', True)]} string='Jetons de présence'
  • benefits_in_kind_accomodation Boolean
    states={'done': [('readonly', True)]} args: 'Logement'
  • benefits_in_kind_amount Integer
    states={'done': [('readonly', True)]} string='Avantages en nature'
  • benefits_in_kind_car Boolean
    states={'done': [('readonly', True)]} args: 'Voiture'
  • benefits_in_kind_food Boolean
    states={'done': [('readonly', True)]} args: 'Nourriture'
  • benefits_in_kind_nict Boolean
    states={'done': [('readonly', True)]} args: 'Outils issus des NTIC'
  • benefits_in_kind_other Boolean
    states={'done': [('readonly', True)]} args: 'Autres'
  • brokerage_amount Integer
    states={'done': [('readonly', True)]} string='Courtages'
  • commission_amount Integer
    states={'done': [('readonly', True)]} string='Commissions'
  • company_id Many2one
    related='parent_id.company_id' store=True
  • copyright_royalties_amount Integer
    states={'done': [('readonly', True)]} string="Droits d'auteur"
  • currency_id Many2one
    related='parent_id.company_id.currency_id' store=True string='Company Currency'
  • discount_amount Integer
    states={'done': [('readonly', True)]} string='Ristournes'
  • fee_amount Integer
    states={'done': [('readonly', True)]} string='Honoraires et vacations'
  • job Char
    compute='_compute_job' readonly=False size=30 states={'done': [('readonly', True)]} store=True string='Profession'
  • licence_royalties_amount Integer
    states={'done': [('readonly', True)]} string="Droits d'inventeur"
  • note Html
  • other_income_amount Integer
    states={'done': [('readonly', True)]} string='Autre rémunérations'
  • parent_id Many2one → l10n.fr.das2
    ondelete='cascade' string='DAS2 Report' args: 'l10n.fr.das2'
  • partner_id Many2one → res.partner
    domain=[('parent_id', '=', False)] ondelete='restrict' required=True states={'done': [('readonly', True)]} string='Supplier' args: 'res.partner'
  • partner_siret Char
    compute='_compute_partner_siret' readonly=False size=14 states={'done': [('readonly', True)]} store=True string='SIRET'
  • state Selection
    related='parent_id.state' store=True
  • to_declare Boolean
    compute='_compute_total_amount' readonly=True store=True
  • total_amount Integer
    compute='_compute_total_amount' readonly=True store=True
  • withholding_tax_amount Integer
    states={'done': [('readonly', True)]} string='Retenue à la source'
Public methods (1)
  • check_siret(self)
    @api.constrains('partner_siret')

New fields (1)
  • fr_das2_partner_declare_threshold Integer
    default=1200 string='DAS2 Partner Declaration Threshold'
Public methods (0)

No public methods.

New fields (1)
  • fr_das2_partner_declare_threshold Integer
    readonly=False related='company_id.fr_das2_partner_declare_threshold'
Public methods (0)

No public methods.

New fields (2)
  • fr_das2_job Char
    help="Used in the field 'Profession' of DAS2." size=30 string='DAS2 Job'
  • fr_das2_type Selection
    string='DAS2 Type' tracking=100 args: [('fee', 'Honoraires et vacations'), ('commission', 'Commissions'), ('brokerage', 'Courtages'), ('discount', 'Ristournes'), ('attendance_fee', 'Jetons de présence'), ('copyright_royalties', "Droits d'auteur"), ('licence_royalties', "Droits d'inventeur"), ('other_income', 'Autre rémunérations'), ('allowance', 'Indemnités et remboursements')]
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/14.0/l10n_fr_das2
VERSION
VERSION 4.0.0
CATEGORY
CATEGORYInvoicing Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSAlexis de Lattre, Sylvain LE GAL, OCA Transbot, oca-travis, Weblate, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-france
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:41:11
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/l10n-france:
    - l10n_fr_siret
    - l10n_fr_cog
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
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES pyfrdas2>=0.10
python-stdnum
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
l10n_fr_das2_form l10n.fr.das2.form l10n.fr.das2 form New
l10n_fr_das2_line_form l10n.fr.das2.line.form l10n.fr.das2.line form New
l10n_fr_das2_line_search l10n.fr.das2.line.search l10n.fr.das2.line search New
l10n_fr_das2_line_tree l10n.fr.das2.line.tree l10n.fr.das2.line tree New
l10n_fr_das2_search l10n.fr.das2.search l10n.fr.das2 search New
l10n_fr_das2_tree l10n.fr.das2.tree l10n.fr.das2 tree New
view_partner_property_form l10n.fr.das2.res.partner.form res.partner group Inherits account.view_partner_property_form
view_res_partner_filter l10n.fr.das2.res.partner.search res.partner filter Inherits base.view_res_partner_filter
Models touched (3)

New fields (14)
  • attachment_datas Binary
    related='attachment_id.datas' string='File Export'
  • attachment_id Many2one → ir.attachment
    readonly=True string='Attachment' args: 'ir.attachment'
  • attachment_name Char
    related='attachment_id.name' string='Filename'
  • company_id Many2one → res.company
    default=<expr> ondelete='cascade' required=True states={'done': [('readonly', True)]} string='Company' args: 'res.company'
  • contact_id Many2one → res.partner
    default=<expr> help='Contact in the company for the fiscal administration: the name, email and phone number of this partner will be used in the file.' states={'done': [('readonly', True)]} string='Administrative Contact' tracking=True args: 'res.partner'
  • currency_id Many2one
    related='company_id.currency_id' store=True string='Company Currency'
  • dads_type Selection
    default=<expr> required=True states={'done': [('readonly', True)]} tracking=True args: [('4', 'La société verse des salaires'), ('1', 'La société ne verse pas de salaires')], 'DADS Type'
  • line_ids One2many → l10n.fr.das2.line
    states={'done': [('readonly', True)]} string='Lines' args: 'l10n.fr.das2.line', 'parent_id'
  • partner_declare_threshold Integer
    compute='_compute_partner_declare_threshold' store=True string='Partner Declaration Threshold'
  • payment_journal_ids Many2many → account.journal
    check_company=True default=<expr> domain="[('company_id', '=', company_id)]" required=True states={'done': [('readonly', True)]} string='Payment Journals' args: 'account.journal'
  • state Selection
    default='draft' readonly=True string='State' tracking=True args: [('draft', 'Draft'), ('done', 'Done')]
  • unencrypted_attachment_id Many2one → ir.attachment
    readonly=True string='Unencrypted Attachment' args: 'ir.attachment'
  • warning_msg Html
    readonly=True
  • year Integer
    default=<expr> required=True states={'done': [('readonly', True)]} string='Year' tracking=True
Public methods (8)
  • back2draft(self)
  • button_lines_fullscreen(self)
  • done(self)
  • generate_file_and_attach(self, encryption='prod')
  • generate_lines(self)
  • generate_warning_msg(self, das2_partners)
  • name_get(self)
    @api.depends('year')
  • unlink(self)

New fields (29)
  • allowance_amount Integer
    states={'done': [('readonly', True)]} string='Indemnités et remboursements'
  • allowance_employer Boolean
    states={'done': [('readonly', True)]} args: "Prise en charge directe par l'employeur"
  • allowance_fixed Boolean
    states={'done': [('readonly', True)]} args: 'Allocation forfaitaire'
  • allowance_real Boolean
    states={'done': [('readonly', True)]} args: 'Sur frais réels'
  • attendance_fee_amount Integer
    states={'done': [('readonly', True)]} string='Jetons de présence'
  • benefits_in_kind_accomodation Boolean
    states={'done': [('readonly', True)]} args: 'Logement'
  • benefits_in_kind_amount Integer
    states={'done': [('readonly', True)]} string='Avantages en nature'
  • benefits_in_kind_car Boolean
    states={'done': [('readonly', True)]} args: 'Voiture'
  • benefits_in_kind_food Boolean
    states={'done': [('readonly', True)]} args: 'Nourriture'
  • benefits_in_kind_nict Boolean
    states={'done': [('readonly', True)]} args: 'Outils issus des NTIC'
  • benefits_in_kind_other Boolean
    states={'done': [('readonly', True)]} args: 'Autres'
  • brokerage_amount Integer
    states={'done': [('readonly', True)]} string='Courtages'
  • commission_amount Integer
    states={'done': [('readonly', True)]} string='Commissions'
  • company_id Many2one
    related='parent_id.company_id' store=True
  • copyright_royalties_amount Integer
    states={'done': [('readonly', True)]} string="Droits d'auteur"
  • currency_id Many2one
    related='parent_id.company_id.currency_id' store=True string='Company Currency'
  • discount_amount Integer
    states={'done': [('readonly', True)]} string='Ristournes'
  • fee_amount Integer
    states={'done': [('readonly', True)]} string='Honoraires et vacations'
  • job Char
    compute='_compute_job' readonly=False size=30 states={'done': [('readonly', True)]} store=True string='Profession'
  • licence_royalties_amount Integer
    states={'done': [('readonly', True)]} string="Droits d'inventeur"
  • note Html
  • other_income_amount Integer
    states={'done': [('readonly', True)]} string='Autre rémunérations'
  • parent_id Many2one → l10n.fr.das2
    ondelete='cascade' string='DAS2 Report' args: 'l10n.fr.das2'
  • partner_id Many2one → res.partner
    domain=[('parent_id', '=', False)] ondelete='restrict' required=True states={'done': [('readonly', True)]} string='Supplier' args: 'res.partner'
  • partner_siret Char
    compute='_compute_partner_siret' readonly=False size=14 states={'done': [('readonly', True)]} store=True string='SIRET'
  • state Selection
    related='parent_id.state' store=True
  • to_declare Boolean
    compute='_compute_total_amount' readonly=True store=True string='To Declare'
  • total_amount Integer
    compute='_compute_total_amount' readonly=True store=True string='Total Amount'
  • withholding_tax_amount Integer
    states={'done': [('readonly', True)]} string='Retenue à la source'
Public methods (1)
  • check_siret(self)
    @api.constrains('partner_siret')

New fields (2)
  • fr_das2_job Char
    help="Used in the field 'Profession' of DAS2." size=30 string='DAS2 Job'
  • fr_das2_type Selection
    string='DAS2 Type' tracking=100 args: [('fee', 'Honoraires et vacations'), ('commission', 'Commissions'), ('brokerage', 'Courtages'), ('discount', 'Ristournes'), ('attendance_fee', 'Jetons de présence'), ('copyright_royalties', "Droits d'auteur"), ('licence_royalties', "Droits d'inventeur"), ('other_income', 'Autre rémunérations'), ('allowance', 'Indemnités et remboursements')]
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/12.0/l10n_fr_das2
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYInvoicing Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSAlexis de Lattre, David Beal, oca-travis, OCA-git-bot
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-france
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:25
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/l10n-france:
    - l10n_fr_siret
    - l10n_fr_cog
odoo/odoo:
    - l10n_fr
    - account
    - base_setup
    - base
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - http_routing
    - digest
    - base_iban
    - base_vat
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES unidecode
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (9)
XML IDNameModelTypeStatus
l10n_fr_das2_form l10n.fr.das2.form l10n.fr.das2 form New
l10n_fr_das2_line_form l10n.fr.das2.line.form l10n.fr.das2.line form New
l10n_fr_das2_line_search l10n.fr.das2.line.search l10n.fr.das2.line search New
l10n_fr_das2_line_tree l10n.fr.das2.line.tree l10n.fr.das2.line tree New
l10n_fr_das2_search l10n.fr.das2.search l10n.fr.das2 search New
l10n_fr_das2_tree l10n.fr.das2.tree l10n.fr.das2 tree New
view_account_config_settings das2.res.config.settings.form res.config.settings xpath Inherits account.res_config_settings_view_form
view_partner_property_form l10n.fr.das2.res.partner.form res.partner group Inherits account.view_partner_property_form
view_res_partner_filter l10n.fr.das2.res.partner.search res.partner filter Inherits base.view_res_partner_filter
Models touched (5)

New fields (10)
  • attachment_id Many2one → ir.attachment
    readonly=True string='File Export' args: 'ir.attachment'
  • company_id Many2one → res.company
    default=<expr> ondelete='cascade' required=True states={'done': [('readonly', True)]} string='Company' args: 'res.company'
  • contact_id Many2one → res.partner
    default=<expr> help='Contact in the company for the fiscal administration: the name, email and phone number of this partner will be used in the file.' states={'done': [('readonly', True)]} string='Administrative Contact' track_visibility='onchange' args: 'res.partner'
  • currency_id Many2one
    readonly=True related='company_id.currency_id' store=True string='Company Currency'
  • dads_type Selection
    default=<expr> required=True states={'done': [('readonly', True)]} track_visibility='onchange' args: [('4', 'La société verse des salaires'), ('1', 'La société ne verse pas de salaires')], 'DADS Type'
  • line_ids One2many → l10n.fr.das2.line
    states={'done': [('readonly', True)]} string='Lines' args: 'l10n.fr.das2.line', 'parent_id'
  • partner_declare_threshold Integer
    readonly=True string='Partner Declaration Threshold'
  • payment_journal_ids Many2many → account.journal
    default=<expr> required=True states={'done': [('readonly', True)]} string='Payment Journals' args: 'account.journal'
  • state Selection
    default='draft' readonly=True string='State' track_visibility='onchange' args: [('draft', 'Draft'), ('done', 'Done')]
  • year Integer
    default=<expr> required=True states={'done': [('readonly', True)]} string='Year' track_visibility='onchange'
Public methods (8)
  • add_warning_in_chatter(self, das2_partners)
  • back2draft(self)
  • button_lines_fullscreen(self)
  • done(self)
  • generate_file(self)
  • generate_lines(self)
  • name_get(self)
    @api.depends('year')
  • unlink(self)

New fields (29)
  • allowance_amount Integer
    states={'done': [('readonly', True)]} string='Indemnités et remboursements'
  • allowance_employer Boolean
    states={'done': [('readonly', True)]} args: "Prise en charge directe par l'employeur"
  • allowance_fixed Boolean
    states={'done': [('readonly', True)]} args: 'Allocation forfaitaire'
  • allowance_real Boolean
    states={'done': [('readonly', True)]} args: 'Sur frais réels'
  • attendance_fee_amount Integer
    states={'done': [('readonly', True)]} string='Jetons de présence'
  • benefits_in_kind_accomodation Boolean
    states={'done': [('readonly', True)]} args: 'Logement'
  • benefits_in_kind_amount Integer
    states={'done': [('readonly', True)]} string='Avantages en nature'
  • benefits_in_kind_car Boolean
    states={'done': [('readonly', True)]} args: 'Voiture'
  • benefits_in_kind_food Boolean
    states={'done': [('readonly', True)]} args: 'Nourriture'
  • benefits_in_kind_nict Boolean
    states={'done': [('readonly', True)]} args: 'Outils issus des NTIC'
  • benefits_in_kind_other Boolean
    states={'done': [('readonly', True)]} args: 'Autres'
  • brokerage_amount Integer
    states={'done': [('readonly', True)]} string='Courtages'
  • commission_amount Integer
    states={'done': [('readonly', True)]} string='Commissions'
  • company_id Many2one
    readonly=True related='parent_id.company_id' store=True
  • copyright_royalties_amount Integer
    states={'done': [('readonly', True)]} string="Droits d'auteur"
  • currency_id Many2one
    readonly=True related='parent_id.company_id.currency_id' store=True string='Company Currency'
  • discount_amount Integer
    states={'done': [('readonly', True)]} string='Ristournes'
  • fee_amount Integer
    states={'done': [('readonly', True)]} string='Honoraires et vacations'
  • job Char
    size=30 states={'done': [('readonly', True)]} string='Profession'
  • licence_royalties_amount Integer
    states={'done': [('readonly', True)]} string="Droits d'inventeur"
  • note Text
  • other_income_amount Integer
    states={'done': [('readonly', True)]} string='Autre rémunérations'
  • parent_id Many2one → l10n.fr.das2
    ondelete='cascade' string='DAS2 Report' args: 'l10n.fr.das2'
  • partner_id Many2one → res.partner
    domain=[('parent_id', '=', False)] ondelete='restrict' required=True states={'done': [('readonly', True)]} string='Supplier' args: 'res.partner'
  • partner_siret Char
    size=14 states={'done': [('readonly', True)]} string='SIRET'
  • state Selection
    readonly=True related='parent_id.state' store=True
  • to_declare Boolean
    compute='_compute_total_amount' readonly=True string='To Declare'
  • total_amount Integer
    compute='_compute_total_amount' readonly=True store=True string='Total Amount'
  • withholding_tax_amount Integer
    states={'done': [('readonly', True)]} string='Retenue à la source'
Public methods (2)
  • check_siret(self)
    @api.constrains('partner_siret')
  • partner_id_change(self)
    @api.onchange('partner_id')

New fields (1)
  • fr_das2_partner_declare_threshold Integer
    default=1200 string='DAS2 Partner Declaration Threshold'
Public methods (0)

No public methods.

New fields (1)
  • fr_das2_partner_declare_threshold Integer
    readonly=False related='company_id.fr_das2_partner_declare_threshold'
Public methods (0)

No public methods.

New fields (2)
  • fr_das2_job Char
    help="Used in the field 'Profession' of DAS2." size=30 string='DAS2 Job'
  • fr_das2_type Selection
    string='DAS2 Type' track_visibility='onchange' args: [('fee', 'Honoraires et vacations'), ('commission', 'Commissions'), ('brokerage', 'Courtages'), ('discount', 'Ristournes'), ('attendance_fee', 'Jetons de présence'), ('copyright_royalties', "Droits d'auteur"), ('licence_royalties', "Droits d'inventeur"), ('other_income', 'Autre rémunérations'), ('allowance', 'Indemnités et remboursements')]
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/10.0/l10n_fr_das2
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYAccounting
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSAlexis de Lattre, Florian da Costa, OCA-git-bot
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-france
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:20:03
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/l10n-france:
    - l10n_fr_siret
    - l10n_fr_cog
odoo/odoo:
    - l10n_fr
    - base_iban
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - report
    - analytic
    - web_planner
    - base_vat
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES unidecode
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (9)
XML IDNameModelTypeStatus
l10n_fr_das2_form l10n.fr.das2.form l10n.fr.das2 form New
l10n_fr_das2_line_form l10n.fr.das2.line.form l10n.fr.das2.line form New
l10n_fr_das2_line_search l10n.fr.das2.line.search l10n.fr.das2.line search New
l10n_fr_das2_line_tree l10n.fr.das2.line.tree l10n.fr.das2.line tree New
l10n_fr_das2_search l10n.fr.das2.search l10n.fr.das2 search New
l10n_fr_das2_tree l10n.fr.das2.tree l10n.fr.das2 tree New
view_account_config_settings das2.account.config.settings.form account.config.settings xpath Inherits account.view_account_config_settings
view_partner_property_form l10n.fr.das2.res.partner.form res.partner group Inherits account.view_partner_property_form
view_res_partner_filter l10n.fr.das2.res.partner.search res.partner filter Inherits base.view_res_partner_filter
Models touched (5)

New fields (1)
  • fr_das2_partner_declare_threshold Integer
    readonly=False related='company_id.fr_das2_partner_declare_threshold'
Public methods (0)

No public methods.

New fields (10)
  • attachment_id Many2one → ir.attachment
    readonly=True string='File Export' args: 'ir.attachment'
  • company_id Many2one → res.company
    default=<expr> ondelete='cascade' required=True states={'done': [('readonly', True)]} string='Company' args: 'res.company'
  • contact_id Many2one → res.partner
    default=<expr> help='Contact in the company for the fiscal administration: the name, email and phone number of this partner will be used in the file.' states={'done': [('readonly', True)]} string='Administrative Contact' track_visibility='onchange' args: 'res.partner'
  • currency_id Many2one
    readonly=True related='company_id.currency_id' store=True string='Company Currency'
  • dads_type Selection
    default=<expr> required=True states={'done': [('readonly', True)]} track_visibility='onchange' args: [('4', 'La société verse des salaires'), ('1', 'La société ne verse pas de salaires')], 'DADS Type'
  • line_ids One2many → l10n.fr.das2.line
    states={'done': [('readonly', True)]} string='Lines' args: 'l10n.fr.das2.line', 'parent_id'
  • partner_declare_threshold Integer
    readonly=True string='Partner Declaration Threshold'
  • payment_journal_ids Many2many → account.journal
    default=<expr> required=True states={'done': [('readonly', True)]} string='Payment Journals' args: 'account.journal'
  • state Selection
    default='draft' readonly=True string='State' track_visibility='onchange' args: [('draft', 'Draft'), ('done', 'Done')]
  • year Integer
    default=<expr> required=True states={'done': [('readonly', True)]} string='Year' track_visibility='onchange'
Public methods (8)
  • add_warning_in_chatter(self, das2_partners)
  • back2draft(self)
  • button_lines_fullscreen(self)
  • done(self)
  • generate_file(self)
  • generate_lines(self)
  • name_get(self)
    @api.depends('year')
  • unlink(self)

New fields (29)
  • allowance_amount Integer
    states={'done': [('readonly', True)]} string='Indemnités et remboursements'
  • allowance_employer Boolean
    states={'done': [('readonly', True)]} args: "Prise en charge directe par l'employeur"
  • allowance_fixed Boolean
    states={'done': [('readonly', True)]} args: 'Allocation forfaitaire'
  • allowance_real Boolean
    states={'done': [('readonly', True)]} args: 'Sur frais réels'
  • attendance_fee_amount Integer
    states={'done': [('readonly', True)]} string='Jetons de présence'
  • benefits_in_kind_accomodation Boolean
    states={'done': [('readonly', True)]} args: 'Logement'
  • benefits_in_kind_amount Integer
    states={'done': [('readonly', True)]} string='Avantages en nature'
  • benefits_in_kind_car Boolean
    states={'done': [('readonly', True)]} args: 'Voiture'
  • benefits_in_kind_food Boolean
    states={'done': [('readonly', True)]} args: 'Nourriture'
  • benefits_in_kind_nict Boolean
    states={'done': [('readonly', True)]} args: 'Outils issus des NTIC'
  • benefits_in_kind_other Boolean
    states={'done': [('readonly', True)]} args: 'Autres'
  • brokerage_amount Integer
    states={'done': [('readonly', True)]} string='Courtages'
  • commission_amount Integer
    states={'done': [('readonly', True)]} string='Commissions'
  • company_id Many2one
    readonly=True related='parent_id.company_id' store=True
  • copyright_royalties_amount Integer
    states={'done': [('readonly', True)]} string="Droits d'auteur"
  • currency_id Many2one
    readonly=True related='parent_id.company_id.currency_id' store=True string='Company Currency'
  • discount_amount Integer
    states={'done': [('readonly', True)]} string='Ristournes'
  • fee_amount Integer
    states={'done': [('readonly', True)]} string='Honoraires et vacations'
  • job Char
    size=30 states={'done': [('readonly', True)]} string='Profession'
  • licence_royalties_amount Integer
    states={'done': [('readonly', True)]} string="Droits d'inventeur"
  • note Text
  • other_income_amount Integer
    states={'done': [('readonly', True)]} string='Autre rémunérations'
  • parent_id Many2one → l10n.fr.das2
    ondelete='cascade' string='DAS2 Report' args: 'l10n.fr.das2'
  • partner_id Many2one → res.partner
    domain=[('parent_id', '=', False)] ondelete='restrict' required=True states={'done': [('readonly', True)]} string='Supplier' args: 'res.partner'
  • partner_siret Char
    size=14 states={'done': [('readonly', True)]} string='SIRET'
  • state Selection
    readonly=True related='parent_id.state' store=True
  • to_declare Boolean
    compute='_compute_total_amount' readonly=True string='To Declare'
  • total_amount Integer
    compute='_compute_total_amount' readonly=True store=True string='Total Amount'
  • withholding_tax_amount Integer
    states={'done': [('readonly', True)]} string='Retenue à la source'
Public methods (2)
  • check_siret(self)
    @api.constrains('partner_siret')
  • partner_id_change(self)
    @api.onchange('partner_id')

New fields (1)
  • fr_das2_partner_declare_threshold Integer
    default=1200 string='DAS2 Partner Declaration Threshold'
Public methods (0)

No public methods.

New fields (2)
  • fr_das2_job Char
    help="Used in the field 'Profession' of DAS2." size=30 string='DAS2 Job'
  • fr_das2_type Selection
    string='DAS2 Type' track_visibility='onchange' args: [('fee', 'Honoraires et vacations'), ('commission', 'Commissions'), ('brokerage', 'Courtages'), ('discount', 'Ristournes'), ('attendance_fee', 'Jetons de présence'), ('copyright_royalties', "Droits d'auteur"), ('licence_royalties', "Droits d'inventeur"), ('other_income', 'Autre rémunérations'), ('allowance', 'Indemnités et remboursements')]
Public methods (0)

No public methods.