[ADD] l10n_ro_saft: Romanian D.406 monthly/quarterly declaration doc

Since January 1, 2023, Romanian businesses are required to report their
accounting data on a monthly/quarterly basis, in the D.406 declaration.

This is an XML following the SAF-T 2.0 standard, with Romanian-specific
customizations. The new module l10n_ro_saft lets you generate this
declaration from the General Ledger report.

Here's some documentation about how to use this new module! Yay!

closes odoo/documentation#5532

Task-id: 3172198
X-original-commit: 42ef43f8c4
Related: odoo/enterprise#45939
Related: odoo/odoo#132269
Signed-off-by: Antoine Dupuis (andu) <andu@odoo.com>
This commit is contained in:
Antoine Dupuis (andu) 2023-06-27 14:57:08 +00:00
parent 692fe78bd1
commit 0642f0601f
5 changed files with 171 additions and 1 deletions

View File

@ -106,7 +106,7 @@ available on Odoo.
- :doc:`Philippines - Accounting <fiscal_localizations/philippines>`
- Poland - Accounting
- Portugal - Accounting
- Romania - Accounting
- :doc:`Romania - Accounting <fiscal_localizations/romania>`
- :doc:`Saudi Arabia - Accounting <fiscal_localizations/saudi_arabia>`
- :doc:`Singapore - Accounting <fiscal_localizations/singapore>`
- Slovak - Accounting
@ -147,6 +147,7 @@ available on Odoo.
fiscal_localizations/luxembourg
fiscal_localizations/mexico
fiscal_localizations/netherlands
fiscal_localizations/romania
fiscal_localizations/peru
fiscal_localizations/philippines
fiscal_localizations/saudi_arabia

View File

