Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Localisation
  3. Romania - D101 ANAF Declaration v 19.0
  4. Sales Conditions FAQ

Romania - D101 ANAF Declaration

by NextERP Romania https://www.nexterp.ro
Odoo

$ 4658.40

v 19.0 Third Party
This module requires Odoo Enterprise Edition.
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Invoicing (account)
• Discuss (mail)
• Inventory (stock)
Community Apps Dependencies Show
• Romania - ANAF Declaration
• Romania - Account Enterprise
• NextERP Base
Lines of code 5875
Technical Name l10n_ro_declaration_D101
LicenseOPL-1
Websitehttps://www.nexterp.ro
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Invoicing (account)
• Discuss (mail)
• Inventory (stock)
Community Apps Dependencies Show
• Romania - ANAF Declaration
• Romania - Account Enterprise
• NextERP Base
Lines of code 5875
Technical Name l10n_ro_declaration_D101
LicenseOPL-1
Websitehttps://www.nexterp.ro
  • Description
  • License
Romania - D101 ANAF Declaration icon

Romania - D101 ANAF Declaration

Romania - D101 ANAF Declaration

v 19.0.1.0.0 LocalisationOPL-1
  • Overview
  • Features
  • Configuration
  • How it works
  • Versions

Overview

This module generates the D101 (Declarația privind impozitul pe profit) for Romanian ANAF. D101 is the annual corporate income tax return through which Romanian legal entities and foreign companies with a permanent establishment in Romania report and reconcile their corporate income tax liability for the previous fiscal year. It complements the quarterly advance payments reported via D100 — D101 settles the actual tax due on the audited financial result.

The wizard (l10n.ro.anaf.d101.v10) supports the four obligation codes recognized by ANAF: 103 (most for-profit companies), 102 (banks and credit institutions with anticipated advance payment), 104 (agricultural cooperatives, NGOs, religious cults) and 105 (foreign legal entities with a Romanian PE). It computes the payment deadline based on the fiscal year end, the obligation code and special situations (dissolution, regularization, fiscal group), and generates the unique 23-digit nr_evid record number with checksum.

The module ships a complete nomenclator of the 100+ profit tax positions (P1…P53 and sub-fields P81…P84, P111…P113, P421…P4231, P38a…P43a, etc.), each mapped to either a PCG RO account range or a formula referencing other positions. Generated XML matches the d101_20250214.xsd schema (OPANAF 206/11.02.2025) and is validated against a locally bundled, corrected copy of that XSD.


NextERP Romania

Built & supported by NextERP Romania

Romanian Odoo specialists, here for the long run — from implementation to localization and day-to-day production support.

10+
Years of Odoo experience per team member
80%+
of Romanian Localization maintained on Odoo Apps
19.0
Tracking every Odoo major release

What we do

⚙️

Odoo Solutions

From quick-start rollouts to multi-company deployments and custom modules built for your processes.

🇷🇴

Romanian Localization

SAF-T (D406), e-Factura, e-Transport, D300 / D390 / D394, ANAF integration, full chart of accounts and fiscal positions.

🛟

Our Services

Implementation, customization, migration, integration, support and consultancy — Romanian-speaking, SLA-backed.

