This module adds support for DAS2___, 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.
auto_awesome What this module does
AI-generated from the code · Odoo 19.0Prepare and file the French annual DAS2 declaration (Déclaration d'honoraires) directly from Odoo. The module builds the declaration lines from posted accounting entries, lets you review and adjust them, then generates the official encrypted file to send to the tax office.
This module adds a DAS2 screen under the French statements menu. For each year you create a declaration, choose the payment journals to analyse, and click Generate Lines. Odoo then looks at posted journal items on the payable account of every supplier flagged for DAS2 and fills one line per supplier with the amounts paid.
On each line you can see and adjust the different income categories (honoraires, commissions, courtages, ristournes, jetons de présence, droits d'auteur, etc.), plus benefits in kind and withholding tax. The total and a To Declare flag are computed automatically against the annual declaration threshold for the year; lines below the threshold are shown greyed out. A warning panel lists suppliers that have expenses on typical fee accounts but are not yet configured for DAS2.
When you click Validate, the module checks the company country, currency, APE, address and administrative contact, then produces the official declaration file, encrypted with the tax office PGP key, and attaches it to the record. A Back to Draft button deletes the file so you can regenerate it. Suppliers get two new fields on their contact form: DAS2 Type and DAS2 Job.
Depends on
Menus it adds
Models and fields (3)
- res.partner · extends an existing modelfr_das2_job (DAS2 Job), fr_das2_type (DAS2 Type)
- l10n.fr.das2 · new modelyear, state, line_ids (Lines), dads_type, company_id, contact_id (Administrative Contact), currency_id (Company Currency), warning_msg, attachment_id, attachment_name (Filename), attachment_datas (Declaration File), payment_journal_ids (Payment Journals), partner_declare_threshold (Partner Declaration Threshold), unencrypted_attachment_id (Unencrypted Attachment)
- l10n.fr.das2.line · new modeljob (Profession), note, state, parent_id (DAS2 Report), company_id, fee_amount (Honoraires et vacations), partner_id (Supplier), to_declare, currency_id (Company Currency), total_amount, partner_siret (SIRET), allowance_real (Sur frais réels), allowance_fixed (Allocation forfaitaire), discount_amount (Ristournes), allowance_amount (Indemnités et remboursements), brokerage_amount (Courtages), commission_amount (Commissions), allowance_employer (Prise en charge directe par l'employeur), other_income_amount (Autres rémunérations), benefits_in_kind_car (Voiture), attendance_fee_amount (Jetons de présence), benefits_in_kind_food (Nourriture), benefits_in_kind_nict (Outils issus des NTIC), benefits_in_kind_other (Autres), withholding_tax_amount (Retenue à la source), benefits_in_kind_amount (Avantages en nature), licence_royalties_amount (Droits d'inventeur), copyright_royalties_amount (Droits d'auteur), benefits_in_kind_accomodation (Logement)
Text generated by AI (DeepSeek) from reading the Odoo 19.0 code on GitHub; it may contain mistakes, so check the code before deciding. The module is very large and only part of the code was read. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 7 confirmed, 2 with no information of 9 versions.
Sources · Odoo 12.0
Confirmed on 2026-11-03 in branch 12.0 of OCA/l10n-france.
terminal Installation and usage
OCA documentation · Odoo 19.0Installation
Source · Odoo 19.0This module requires the Python lib pyfrdas2. As this lib contains the PGP encryption keys of the DGFiP used to encrypt the declaration file and as these keys are changed every year, check that the lib is up-to-date before using the module for a new year.
To install this lib, run:
pip3 install --upgrade pyfrdas2Configuration
Source · Odoo 19.0On the supplier form view, in the Accounting tab, you will see a section DAS2. For the suppliers that must be declared in DAS2, you must set:
- the DAS2 Type,
- the job for the DAS2 declaration,
- their SIRET number (for French suppliers only),
- their full address (street, zip code, city and country).
On the company configuration form, the APE code, SIRET and address must be set.
For the user responsible for the declaration, the phone number and email must be set on his related partner form (name, email and phone number are used in the DAS2 declaration file).
If you want to encrypt the declaration file with the DGFiP's test PGP key, ensure that your Odoo server configuration file has the following parameter:
running_env = testOtherwise, Odoo will use DGFiP's production PGP key.
Usage
Source · Odoo 19.0Go to the menu Accounting \> Reports \> French Statements \> DAS2 and create a new DAS2 report.
Then click on the button Generate Lines. Check and edit the generated lines. You can get the details of the computation performed by Odoo in the Note fields of each line.
You may have a yellow warning banner that warn you about suppliers that have expenses recorded in accounts such as 622100 Commissions et courtages sur achats, 622200 Commissions et courtages sur ventes, 622600 Honoraires, 622800 Rémunérations d'intermédiaires divers, 653000 Jetons de présence, 651600 Droits d'auteur et de reproduction that are not configured for DAS2.
Once your declaration is OK, click on the button Done: it will generate the DAS2 file and set the declaration to Done state (all the fields become readonly).
To send the file to the French tax office, go to your professional account on impots.gouv.fr, go to the menu Déclarer \> Tiers déclarant and then click on the button Déposer un fichier. Select Salaires et/ou honoraires and follow the instructions.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.