From 8f2246dbaa13e759eaa12afd631a93489cf304da Mon Sep 17 00:00:00 2001 From: afma-odoo Date: Tue, 27 Jan 2026 13:19:10 +0000 Subject: [PATCH] [IMP] l10n-it: modules and e-invoicing updates MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit task-4710859 task-5781167 closes odoo/documentation#16236 X-original-commit: 27aec8faf25b35e1f166df75e4f9cddc3adae3ff Signed-off-by: Audrey Vandromme (auva) Signed-off-by: Anne-Françoise Marcq (afma) --- .../finance/fiscal_localizations/italy.rst | 529 ++++++++++-------- .../fiscal_localizations/italy/edi.png | Bin 16097 -> 0 bytes 2 files changed, 299 insertions(+), 230 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 ff748af1ad..2aaf3e48c4 100644 --- a/content/applications/finance/fiscal_localizations/italy.rst +++ b/content/applications/finance/fiscal_localizations/italy.rst @@ -2,13 +2,17 @@ Italy ===== -.. _italy/modules: +.. |AdE| replace:: :abbr:`AdE (Agenzia delle Entrate)` +.. |SdI| replace:: :abbr:`SdI (Sistema di Interscambio)` +.. |Ri.Ba.| replace:: :abbr:`Ri.Ba. (Ricevute Bancarie)` +.. |PA| replace:: :abbr:`PA (Public Administration)` -Configuration -============= +.. _localizations/italy/modules: -:ref:`Install ` the following modules to get all the features of the Italian -localization: +Modules +======= + +The following modules are installed automatically with the Italian localization: .. list-table:: :header-rows: 1 @@ -23,35 +27,53 @@ localization: * - Italy - E-invoicing - `l10n_it_edi` - E-invoice implementation - * - Italy - E-invoicing (Withholding) - - `l10n_it_edi_withholding` - - E-invoice withholding + * - Italy - Declaration of Intent + - `l10n_it_edi_doi` + - Support for the Declaration of Intent (Dichiarazione di Intento) + * - Italy - Sale E-invoicing + - `l10n_it_edi_sale` + - Sale modifications for E-invoicing + * - Italy - Point of Sale + - `l10n_it_pos` + - Integration of Odoo PoS with the Italian fiscal printer * - Italy - Accounting Reports - `l10n_it_reports` - - Country-specific reports + - Italian reports + * - Italy - Bank Receipts (Ri.Ba.) + - `l10n_it_riba` + - Generation of |Ri.Ba.| files from batch payments in Odoo * - Italy - Stock DDT - `l10n_it_stock_ddt` - Transport documents - Documento di Trasporto (DDT) +.. note:: + In some cases, such as when upgrading to a version with additional modules, it is possible that + modules may not be installed automatically. Any missing modules can be manually :ref:`installed + `. + .. seealso:: :doc:`Documentation on e-invoicing’s legality and compliance in Italy <../accounting/customer_invoices/electronic_invoicing/italy>` -Company information -------------------- +.. _localizations/italy/company: -Configuring the company's information ensures your Accounting database is properly set up. To add -information, go to :menuselection:`Settings --> General Settings`, and in the :guilabel:`Companies` -section, click :guilabel:`Update info`. From here, fill out the fields: +Company +------- -- :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; +To use all the features of this fiscal localization, the following fields are required on the +:ref:`company record `: + +- :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 +.. _localizations/italy/taxes: + Taxes configuration ------------------- @@ -60,7 +82,7 @@ properly configured to generate invoices correctly and handle other billing use The **Italian** localization contains predefined **examples** of taxes for various purposes. -.. _italy/tax-exemption: +.. _localizations/italy/tax-exemption: Tax exemption ~~~~~~~~~~~~~ @@ -94,14 +116,14 @@ justify the exemption operated on an invoice line. **Rename** your taxes in the :guilabel:`Name` field according to their :guilabel:`Exoneration` to differentiate them easily. -.. _italy/reverse-charge: +.. _localizations/italy/reverse-charge: Reverse charge ============== The **reverse charge** mechanism is a VAT rule that shifts the liability to pay VAT from the -supplier to the customer. The customers pay the VAT *themselves* to the :abbr:`AdE (Agenzia delle -Entrate)` instead. There are different types: +supplier to the customer. The customers pay the VAT *themselves* to the |AdE| instead. There are +different types: - | :guilabel:`Internal Reverse Charge` (for domestic sales) | The VAT responsibility is shifted to the buyer for certain categories of products and services. @@ -110,24 +132,25 @@ Entrate)` instead. There are different types: the buyer is itself an Italian business, then the EU offers a mechanism that allows the seller to transfer his responsibility to the buyer. +.. _localizations/italy/reverse-charge-invoices: + Invoices -------- -**Reverse-charged** customer invoices show no VAT amount, but the :abbr:`AdE (Agenzia delle -Entrate)` requires the seller to specify the :guilabel:`Tax Exemption` reason and the :guilabel:`Law -Reference` that enable the reverse-charge mechanism. Odoo provides a set of special 0% taxes that -can be assigned to each reverse-charged invoice lines, representing the most commonly used -configurations. +**Reverse-charged** customer invoices show no VAT amount, but the |AdE| requires the seller to +specify the :guilabel:`Tax Exemption` reason and the :guilabel:`Law Reference` that enable the +reverse-charge mechanism. Odoo provides a set of special 0% taxes that can be assigned to each +reverse-charged invoice lines, representing the most commonly used configurations. + +.. _localizations/italy/reverse-charge-vendor-bills: 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 subject to **reverse charge** must send bill details to the |AdE|. .. note:: - Self-reported VAT XML files must be issued and sent to the :abbr:`AdE (Agenzia Delle Entrate)` - for reverse charged bills. + Self-reported VAT XML files must be issued and sent to the |AdE| 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 @@ -135,92 +158,78 @@ When creating a vendor bill, **reverse charge** taxes are available to be added Services taxes are activated, among others. Due to the automated configuration of the Italian fiscal position, these are automatically activated in the tax list. -.. _italy/grids: +.. _localizations/italy/grids: Tax grids --------- The Italian localization has a specific :ref:`tax grid ` section -for **reverse charge** taxes. These tax grids are identifiable by the :ref:`VJ ` tag, -and can be found by going to :menuselection:`Accounting --> Reporting --> Audit Reports: Tax -Report`. +for **reverse charge** taxes. These tax grids are identifiable by the :guilabel:`VJ` tag, and can be +found by going to :menuselection:`Accounting --> Reporting --> Tax Return`. .. image:: italy/grids.png :alt: Reverse charge tax grid from the VJ section of the Tax Declaration -.. _italy/e-invoicing: +.. _localizations/italy/e-invoicing: E-invoicing =========== -The :abbr:`SdI (Sistema di Interscambio)` is the :doc:`electronic invoicing -<../accounting/customer_invoices/electronic_invoicing>` system used in Italy. It enables the sending -and receiving of electronic invoices to and from customers. The documents must be in an XML -:abbr:`EDI (Electronic Data Interchange)` format called **FatturaPA** and formally validated by the -system before being delivered. +.. note:: + Make sure all the Italian-specific e-invoicing :ref:`modules ` are + :ref:`installed `. -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. +The |SdI| is the :doc:`electronic invoicing <../accounting/customer_invoices/electronic_invoicing>` +system used in Italy. It enables the sending and receiving of electronic invoices to and from +customers. The documents must be in an XML :abbr:`EDI (Electronic Data Interchange)` format +called **FatturaPA** and formally validated by the system before being delivered. -#. Go to `Italian authorities portal `_ and - authenticate; -#. Go to section :menuselection:`Fatture e Corrispettivi`; -#. Set the user as Legal Party for the VAT number you wish to configure the electronic address; +To be able to receive invoices and notifications, the |SdI| 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 |AdE| portal. + +#. 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. -EDI Mode and authorization --------------------------- +.. _localizations/italy/demo-prod-modes: -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 --> -Electronic Document Invoicing`. - -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 |AdE|'s website. -.. image:: italy/edi.png - :alt: Electronic document invoicing settings +Since files are transmitted through Odoo's server before being sent to the |SdI| or received by your +database, authorization is required for Odoo to process them. To activate production mode and enable +transmission to the |SdI|, follow these steps: -.. _italy/e-invoicing-process: +#. 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: Process ------- -The submission of invoices to the :abbr:`SdI (Sistema di Interscambio)` for Italy is an electronic -process used for the mandatory transmission of tax documents in XML format between companies and the -:abbr:`AdE (Agenzia delle Entrate)` to reduce errors and verify the correctness of operations. +The submission of invoices to the |SdI| for Italy is an electronic process used for the mandatory +transmission of tax documents in XML format between companies and the |AdE| to reduce errors and +verify the correctness of operations. .. note:: You can check the current status of an invoice by the :guilabel:`SdI State` field. The XML file @@ -229,12 +238,14 @@ process used for the mandatory transmission of tax documents in XML format betwe .. image:: italy/edi-process.png :alt: EDI system architecture -XML Documents creation +.. _localizations/italy/xml-document: + +XML documents creation ~~~~~~~~~~~~~~~~~~~~~~ Odoo generates the required XML files as attachments to invoices in the `FatturaPA` format required -by the :abbr:`AdE (Agenzia delle Entrate)`. Once the invoices needed are selected, go to -:guilabel:`Action` and click on :guilabel:`Send and Print`. +by the |AdE|. Once the invoices needed are selected, go to :guilabel:`Action` and click on +:guilabel:`Send and Print`. .. image:: italy/edi-menu.png :alt: Send and Print menu @@ -250,53 +261,61 @@ The XML file as well as the PDF once can be found attached to the invoice. .. image:: italy/edi-attachments.png :alt: EDI Attachments +.. _localizations/italy/sdi-submission: + Submission to SDI ~~~~~~~~~~~~~~~~~ The :guilabel:`Send to Tax Agency` option in the :guilabel:`Send and Print` dialog sends the attachment to the :guilabel:`Proxy Server`, which gathers all requests and then forwards them via a -WebServices channel to the :abbr:`SdI (Sistema di Interscambio)`. Check the sending status of the -invoice through the :guilabel:`Check Sending` button at the top of the invoice's view. +WebServices channel to the |SdI|. Check the sending status of the invoice through the +:guilabel:`Check Sending` button at the top of the invoice's view. + +.. _localizations/italy/sdi-processing: Processing by SDI ~~~~~~~~~~~~~~~~~ -The :abbr:`SdI (Sistema di Interscambio)` receives the document and verifies for any errors. At this -stage, the invoice is in the :guilabel:`SdI Processing` state, as shown on the invoice. The invoice -also gets assigned a :guilabel:`FatturaPA Transaction` number that is shown in the -:guilabel:`Electronic Invoicing` tab. The checks may take variable time, ranging from a few seconds -up to a day, depending on the queue of invoices sent throughout Italy. +The |SdI| receives the document and verifies for any errors. At this stage, the invoice is in the +:guilabel:`SdI Processing` state, as shown on the invoice. The invoice also gets assigned a +:guilabel:`FatturaPA Transaction` number that is shown in the :guilabel:`Electronic Invoicing` tab. +The checks may take variable time, ranging from a few seconds up to a day, depending on the queue of +invoices sent throughout Italy. .. image:: italy/edi-processing.png :alt: Check Sending button and Sdi Processing state +.. _localizations/italy/acceptance: + Acceptance ~~~~~~~~~~ -If the document is valid, it is recorded and considered fiscally valid by the :abbr:`AdE (Agenzia -delle Entrate)`, which will proceed with archiving in :guilabel:`Substitute Storage (Conservazione -Sostitutiva)` if explicitly requested on the Agency's portal. +If the document is valid, it is recorded and considered fiscally valid by the |AdE|, which will +proceed with archiving in :guilabel:`Substitute Storage (Conservazione Sostitutiva)` if explicitly +requested on the Agency's portal. .. warning:: Odoo does not offer the `Conservazione Sostitutiva `_ requirements. Other providers - and :abbr:`AdE (Agenzia delle Entrate)` supply free and certified storage to meet the + and |AdE| supply free and certified storage to meet the specifications requested by law. -The :abbr:`SdI (Sistema di Interscambio)` :guilabel:`Destination Code` attempts to forward the -invoice to the customer at the provided address, whether it is a `PEC` email address or a -:abbr:`SdI (Sistema di Interscambio)` :guilabel:`Destination Code` for their ERP's WebServices -channels. A maximum of 6 attempts are made every 12 hours, so even if unsuccessful, this process can -take up to three days. The invoice status is :guilabel:`Accepted by SDI, Forwarding to Partner`. +The |SdI| :guilabel:`Destination Code` attempts to forward the invoice to the customer at the +provided address, whether it is a `PEC` email address or a |SdI| :guilabel:`Destination Code` for +their ERP's WebServices channels. A maximum of 6 attempts are made every 12 hours, so even if +unsuccessful, this process can take up to three days. The invoice status is :guilabel:`Accepted by +SDI, Forwarding to Partner`. -Possible Rejection +.. _localizations/italy/possible-rejection: + +Possible rejection ~~~~~~~~~~~~~~~~~~ -The :abbr:`SdI (Sistema di Interscambio)` may find inaccuracies in the compilation, possibly even -formal ones. In this case, the invoice is in the :guilabel:`SDI Rejected` state. The :abbr:`SdI -(Sistema di Interscambio)`'s observations are inserted at the top of the Invoice tab. To resolve the -issue, it is sufficient to delete the attachments of the invoice, return the invoice to -:guilabel:`Draft`, and fix the errors. Once the invoice is ready, it can be resent. +The |SdI| may find inaccuracies in the compilation, possibly even formal ones. In this case, the +invoice is in the :guilabel:`SDI Rejected` state. The |SdI|'s observations are inserted at the top +of the Invoice tab. To resolve the issue, it is sufficient to delete the attachments of the invoice, +return the invoice to :guilabel:`Draft`, and fix the errors. Once the invoice is ready, it can be +resent. .. note:: To regenerate the XML, both the XML attachment and the PDF report must be deleted, so that they @@ -305,46 +324,48 @@ issue, it is sufficient to delete the attachments of the invoice, return the inv .. image:: italy/edi-rejected.png :alt: EDI Rejected State -Forwarding Completed +.. _localizations/italy/forwarding completed: + +Forwarding completed ~~~~~~~~~~~~~~~~~~~~ The invoice has been delivered to the customer; however, you can still send a copy to the customer in PDF via email or post. Its status is :guilabel:`Accepted by SDI, Delivered to Partner`. -If the :abbr:`SdI (Sistema di Interscambio)` cannot contact your customer, they may not be -registered on the :abbr:`AdE (Agenzia delle Entrate)` portal. In this case, just make sure to send -the invoice in PDF via email or by mail. The invoice is then in the :guilabel:`Accepted by SDI, -Partner Delivery Failed` state. +If the |SdI| cannot contact your customer, they may not be registered on the |AdE| portal. In this +case, just make sure to send the invoice in PDF via email or by mail. The invoice is then in the +:guilabel:`Accepted by SDI, Partner Delivery Failed` state. -Tax Integration +.. _localizations/italy/tax-integration: + +Tax integration --------------- -When you receive a vendor bill, either from :abbr:`SdI (Sistema di Interscambio)`, from paper or -from an imported XML file, the Tax Agency might request that you send some tax information -integration back to the :abbr:`SdI (Sistema di Interscambio)`. It happens when a transaction that -was tax exempt becomes taxable for any reason. +When you receive a vendor bill, either from |SdI|, from paper or from an imported XML file, the Tax +Agency might request that you send some tax information integration back to the |SdI|. It happens +when a transaction that was tax exempt becomes taxable for any reason. .. example:: Here is a non-exhaustive list: - - | :ref:`italy/reverse-charge` + - | :ref:`localizations/italy/reverse-charge` | As a buyer, you have to pay taxes on what you buy and integrate tax information. :guilabel:`Reverse Charge` taxes. - - | :ref:`italy/split-payment` - | As a :abbr:`PA (Public Administration)` business buyer, you have to pay taxes and integrate - tax information. Be sure that you replace the :guilabel:`0% Sale Taxes` on the vendor bill - you received with the correct :guilabel:`Split Payment` taxes. + - | :ref:`localizations/italy/split-payment` + | As a |PA| business buyer, you have to pay taxes and integrate tax information. Be sure that + you replace the :guilabel:`0% Sale Taxes` on the vendor bill you received with the correct + :guilabel:`Split Payment` taxes. - | :guilabel:`Self Consumption` | When, as a business owner, you use an asset that you bought for business for personal reasons instead, you have to pay those taxes you originally deducted as a business cost for it. Odoo may detect that your vendor bill can be interpreted as a document of a type that needs tax -integration, as detailed in the :ref:`italy/document-types` section. +integration, as detailed in the :ref:`localizations/italy/document-types` section. .. important:: Be sure that you replace the :guilabel:`0% Sale Taxes` on the vendor bill you received with the - ones you're supposed to pay to the :abbr:`AdE (Agenzia delle Entrate)`. A button then appears on - the top of the single vendor bill form to send them. + ones you're supposed to pay to the |AdE|. A button then appears on the top of the single vendor + bill form to send them. When clicking on the :guilabel:`Send Tax Integration` button, an XML file of the appropriate :guilabel:`Document Type` is generated, attached to the bill, and sent as for invoices. @@ -352,24 +373,28 @@ integration, as detailed in the :ref:`italy/document-types` section. .. image:: italy/edi-tax-integration-button.png :alt: EDI Send Tax Integration button -.. _italy/document-types: +.. _localizations/italy/document-types: -Document Types +Document types -------------- -The :abbr:`SdI (Sistema di Interscambio)` requires businesses to send customer invoices and other -documents through the :abbr:`EDI (Electronic Data Interchange)`. +The |SdI| requires businesses to send customer invoices and other documents through the :abbr:`EDI +(Electronic Data Interchange)`. The following :guilabel:`Document Type` codes all technically identify different business use cases. -TD01 - Invoices +.. _localizations/italy/invoices: + +TD01 - invoices ~~~~~~~~~~~~~~~ -This represents the standard **domestic** scenario for all invoices exchanged through the :abbr:`SdI -(Sistema di Interscambio)`. Any invoice that doesn't fall into one of the specific special cases -is categorized as a regular invoice, identified by the :guilabel:`Document Type` `TD01`. +This represents the standard **domestic** scenario for all invoices exchanged through the |SdI|. Any +invoice that doesn't fall into one of the specific special cases is categorized as a regular +invoice, identified by the :guilabel:`Document Type` `TD01`. -TD02 - Down payments +.. _localizations/italy/down-payments: + +TD02 - down payments ~~~~~~~~~~~~~~~~~~~~ **Down payment** invoices are imported/exported with a different :guilabel:`Document Type` code @@ -377,18 +402,22 @@ 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. -TD04 - Credit notes +.. _localizations/italy/credit-notes: + +TD04 - credit notes ~~~~~~~~~~~~~~~~~~~ It is the standard scenario for all **credit notes** issued to **domestic** clients, when we need to formally acknowledge that the seller is reducing or cancelling a previously issued invoice, for example, in case of overbilling, incorrect items, or overpayment. Just like invoices, they must be -sent to the :abbr:`SdI (Sistema di Interscambio)`, their :guilabel:`Document Type` `TD04` +sent to the |SdI|, their :guilabel:`Document Type` `TD04` -TD07, TD08, TD09 - Simplified Invoicing +.. _localizations/italy/simplified-invoicing: + +TD07, TD08, TD09 - simplified invoicing ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Simplified invoices (`TD07`), credit notes (`TD08`), and debit notes (`TD09`) can be used to certify @@ -397,19 +426,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:`Company Info`: the **seller**'s full credentials (VAT/TIN number, name, full address) - under :menuselection:`General Settings --> Companies (section)`; -#. :guilabel:`VAT`: the **buyer**'s VAT/TIN number (on the partner form); +#. :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). #. :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:: @@ -417,17 +446,22 @@ In the :abbr:`EDI (Electronic Data Interchange)`, Odoo exports invoices as simpl Ufficiale `_. We advise you to check the current official value. -TD16 - Internal Reverse Charge +.. _localizations/italy/internal-reverse-charge: + +TD16 - internal reverse charge ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Internal reverse charge transactions (see :ref:`italy/tax-exemption` and -:ref:`italy/reverse-charge`) are exported as `TD16` if the following conditions are met: +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` + `: `VJ6`, `VJ7`, `VJ8`, `VJ12`, `VJ13`, `VJ14`, `VJ15`, `VJ16`, `VJ17` -TD17 - Buying services from abroad +.. _localizations/italy/services-abroad: + +TD17 - buying services from abroad ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ When buying **services** from **EU** and **non-EU** countries, the foreign *seller* invoices a @@ -435,18 +469,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**. -TD18 - Buying goods from EU +.. _localizations/italy/goods-eu: + +TD18 - buying goods from EU ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Invoices issued within the EU follow a **standard format**, therefore only an integration of the @@ -454,30 +490,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 has at least one tax on the invoice lines that targets the tax grid :ref:`VJ9 `; +- 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**. -TD19 - Buying goods from VAT deposit +.. _localizations/italy/goods-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 has at least one tax on the invoice lines that targets the tax grid :ref:`VJ3 `; +- 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**. -TD24 - Deferred invoices +.. _localizations/italy/deferred-invoices: + +TD24 - deferred invoices ~~~~~~~~~~~~~~~~~~~~~~~~ The **deferred invoice** is an invoice that is **issued at a later time** than the sale of goods or @@ -494,18 +536,23 @@ Transporto (DDT)**, or **Transport Document**. The deferred invoice **must** ind all the **DDTs** information for better tracing. .. note:: - E-invoicing of deferred invoices requires the `l10n_it_stock_ddt` :ref:`module `. - In this case, a dedicated :guilabel:`Document Type` `TD24` is used in the e-invoice. + E-invoicing of deferred invoices requires the `l10n_it_stock_ddt` :ref:`module + `. In this case, a dedicated :guilabel:`Document Type` `TD24` is + used in the e-invoice. 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. +.. _localizations/italy/san-marino: + TD28 - San Marino ~~~~~~~~~~~~~~~~~ +.. _localizations/italy/san-marino-invoices: + Invoices ******** @@ -514,41 +561,47 @@ 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`; -- Use the generic :abbr:`SdI (Sistema di Interscambio)` :guilabel:`Destination Code` `2R4GTO8`. +- Select a tax with the :guilabel:`Tax Exemption Kind` set to `N3.3`. +- Use the generic |SdI| :guilabel:`Destination Code` `2R4GTO8`. The invoice is then routed by a dedicated office in San Marino to the correct business. -Vendor Bills +.. _localizations/italy/san-marino-vendor-bills: + +Vendor bills ************ When a **paper bill** is received from San Marino, any Italian company **must** submit that invoice -to the :abbr:`AdE (Agenzia delle Entrate)` by indicating the e-invoice's :guilabel:`Document Type` -field with the special value `TD28`. +to the |AdE| by indicating the e-invoice's :guilabel:`Document Type` field with the special value +`TD28`. Odoo exports a transaction as `TD28` if the following conditions are met: -#. It is a vendor bill; -#. It has at least one tax on the invoice lines that targets the tax grids :ref:`VJ `; +#. 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**. -Public Administration Businesses (B2G) +.. _localizations/italy/b2g: + +Public administration businesses (B2G) ====================================== -:abbr:`PA (Public Administration)` businesses are subjected to more control than private businesses -as they handle public money coming from taxpayers. The :abbr:`EDI (Electronic Data Interchange)` -process adds some steps to the :ref:`regular one `, as :abbr:`PA (Public -Administration)` businesses can **accept** or **refuse** invoices. +|PA| businesses are subjected to more control than private businesses as they handle public money +coming from taxpayers. The :abbr:`EDI (Electronic Data Interchange)` process adds some steps to the +:ref:`regular one `, as |PA| businesses can **accept** or +**refuse** invoices. .. note:: - :abbr:`PA (Public Administration)` businesses have a 6-digit long :guilabel:`Destination Code`, - also called :abbr:`CUU (Codice Univoco Ufficio)`, that is **mandatory**, **PEC** address cannot - be used in this case. + |PA| businesses have a 6-digit long :guilabel:`Destination Code`, also called :abbr:`CUU + (Codice Univoco Ufficio)`, that is **mandatory**, **PEC** address cannot be used in this case. .. seealso:: `Complete list of businesses that belong to the Public Administration along with their Destination Code `_ +.. _localizations/italy/cig-cup-doa: + CIG, CUP, DatiOrdineAcquisto ---------------------------- @@ -556,12 +609,12 @@ 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 -electronic invoices when the XML file contains a :abbr:`CIG (Codice Identificativo Gara)` and -:abbr:`CUP (Codice Unico di Progetto)`. +If the XML file requires it, the |AdE| can *only* proceed payments of electronic invoices when the +XML file contains a :abbr:`CIG (Codice Identificativo Gara)` and :abbr:`CUP (Codice Unico di +Progetto)`. .. note:: The :abbr:`CUP (Codice Unico di Progetto)` and the :abbr:`CIG (Codice Identificativo Gara)` must @@ -572,58 +625,63 @@ electronic invoices when the XML file contains a :abbr:`CIG (Codice Identificati electronic invoice XML file, whose table can be found on the government `website `_. -.. _italy/split-payment: +.. _localizations/italy/split-payment: -Split Payment +Split payment ------------- -The :guilabel:`Split Payment` mechanism behaves much like :ref:`italy/reverse-charge`. +The :guilabel:`Split Payment` mechanism behaves much like :ref:`localizations/italy/reverse-charge`. .. example:: - When an Italian company bills a :abbr:`PA (Public Administration)` business - for example, - cleaning services for a public building - the :abbr:`PA (Public Administration)` business - self-reports the VAT to the Tax Agency themselves, and the vendor just has to select the - appropriate tax with the right :guilabel:`Tax Exemption` for their invoice lines. + When an Italian company bills a |PA| business - for example, cleaning services for a public + building - the |PA| business self-reports the VAT to the Tax Agency themselves, and the vendor + just has to select the appropriate tax with the right :guilabel:`Tax Exemption` for their invoice + lines. The specific :guilabel:`Scissione dei Pagamenti` fiscal position is available to deal with partners -belonging to the :abbr:`PA (Public Administration)`. +belonging to the |PA|. + +.. _localizations/italy/b2g-process: Process ------- -.. _italy/digital-signature: +.. _localizations/italy/digital-signature: Qualified electronic signature ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Invoices and bills intended for the :abbr:`PA (Public Administration)` must include a **qualified -electronic signature** when submitted through the :abbr:`SdI (Sistema di Interscambio)`. This -signature is automatically applied in the :abbr:`XAdES (XML Advanced Electronic Signature)` format -when the invoice's partner has a 6-digit long :guilabel:`Destination Code` (which indicates a -:abbr:`PA (Public Administration)` business). +Invoices and bills intended for the |PA| must include a **qualified electronic signature** when +submitted through the |SdI|. This signature is automatically applied in the :abbr:`XAdES (XML +Advanced Electronic Signature)` format when the invoice's partner has a 6-digit long +:guilabel:`Destination Code` (which indicates a |PA| business). .. note:: When such an invoice is transmitted to the Tax Agency, the generated `.xml` file is signed on the Odoo servers, returned to the database, and attached to the invoice automatically. -Acceptance or Refusal +.. _localizations/italy/acceptance-refusal: + +Acceptance or refusal ~~~~~~~~~~~~~~~~~~~~~ -After receiving the invoice through the :abbr:`SdI (Sistema di Interscambio)`, the :abbr:`PA (Public -Administration)` business has 15 days to accept the invoice. If it does, then the process ends here. -If the :abbr:`PA (Public Administration)` business refuses the invoice, it is still considered valid -once it is accepted by the :abbr:`SdI (Sistema di Interscambio)`. You then have to issue a credit -note to compensate and send it to the :abbr:`SdI (Sistema di Interscambio)`. +After receiving the invoice through the |SdI|, the |PA| business has 15 days to accept the invoice. +If it does, then the process ends here. If the |PA| business refuses the invoice, it is still +considered valid once it is accepted by the |SdI|. You then have to issue a credit note to +compensate and send it to the |SdI|. -Expired Terms +.. _localizations/italy/expired-terms: + +Expired terms ~~~~~~~~~~~~~ -If the :abbr:`PA (Public Administration)` business doesn't reply within 15 days, you need to contact -the :abbr:`PA (Public Administration)` business directly, sending them both the invoice and the -received deadline notification by email. You can make an arrangement with them and manually set the -correct :guilabel:`SdI State` on your invoice. +If the |PA| business doesn't reply within 15 days, you need to contact the |PA| business directly, +sending them both the invoice and the received deadline notification by email. You can make an +arrangement with them and manually set the correct :guilabel:`SdI State` on your invoice. -Point of Sale fiscal printers +.. _localizations/italy/pos-printers: + +Point of sale fiscal printers ============================= .. warning:: @@ -636,6 +694,8 @@ compliant sales receipts and secure communication with the Tax Authority. These automatically transmit fiscal data daily. RT printers, designed for individual POS terminals, handle transactions, print receipts, and report to the authorities, ensuring data integrity and compliance. +.. _localizations/italy/simulation-mode: + Simulation mode --------------- @@ -663,6 +723,8 @@ To configure the printer for production, repeat the steps above. To test the printer configuration, the physical device must first be obtained and registered with the relevant authorities. +.. _localizations/italy/printer-setup: + Setting up the printer to work with Odoo ---------------------------------------- @@ -701,26 +763,30 @@ fiscal printer, go to :menuselection:`Point of Sale --> Configuration --> Settin :guilabel:`Connected Devices` section, add the IP address in the :guilabel:`Italian Fiscal Printer IP address` and enable :guilabel:`Use HTTPS`. +.. _localizations/italy/riba: + Ri.Ba. (Ricevuta Bancaria) ========================== -:abbr:`Ri.Ba. (Ricevuta Bancaria)` is a payment method widely used in Italy where vendors request -payments through their bank, which forwards the request to the customer's own bank and takes -responsibility for the collection. This enables payment automation and reduces risks for the vendor. +|Ri.Ba.| is a payment method widely used in Italy where vendors request payments through their bank, +which forwards the request to the customer's own bank and takes responsibility for the collection. +This enables payment automation and reduces risks for the vendor. The vendor generally uploads a fixed-format text file with the list of payments to the bank's web portal. .. note:: - - Ri.Ba. are exclusively for **domestic payments** in Italy. For recurring international - payments, please use `SEPA Direct Debt (SDD) <../accounting/payments/batch_sdd>`_ + |Ri.Ba.| are exclusively for **domestic payments** in Italy. For recurring international + payments, please use `SEPA Direct Debt (SDD) <../accounting/payments/batch_sdd>`_ + +.. _localizations/italy/riba-configuration: Configuration ------------- #. Check that the `l10n_it_riba` module is :ref:`installed `. #. Go to :menuselection:`Settings --> Users & Companies --> Companies` and select the company that - will use Ri.Ba. + will use |Ri.Ba.|. #. Fill out the required :guilabel:`SIA Code`. .. image:: italy/sia-code.png @@ -729,17 +795,20 @@ Configuration .. note:: The :guilabel:`SIA Code` identifies businesses within the Italian banking network and is used to receive money through specific payment methods. It consists of one letter and four digits - (e.g., T1234) and can usually be found on the bank's portal or obtained by contacting the bank. + (e.g., T1234) and can usually be found on the bank's portal or obtained by contacting the + bank. #. Ensure the Company's bank account has an Italian IBAN. .. seealso:: How to configure :doc:`Bank Accounts <../accounting/bank>` +.. _localizations/italy/riba-invoices: + Accept Ri.Ba. for your invoices ------------------------------- -Payments of type :abbr:`Ri.Ba. (Ricevuta Bancaria)` can be registered from the :guilabel:`Invoices` +Payments of type |Ri.Ba.| can be registered from the :guilabel:`Invoices` (:menuselection:`Accounting --> Customers --> Invoices`). .. important:: @@ -751,9 +820,9 @@ Then, all Payments must be grouped in a **Batch Payment**. - :doc:`Batch Payments <../accounting/payments>` - :doc:`Create a Batch Payment <../accounting/payments/batch>` -Once you press the :guilabel:`Validate` button for the Batch Payment, the :abbr:`Ri.Ba. (Ricevuta -Bancaria)` file is generated and attached to the Batch Payment, so you can download it and upload it -through your bank's web portal. +Once you press the :guilabel:`Validate` button for the Batch Payment, the |Ri.Ba.| file is generated +and attached to the Batch Payment, so you can download it and upload it through your bank's web +portal. .. image:: italy/riba-attachment.png :alt: The Ri.Ba. file attached 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