Features

  • Annual corporate income tax return — wizard l10n.ro.anaf.d101.v10 generates <declaratie101> under namespace mfp:anaf:dgti:d101:declaratie:v3, validated against the locally bundled d101_20250214.xsd (OPANAF 206/11.02.2025).
  • Four obligation codes covered — 102 (banks with advance payments), 103 (most companies), 104 (NGOs, agricultural cooperatives, religious cults), 105 (foreign legal entities with a Romanian PE). Fiscal year start, end and the obligation code drive the computed scadenta.
  • Profit tax position nomenclator — about 100 records in l10n.ro.anaf.d101.config covering P1…P53 plus sub-fields (P81, P84, P111–P113, P421–P4231, P38a–P43a, P481, P482).
  • Two-pass computation — compute_from_config first sums the trial balance of account_code_from–account_code_to for each non-computed field, then evaluates the formulae on derived positions (e.g. P26 = P3 + P4 - P5).
  • Default PCG RO mapping — total revenues from class 7%, total expenses from class 6%, gross profit/loss as a derived field; ready to use for the standard Romanian chart of accounts.
  • Sector-specific adjustments (P38a, P39a, P40a, P43a) are shipped without an account range — companies in banking, oil and gas, mining or electricity production fill those manually.
  • Special filing flags — initial / rectificative / rectificative with notification (d_rec), reglementare (d_reglem), dissolution (Data_L, Data_B), successor (d_succ, cifs), fiscal group (d_grup), micro-enterprise switch year (trim_micro, primul_an_modif, ultimul_an_modif).
  • 23-digit nr_evid generated in ANAF format 11<cod:3>01<LLAA><scadenta:6><dissolution:1>000<checksum:2>.
  • PDF preview — d101_v10_report QWeb template renders the populated wizard so the accountant can sign off internally before generating XML.
  • Locally corrected XSD — the upstream d101_20250214.xsd published by ANAF has two known syntax errors that prevent lxml from parsing it; the module ships a fixed copy as a binary attachment used for the pre-download validation step.

Configuration

1. Prerequisites

Complete the setup described in the l10n_ro_declaration base module shipped with this one:

  • Romanian VAT/CUI on the company.
  • The CAEN code on the company record (required in the D101 XML caen attribute).
  • At least one ANAF signature under Accounting → Configuration → Romania → ANAF Signatures.
  • The company bank account.
  • The company opening date — used as the lower bound when reading the trial balance for the fiscal year.

2. Review the profit tax positions nomenclator

Open Accounting → Configuration → Romania → D101 — Profit Tax Configuration. About 100 records cover every position in the declaration:

Field Description
version_id The D101 version (anaf_D101_v10)
field_name XML attribute name on <declaratie101> (P1, P38, P421, …)
name Human-readable label
account_code_from / account_code_to PCG RO account range read from the trial balance
formula For derived fields, formula referencing other P-positions (e.g. P3 + P4 - P5)
computed True if the value is derived via formula; False if mapped from accounts
sequence Position order

3. Account-based vs formula-based fields

Two kinds of positions are computed during compute_from_config:

  1. Account-mapped fields (computed = False) — the wizard reads the trial balance for the configured account range over the wizard period. Examples: P1 (total revenues, mapped to all 7% accounts), P2 (total expenses, mapped to 6%).
  2. Formula-based fields (computed = True) — evaluated after the first pass against previously computed P-values. Examples: P3 (gross profit), P26 (taxable profit), P38 (corporate income tax due), P50 (final tax liability).

The total payable (totalPlata_A) is computed at generation time as the sum of absolute values of the main P1…P53 positions (not sub-fields).

4. Sector-specific adjustments

Industry-specific positions ship without an account range because they depend on each company's analytical accounts:

  • P38a, P40a — electricity producers / oil and gas.
  • P39a, P43a — banking, mining, additional sector levies.
  • P481, P482 — additional adjustments.

If your company is liable, either configure the analytical range on the relevant config record or override the value directly on the wizard before generating the XML.

5. Run the declaration

After configuration, generate the declaration as described in USAGE.md.

How it works

Open Accounting → Reports → Romania → D101.

D101 wizard