@ -0,0 +1,169 @@
=======
Romania
=======
Configuration
=============
:ref:`Install <general/install>` the following modules to get all the features of the Romanian
localization.
.. list-table::
:header-rows: 1
* - Name
- Technical name
- Description
* - :guilabel:`Romania - Accounting`
- `l10n_ro`
- Default :ref:`fiscal localization package <fiscal_localizations/packages>`.
* - :guilabel:`Romanian SAF-T Export`
- `l10n_ro_saft`
- Module to generate the **D.406 declaration** in the SAF-T format.
.. image:: romania/romania-modules.png
:alt: Modules for the Romanian localization
D.406 declaration
=================
Starting January 1, 2023, companies registered for tax purposes in Romania must report their
accounting data to the Romanian Tax Agency monthly or quarterly in the D.406 declaration.
Odoo provides all you need to export the data of this declaration in the SAF-T XML format, which you
can validate and sign using the software provided by the Romanian Tax Agency.
.. note::
Currently, Odoo only supports the generation of the monthly/quarterly D.406 declaration
(containing journal entries, invoices, vendor bills, and payments). The yearly declaration
(including assets) and the on-demand declaration (including inventory) are not yet supported.
Configuration
-------------
Company
~~~~~~~
- Under :guilabel:`Settings --> General Settings`, in the **Companies** section, click
:guilabel:`Update Info` and fill in the company's :guilabel:`Country`, :guilabel:`City`, and
:guilabel:`Telephone Number`.
- Provide your company's :abbr:`CUI (Codul Unic de Inregistrare)` number or :abbr:`CIF (*Codul de
identificare fiscală*)` number (for foreign companies) in the :guilabel:`Company ID` field,
without the `RO` prefix (e.g., `18547290`).
- If your company is **registered** for VAT in Romania, fill in the :guilabel:`Tax ID` field number,
including the `RO` prefix (e.g., `RO18547290`). If the company is **not** registered for
VAT in Romania, you **must not** fill in the :guilabel:`Tax ID` field.
- Open the **Contacts** app and search for your company. Open your company's profile, and in the
:guilabel:`Accounting` tab, click :guilabel:`Add a line` and add your **bank account number** if
not informed already. Make sure the profile is set as :guilabel:`Company` above the **name**.
- You must have at least one **contact person** linked to your company in the **Contacts** app.
If no **contact person** is linked, create a new one by clicking :guilabel:`New`, set it
as :guilabel:`Individual`, and select your company in the :guilabel:`Company name` field.
Chart of accounts
~~~~~~~~~~~~~~~~~
To generate a file receivable by the Romanian Tax Agency, the chart of accounts must not deviate
from an official chart of accounts, such as:
- the chart of accounts for commercial companies (*PlanConturiBalSocCom*), which is installed
by default when creating a company with the Romanian localization or;
- the chart of accounts for companies following `IFRS <https://www.ifrs.org/>`_ (*PlanConturiIFRS*).
Under :guilabel:`Settings --> Accounting`, in the **Romanian localization** section, set the
:guilabel:`Tax Accounting Basis` to reflect the accounting regulations and Chart of Accounts used
by the company.
.. seealso::
:doc:`../accounting/get_started/chart_of_accounts`
Customer and supplier
~~~~~~~~~~~~~~~~~~~~~
Fill in the :guilabel:`Country`, :guilabel:`City`, and :guilabel:`Zip Code` of each partner that
appears in your invoices, vendor bills, or payments through the **Contacts** app.
For partners that are companies, you must fill in the VAT number (including the country prefix) in
the :guilabel:`Tax ID` field. If the partner is a company based in Romania, you may instead fill in
the CUI number (without the 'RO' prefix) in the :guilabel:`Company ID` field.
Tax
~~~
You must indicate the :guilabel:`Romanian SAF-T Tax Type` (3-digit number) and :guilabel:`Romanian
SAF-T Tax Code` (6-digit number) on each of the taxes you use. This is already done for the taxes
that exist by default in Odoo. To do so, go to :menuselection:`Accounting --> Configuration -->
Taxes`, select the tax you wish to modify, click the :guilabel:`Advanced Options` tab, and fill in
the **tax type** and **tax code** fields.
.. note::
The **tax type** and **tax code** are codes defined by the Romanian Tax Agency for the **D.406
declaration**. These can be found in the Excel spreadsheet published as guidance for completing
the declaration, which you can find on the `website of the Romanian Tax Agency <https://www.anaf.ro/anaf/internet/ANAF/despre_anaf/strategii_anaf/proiecte_digitalizare/saf_t/>`_.
.. seealso::
:doc:`../accounting/taxes`
Product
~~~~~~~
For some types of goods transactions, the :guilabel:`Intrastat Code` (Cod NC) must be configured
on the product, as it is required by Romanian law:
- import / export transactions;
- acquisitions / supplies of food products subjected to reduced VAT rate;
- intra-community movements subjected to intrastat reporting;
- acquisitions / supplies subjected to local reversed VAT charge (depending on Cod NC); and
- transactions with excisable products for which excise duties are determined based on the Cod NC.
If the Intrastat Code is not specified on a non-service product, the default code '0' will be used.
To configure the :guilabel:`Intrastat Codes`, go to
:menuselection:`Accounting --> Customers --> Products`, select a product, and in the
:guilabel:`Accounting` tab, set a :guilabel:`Commodity Code`.
.. seealso::
:doc:`../accounting/reporting/intrastat`
Vendor bill
~~~~~~~~~~~
You must check the :guilabel:`Is self-invoice (RO)?` checkbox in the :guilabel:`Other Info` tab for
any vendor bill that is a self-invoice (i.e. a vendor bill that you issued yourself in the absence
of an invoice document received from a supplier).
Generating the declaration
--------------------------
Exporting your data
~~~~~~~~~~~~~~~~~~~
To export the XML for the D.406 declaration, go to :menuselection:`Accounting --> Reports -->
General Ledger` and click on :guilabel:`SAF-T`.
.. image:: romania/romania-saft-button.png
:align: center
:alt: Click on the 'SAF-T' button to export the D.406 XML declaration.
You can then validate and sign the XML file using the Romanian Tax Agency's validation software,
*DUKIntegrator*.
Signing the report
~~~~~~~~~~~~~~~~~~
Download and install the *DUKIntegrator* validation software found on the `website of the Romanian
Tax Agency <https://www.anaf.ro/anaf/internet/ANAF/despre_anaf/strategii_anaf/proiecte_digitalizare/saf_t/>`_.
Once you have generated the XML, open 'DUKIntegrator' and select the file you have just generated.
Click on :guilabel:`Validare + creare PDF` to create an **unsigned** PDF containing your report, or
:guilabel:`Validare + creare PDF semnat` to create a **signed** PDF containing your report.
.. image:: romania/romania-dukintegrator.png
:align: center
:alt: The DUKIntegrator validation software.
If the *DUKIntegrator* validator detects errors or inconsistencies in your data, it generates a file
that explains the errors. In this case, you need to correct those inconsistencies in your data
before you can submit the report to the Romanian Tax Agency.

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB