From bf0bf420e18f6d0c0f0d2ada2bcbc5e64663bbc6 Mon Sep 17 00:00:00 2001 From: afma-odoo Date: Fri, 13 Feb 2026 10:09:02 +0000 Subject: [PATCH] [IMP] l10n-it: E-invoicing process update for 18.2->18.4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit task-4710859 closes odoo/documentation#16404 X-original-commit: b749d6d5f0508e30a3e552e684ae109f89990847 Signed-off-by: Audrey Vandromme (auva) Signed-off-by: Anne-Françoise Marcq (afma) --- .../finance/fiscal_localizations/italy.rst | 179 ++++++++---------- .../fiscal_localizations/italy/edi.png | Bin 16097 -> 0 bytes 2 files changed, 82 insertions(+), 97 deletions(-) delete mode 100644 content/applications/finance/fiscal_localizations/italy/edi.png diff --git a/content/applications/finance/fiscal_localizations/italy.rst b/content/applications/finance/fiscal_localizations/italy.rst index a807695305..88099059ba 100644 --- a/content/applications/finance/fiscal_localizations/italy.rst +++ b/content/applications/finance/fiscal_localizations/italy.rst @@ -70,14 +70,14 @@ The following modules are installed automatically with the Italian localization: Company ------- -Configuring the company's information ensures your Accounting database is properly set up. To add -information, open the Settings app, navigate to the :guilabel:`Companies` section, and click -:icon:`oi-arrow-right` :guilabel:`Update info`. Then, fill out the fields: +To use all the features of this fiscal localization, the following fields are required on the +:ref:`company record `: -- :guilabel:`Address`: the address of the company; -- :guilabel:`VAT`: VAT of the company; -- :guilabel:`Codice Fiscale`: the fiscal code of the company; -- :guilabel:`Tax System`: the tax system under which the company falls; +- :guilabel:`Company Name` +- :guilabel:`Address`: the address of the company. +- :guilabel:`VAT`: VAT of the company. +- :guilabel:`Codice Fiscale`: the fiscal code of the company. +- :guilabel:`Tax System`: the tax system under which the company falls. .. image:: italy/company.png :alt: Company information to be provided @@ -158,12 +158,12 @@ configurations. Vendor bills ------------ -Italian companies subjected to Reverse Charge must send the information in the bill received to the -:abbr:`AdE (Agenzia delle Entrate)`. +Italian companies subjected to **reverse charge** must send the information in the bill received to +the :abbr:`AdE (Agenzia delle Entrate)`. .. note:: Self-reported VAT XML files must be issued and sent to the :abbr:`AdE (Agenzia Delle Entrate)` - for reverse charged bills. + for **reverse charged** bills. When creating a vendor bill, **reverse charge** taxes are available to be added in the :guilabel:`Taxes` field. You can check which taxes are available by going to @@ -189,7 +189,8 @@ E-invoicing =========== .. note:: - Make sure all the Italian-specific e-invoicing modules are :ref:`installed `. + Make sure all the Italian-specific e-invoicing :ref:`modules ` are + :ref:`installed `. The :abbr:`SdI (Sistema di Interscambio)` is the :doc:`electronic invoicing <../accounting/customer_invoices/electronic_invoicing>` system used in Italy. It enables the sending @@ -199,59 +200,43 @@ system before being delivered. To be able to receive invoices and notifications, the :abbr:`SdI (Sistema di Interscambio)` service must be notified that the user's files need to be sent to Odoo and processed on their behalf. To do -so, you must set up Odoo's :guilabel:`Destination Code` on the :abbr:`AdE (Agenzia Delle -Entrate)` portal. +so, set up Odoo's :guilabel:`Destination Code` on the :abbr:`AdE (Agenzia Delle Entrate)` portal. -#. Go to `Italian authorities portal `_ and - authenticate; -#. Go to section :guilabel:`Fatture e Corrispettivi`; -#. Set the user as Legal Party for the VAT number you wish to configure the electronic address; +#. Go to the `Italian authorities portal `_ and + authenticate. +#. Go to the :guilabel:`Fatture e Corrispettivi` section. +#. Set the user as Legal Party for the VAT number you wish to configure the electronic address. #. In :menuselection:`Servizi Disponibili --> Fatturazione Elettronica --> Registrazione dell’indirizzo telematico dove ricevere tutte le fatture elettroniche`, insert Odoo's :guilabel:`Destination Code` `K95IV18`, and confirm. -.. _localizations/italy/edi-mode: +.. _localizations/italy/demo-prod-modes: -EDI Mode and authorization --------------------------- - -Since the files are transmitted through Odoo's server before being sent to the :abbr:`SdI (Sistema -di Interscambio)` or received by your database, you need to authorize Odoo to process your files -from your database. To do so, go to :menuselection:`Accounting --> Configuration --> Settings` and -scroll to the :guilabel:`Italian Electronic Invoicing` section. - -There are three modes available: - -- | :guilabel:`Demo` - | This mode simulates an environment in which invoices are sent to the government. In this mode, - invoices need to be *manually* downloaded as XML files and uploaded to the :abbr:`AdE - (Agenzia delle Entrate)`'s website. -- | :guilabel:`Test (experimental)` - | This mode sends invoices to a non-production (i.e., test) service made available by the - :abbr:`AdE (Agenzia delle Entrate)`. Saving this change directs all companies on the database to - use this configuration. -- | :guilabel:`Official` - | This is a production mode that sends your invoices directly to the :abbr:`AdE (Agenzia delle - Entrate)`. - -Once a mode is selected, you need to accept the **terms and conditions** by ticking :guilabel:`Allow -Odoo to process invoices`, and then :guilabel:`Save`. You can now record your transactions in Odoo -Accounting. - -.. warning:: - Selecting either :guilabel:`Test (experimental)` or :guilabel:`Official` is **irreversible**. - For example, once in :guilabel:`Official` mode, it is not possible to select :guilabel:`Test - (experimental)` or :guilabel:`Demo`. We recommend creating a **separate database** for testing - purposes only. +Demo and production modes +------------------------- .. note:: - When in :guilabel:`Test (Experimental)` mode, all invoices sent *must* have a partner using one - of the following fake :guilabel:`Destination Code` given by the :abbr:`AdE (Agenzia Delle - Entrate)`: `0803HR0` - `N8MIMM9` - `X9XX79Z`. Any real production :guilabel:`Codice Destinario` - of your customers will not be recognized as valid by the test service. + - Demo mode is enabled by default and remains active until the option :guilabel:`By checking this + box, I authorize Odoo to send and receive my invoices through the Sistema di Interscambio + (SDI)` is enabled in the :guilabel:`Fattura Electronica (FatturaPA)` section. Once this option + is activated, production mode is enabled and cannot be disabled. + - Demo mode simulates an environment in which invoices are sent to the government. In this mode, + invoices must be *manually* downloaded as XML files and uploaded to the :abbr:`AdE (Agenzia + delle Entrate)`'s website. -.. image:: italy/edi.png - :alt: Electronic document invoicing settings +Since files are transmitted through Odoo's server before being sent to the :abbr:`SdI (Sistema di +Interscambio)` or received by your database, authorization is required for Odoo to process them. To +activate production mode and enable transmission to the :abbr:`SdI (Sistema di Interscambio)`, +follow these steps: + +#. Make sure the :guilabel:`Codice Fiscale` field is completed in the :ref:`Company information + `. +#. Go to :menuselection:`Accounting --> Configuration --> Settings` and scroll to the + :guilabel:`Italian Electronic Invoicing` section. +#. In the :guilabel:`Fattura Electronica (FatturaPA)` section, enable the option :guilabel:`By + checking this box, I authorize Odoo to send and receive my invoices through the Sistema di + Interscambio (SDI)`. +#. Click :guilabel:`Save`. .. _localizations/italy/e-invoicing-process: @@ -339,7 +324,7 @@ take up to three days. The invoice status is :guilabel:`Accepted by SDI, Forward .. _localizations/italy/possible-rejection: -Possible Rejection +Possible rejection ~~~~~~~~~~~~~~~~~~ The :abbr:`SdI (Sistema di Interscambio)` may find inaccuracies in the compilation, possibly even @@ -357,7 +342,7 @@ issue, it is sufficient to delete the attachments of the invoice, return the inv .. _localizations/italy/forwarding completed: -Forwarding Completed +Forwarding completed ~~~~~~~~~~~~~~~~~~~~ The invoice has been delivered to the customer; however, you can still send a copy to the customer @@ -370,7 +355,7 @@ Partner Delivery Failed` state. .. _localizations/italy/tax-integration: -Tax Integration +Tax integration --------------- When you receive a vendor bill, either from :abbr:`SdI (Sistema di Interscambio)`, from paper or @@ -408,7 +393,7 @@ integration, as detailed in the :ref:`localizations/italy/document-types` sectio .. _localizations/italy/document-types: -Document Types +Document types -------------- The :abbr:`SdI (Sistema di Interscambio)` requires businesses to send customer invoices and other @@ -418,7 +403,7 @@ The following :guilabel:`Document Type` codes all technically identify different .. _localizations/italy/invoices: -TD01 - Invoices +TD01 - invoices ~~~~~~~~~~~~~~~ This represents the standard **domestic** scenario for all invoices exchanged through the :abbr:`SdI @@ -427,7 +412,7 @@ is categorized as a regular invoice, identified by the :guilabel:`Document Type` .. _localizations/italy/down-payments: -TD02 - Down payments +TD02 - down payments ~~~~~~~~~~~~~~~~~~~~ **Down payment** invoices are imported/exported with a different :guilabel:`Document Type` code @@ -435,12 +420,12 @@ TD02 - Down payments Odoo exports transactions as `TD02` if the following conditions are met: -#. It is an invoice; +#. It is an invoice. #. All invoice lines are related to down payment sales order lines. .. _localizations/italy/credit-notes: -TD04 - Credit notes +TD04 - credit notes ~~~~~~~~~~~~~~~~~~~ It is the standard scenario for all **credit notes** issued to **domestic** clients, when we need to @@ -450,7 +435,7 @@ sent to the :abbr:`SdI (Sistema di Interscambio)`, their :guilabel:`Document Typ .. _localizations/italy/simplified-invoicing: -TD07, TD08, TD09 - Simplified Invoicing +TD07, TD08, TD09 - simplified Invoicing ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Simplified invoices (`TD07`), credit notes (`TD08`), and debit notes (`TD09`) can be used to certify @@ -459,19 +444,19 @@ invoice, but with fewer information requirements. For a simplified invoice to be established, it must include: -#. :guilabel:`Customer Invoice` reference: **unique** numbering sequence with **no gaps**; -#. :guilabel:`Invoice Date`: issue **date** of the invoice; +#. :guilabel:`Customer Invoice` reference: **unique** numbering sequence with **no gaps**. +#. :guilabel:`Invoice Date`: issue **date** of the invoice. #. :ref:`Company Info `: the **seller**'s full credentials (VAT/TIN - number, name, full address); -#. :guilabel:`VAT`: the **buyer**'s VAT/TIN number (on the partner form); + number, name, full address). +#. :guilabel:`VAT`: the **buyer**'s VAT/TIN number (on the partner form). #. :guilabel:`Total`: the total **amount** (VAT included) of the invoice. In the :abbr:`EDI (Electronic Data Interchange)`, Odoo exports invoices as simplified if: -#. It is a domestic transaction (i.e., the partner is from Italy); +#. It is a domestic transaction (i.e., the partner is from Italy). #. Your company's **required fields** (:guilabel:`VAT Number` or :guilabel:`Codice Fiscale`, - :guilabel:`Fiscal Regime`, and full **address**) are provided; -#. The partner's address is not fully specified (i.e., it misses the City or the ZipCode); + :guilabel:`Fiscal Regime`, and full **address**) are provided. +#. The partner's address is not fully specified (i.e., it misses the City or the ZipCode). #. The total amount of VAT included is **less** than **400 EUR**. .. note:: @@ -481,20 +466,20 @@ In the :abbr:`EDI (Electronic Data Interchange)`, Odoo exports invoices as simpl .. _localizations/italy/internal-reverse-charge: -TD16 - Internal Reverse Charge +TD16 - internal Reverse Charge ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Internal reverse charge transactions (see :ref:`localizations/italy/tax-exemption` and :ref:`localizations/italy/reverse-charge`) are exported as `TD16` if the following conditions are met: -- It is a vendor bill; +- It is a vendor bill. - It has at least **one tax** on the invoice lines that targets one of these :ref:`tax grids `: `VJ6`, `VJ7`, `VJ8`, `VJ12`, `VJ13`, `VJ14`, `VJ15`, `VJ16`, `VJ17` .. _localizations/italy/services-abroad: -TD17 - Buying services from abroad +TD17 - buying services from abroad ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ When buying **services** from **EU** and **non-EU** countries, the foreign *seller* invoices a @@ -502,20 +487,20 @@ service with a **VAT-excluded** price, as it is not taxable in Italy. The VAT is in Italy. - Within the EU: the *buyer* integrates the invoice received with the **VAT information** due in - Italy (i.e., **vendor bill tax integration**); + Italy (i.e., **vendor bill tax integration**). - Non-EU: the *buyer* sends themselves an invoice (i.e., **self-billing**). Odoo exports a transaction as `TD17` if the following conditions are met: -- It is a vendor bill; +- It is a vendor bill. - It has at least **one tax** on the invoice lines that targets the tax grid :ref:`VJ3 - `; + `. - All invoice lines either have :guilabel:`Services` as **products**, or a tax with the :guilabel:`Services` as **tax scope**. .. _localizations/italy/goods-eu: -TD18 - Buying goods from EU +TD18 - buying goods from EU ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Invoices issued within the EU follow a **standard format**, therefore only an integration of the @@ -523,36 +508,36 @@ existing invoice is required. Odoo exports a transaction as `TD18` if the following conditions are met: -- It is a vendor bill; -- The **partner** is from an **EU** country; +- It is a vendor bill. +- The **partner** is from an **EU** country. - It has at least one tax on the invoice lines that targets the tax grid :ref:`VJ9 - `; + `. - All invoice lines either have :guilabel:`Consumable` as **products**, or a tax with :guilabel:`Goods` as **tax scope**. .. _localizations/italy/goods-vat-deposit: -TD19 - Buying goods from VAT deposit +TD19 - buying goods from VAT deposit ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Buying **goods** from a **foreign** vendor, but the **goods** are already in **Italy** in a **VAT deposit**. - From the EU: the *buyer* integrates the invoice received with the **VAT information** due in - Italy (i.e., **vendor bill tax integration**); + Italy (i.e., **vendor bill tax integration**). - Non-EU: the *buyer* sends an invoice to *themselves* (i.e., **self-billing**). Odoo exports a transaction as a `TD19` if the following conditions are met: -- It is a vendor bill; +- It is a vendor bill. - It has at least one tax on the invoice lines that targets the tax grid :ref:`VJ3 - `; + `. - All invoice lines either have :guilabel:`Consumables` as products, or a tax with :guilabel:`Goods` as **tax scope**. .. _localizations/italy/deferred-invoices: -TD24 - Deferred invoices +TD24 - deferred invoices ~~~~~~~~~~~~~~~~~~~~~~~~ The **deferred invoice** is an invoice that is **issued at a later time** than the sale of goods or @@ -575,7 +560,7 @@ all the **DDTs** information for better tracing. Odoo exports transactions as `TD24` if the following conditions are met: -#. It is an invoice; +#. It is an invoice. #. It is associated with deliveries whose **DDTs** have a **different** date than the issue date of the invoice. @@ -594,14 +579,14 @@ the regular **reverse charge** rules. You can use the proper :guilabel:`Document the invoice type: `TD01`, `TD04`, `TD05`, `TD24`, `TD25`. Additional requirements are not enforced by Odoo. However, the user is requested by the **State** to: -- Select a tax with the :guilabel:`Tax Exemption Kind` set to `N3.3`; +- Select a tax with the :guilabel:`Tax Exemption Kind` set to `N3.3`. - Use the generic :abbr:`SdI (Sistema di Interscambio)` :guilabel:`Destination Code` `2R4GTO8`. The invoice is then routed by a dedicated office in San Marino to the correct business. .. _localizations/italy/san-marino-vendor-bills: -Vendor Bills +Vendor bills ************ When a **paper bill** is received from San Marino, any Italian company **must** submit that invoice @@ -610,14 +595,14 @@ field with the special value `TD28`. Odoo exports a transaction as `TD28` if the following conditions are met: -#. It is a vendor bill; +#. It is a vendor bill. #. It has at least one tax on the invoice lines that targets the tax grids :ref:`VJ - `; + `. #. The **country** of the partner is **San Marino**. .. _localizations/italy/b2g: -Public Administration Businesses (B2G) +Public administration businesses (B2G) ====================================== :abbr:`PA (Public Administration)` businesses are subjected to more control than private businesses @@ -643,7 +628,7 @@ To ensure the effective traceability of payments by public administrations, elec issued to public administrations must contain: - The :abbr:`CIG (Codice Identificativo Gara)`, except in cases of exclusion from traceability - obligations provided by law n. 136 of August 13, 2010; + obligations provided by law n. 136 of August 13, 2010. - The :abbr:`CUP (Codice Unico di Progetto)`, in case of invoices related to public works. If the XML file requires it, the :abbr:`AdE (Agenzia Delle Entrate)` can *only* proceed payments of @@ -661,7 +646,7 @@ electronic invoices when the XML file contains a :abbr:`CIG (Codice Identificati .. _localizations/italy/split-payment: -Split Payment +Split payment ------------- The :guilabel:`Split Payment` mechanism behaves much like :ref:`localizations/italy/reverse-charge`. @@ -697,7 +682,7 @@ when the invoice's partner has a 6-digit long :guilabel:`Destination Code` (whic .. _localizations/italy/acceptance-refusal: -Acceptance or Refusal +Acceptance or refusal ~~~~~~~~~~~~~~~~~~~~~ After receiving the invoice through the :abbr:`SdI (Sistema di Interscambio)`, the :abbr:`PA (Public @@ -708,7 +693,7 @@ note to compensate and send it to the :abbr:`SdI (Sistema di Interscambio)`. .. _localizations/italy/expired-terms: -Expired Terms +Expired terms ~~~~~~~~~~~~~ If the :abbr:`PA (Public Administration)` business doesn't reply within 15 days, you need to contact @@ -718,7 +703,7 @@ correct :guilabel:`SdI State` on your invoice. .. _localizations/italy/pos-printers: -Point of Sale fiscal printers +Point of sale fiscal printers ============================= .. warning:: diff --git a/content/applications/finance/fiscal_localizations/italy/edi.png b/content/applications/finance/fiscal_localizations/italy/edi.png deleted file mode 100644 index ccc289c26c847aab1b61184ab8504bad2f215c37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16097 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 VU+$mYzEOvfk@zNF`PC@!{{k}F*wp|4