Steps

  1. Header fields

    • Declaration / Version — defaults to D101 / Versiunea 10.
    • Date From / Date To — the full fiscal year (typically 01.01.YYYY–31.12.YYYY).
    • Signature — the ANAF signature record for the declarant.
    • Bank Account — the company bank account.
    • Cod Obligație — 103 (most companies), 102 (banks with advance payment), 104 (NGO / agricultural cooperatives), 105 (foreign legal entities with a PE in Romania).
  2. Special filing situations — toggle only if applicable:

    • Tip Declarație (d_rec) — initial / rectificative / rectificative with notification.
    • Reglementare (d_reglem) — Yes if filing under regularizare (deadline +3 months).
    • Dissolution (Data_L, Data_B) — set the liquidation / dissolution date when filing for an entity in dissolution.
    • Succesor (succesor_id) — populates d_succ=1 and cifs=<CUI> when filing on behalf of a successor entity (art.90 alin.4 Codul de Procedură Fiscală).
    • Grup Fiscal (d_grup) — Yes when filing as part of a fiscal group consolidation.
    • Alte situații (d_alte) — Yes for art.105 alin.(6) cases.
  3. Compute from accounting — click Compute from Accounting. The wizard:

    • Reads the trial balance for every account-mapped P-field over the wizard period.
    • Evaluates formula-based fields (P3, P5, P26, P38, P50, …).
  4. Review and adjust the computed positions — manually correct any amount that needs sector-specific adjustments not covered by the automatic mappings (P38a, P40a, P481, P482, …).

  5. Get Report — generates the XML, validates it against the bundled d101_20250214.xsd and attaches the file to the wizard for download.

  6. PDF preview — print the d101_v10_report QWeb template from the wizard for internal review and archiving.

  7. Validate with DUKIntegrator, sign with the digital signature (Sectigo / certSIGN / other token), then upload to ANAF at the Depunere declarații portal under D101.

Generated XML — key fields

  • Root <declaratie101> with header attributes luna_i, an_i, luna, an, data_i, data_s, cod_obligatie, cod_bug (5503), scadenta, nr_evid, totalPlata_A, cif, caen, denumire, adresa, nume_declar, prenume_declar, functie_declar.
  • Profit tax positions P1–P53 plus sub-positions P81–P84, P91, P111–P113, P121–P122, P151, P171–P173, P411–P412, P421–P4231, P431, P432 and sector-specific P38a, P39a, P40a, P43a, P481, P482.
  • Optional temei, d_recN, d_grup, data_m, data_l, data_b, trim_micro, primul_an_modif, ultimul_an_modif, plus fiscal representative fields (cifR, denR, adrR, telR, faxR, emailR).

Deadlines (scadenta)

cod_obligatie Default deadline With d_reglem = 1
103 (most companies) 25.06 next year +3 months
104 (NGO / agricultural) 25.02 next year n/a
105 (foreign PE) 25.06 next year +3 months

For dissolution scenarios (Data_L or Data_B set), the deadline is the 25th of the month following the dissolution event.

Versions

19.0.1.0.0 (2026-05-24)

  • Changelog tracking starts at this release.

Discover the NextERP suite

Other modules from the same publisher, built to work together.

RO
Romania - ANAF Declaration
Localisation

Romania - ANAF Declaration

RO
Romania - ANAF Declaration DUKIntegrator
Localisation

Validate ANAF declarations against the NextERP DUKIntegrator HTTP service.

RO
Romania - Account Report Purchase Journal
Localisation

Romania - Account Report Purchase Journal

RO
Romania - Account Report Sale Journal
Localisation

Romania - Account Report Sale Journal

RO
Romania - D100 / 710 ANAF Declaration
Localisation

Romania - D100 / 710 ANAF Declaration

RO
Romania - D120 ANAF Declaration
Localisation

Romania - D120 ANAF Excise Duties Declaration (Decont privind accizele).

RO
Romania - D300 ANAF Declaration
Localisation

Romania - D300 ANAF Declaration

RO
Romania - D390 ANAF Declaration
Localisation

Romania - D390 ANAF Declaration

NextERP Romania

Odoo implementation, customization, Romanian localization and long-term support since 2018.

nexterp.ro
All apps
Odoo Proprietary License v1.0

This software and associated files (the "Software") may only be used (executed,
modified, executed after modifications) if you have purchased a valid license
from the authors, typically via Odoo Apps, or if you have received a written
agreement from the authors of the Software (see the COPYRIGHT file).

You may develop Odoo modules that use the Software as a library (typically
by depending on it, importing it and using its resources), but without copying
any source code or material from the Software. You may distribute those
modules under the license of your choice, provided that this license is
compatible with the terms of the Odoo Proprietary License (For example:
LGPL, MIT, or proprietary licenses similar to this one).

It is forbidden to publish, distribute, sublicense, or sell copies of the Software
or modified copies of the Software.

The above copyright notice and this permission notice must be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with