diff --git a/content/applications/finance/accounting/customer_invoices/electronic_invoicing.rst b/content/applications/finance/accounting/customer_invoices/electronic_invoicing.rst index bb2de68d30..07a720d599 100644 --- a/content/applications/finance/accounting/customer_invoices/electronic_invoicing.rst +++ b/content/applications/finance/accounting/customer_invoices/electronic_invoicing.rst @@ -5,13 +5,13 @@ Electronic invoicing (:abbr:`EDI (electronic data interchange)`) EDI, or electronic data interchange, is the inter-company communication of business documents, such as purchase orders and invoices, in a standard format. Sending documents according to an EDI standard ensures that the machine receiving the message can interpret the information correctly. -Various EDI file formats exist and are available depending on your company's country. +Various EDI file formats are available depending on your company's country. -EDI feature enables automating the administration between companies and might also be required by -some governments for fiscal control or to facilitate the administration. +EDI feature enables automation of the administration between companies and might also be required by +some governments for fiscal control or to facilitate administration. -Electronic invoicing of your documents such as customer invoices, credit notes or vendor bills is -one of the application of EDI. +Electronic invoicing of documents such as customer invoices, credit notes, or vendor bills is one +application of EDI. Odoo supports, among others, the following formats. @@ -57,45 +57,43 @@ Odoo supports, among others, the following formats. .. seealso:: :doc:`../../fiscal_localizations` -.. _e-invoicing/configuration: +.. _accounting/e-invoicing/configuration: Configuration ============= -By default, the format available in the :ref:`send window ` depends on your -customer's country. +By default, the available format in the :ref:`send window ` +depends on the customer's country. -You can define a specific e-invoicing format for each customer. To do so, go to -:menuselection:`Accounting --> Customers --> Customers`, open the customer form, go to the -:guilabel:`Accounting` tab and select the appropriate format. +To define a specific e-invoicing format for each customer, go to :menuselection:`Accounting --> +Customers --> Customers`, open the customer form, go to the :guilabel:`Accounting` tab, and select +the appropriate format. .. image:: electronic_invoicing/customer-form.png :alt: Select an EDI format for a specific customer +.. _accounting/e-invoicing/national-electronic-invoicing: + National electronic invoicing ----------------------------- Depending on your company's country (e.g., :doc:`Italy <../../fiscal_localizations/italy>`, -:doc:`Spain <../../fiscal_localizations/spain>`, :doc:`Mexico -<../../fiscal_localizations/mexico>`, etc.), you may be required to issue e-invoicing documents in -a specific format for all your invoices. In this case, you can define a default e-invoicing format -for your sales journal. - -To do so, go to :menuselection:`Accounting --> Configuration --> Journals`, open your sales journal, -go to the :guilabel:`Advanced Settings` tab, and enable the formats you need for this journal. +:doc:`Spain <../../fiscal_localizations/spain>`, :doc:`Mexico <../../fiscal_localizations/mexico>`, +etc.), it may be required to issue e-invoicing documents in a specific format for all invoices. In +this case, define a default e-invoicing format for the sales journal. -.. _e-invoicing/generation: +To do so, go to :menuselection:`Accounting --> Configuration --> Journals`, open the sales journal, +go to the :guilabel:`Advanced Settings` tab, and enable the formats needed for this journal. -E-invoices generation -===================== +.. _accounting/e-invoicing/generation: -From a confirmed invoice, click :guilabel:`Send & Print` to open the send window. Check the -e-invoicing option to generate and attach the e-invoice file. +E-invoice generation +==================== -.. image:: electronic_invoicing/send-window.png - :alt: The Peppol option is checked and an e-invoicing XML file is attached to the email. +From a confirmed invoice, click :guilabel:`Send & Print`. In the :guilabel:`Send` window, enable the +:guilabel:`BIS Billing 3.0` option to generate and attach the e-invoicing XML file. -.. _e-invoicing/peppol: +.. _accounting/e-invoicing/peppol: Peppol ====== @@ -105,17 +103,18 @@ between enterprises and governmental authorities. It is primarily used for elect its access points (connectors to the Peppol network) allow enterprises to exchange electronic documents. -Odoo is an **access point** and an :abbr:`SMP (Service Metadata Publisher)`, enabling electronic -invoicing transactions without the need to send invoices and bills by email or post. +Odoo is an **access point** and an :abbr:`SMP (Service Metadata Publisher)` that enables electronic +invoicing transactions without sending invoices and bills by email or post. -If not done yet, :ref:`install ` the :guilabel:`Peppol` module (`account_peppol`). +.. note:: + Make sure to :ref:`install ` the :guilabel:`Peppol` module (`account_peppol`). .. important:: - Peppol registration is **free** and available in Odoo Community - - You can send **Customer Invoices** and **Credit Notes** and receive **Vendor Bills** and - **Refunds** via Peppol. - - You can send in one of the following supported document formats: **BIS Billing 3.0, XRechnung - CIUS, NLCIUS**. + - **Customer Invoices** and **Credit Notes** can be sent, and **Vendor Bills** and **Refunds** + can be received via Peppol. + - Supported document formats for sending include **BIS Billing 3.0, XRechnung CIUS, and + NLCIUS**. - | The following **countries** are eligible for **Peppol registration in Odoo**: | Andorra, Albania, Austria, Bosnia and Herzegovina, Belgium, Bulgaria, Switzerland, Cyprus, Czech Republic, Germany, Denmark, Estonia, Spain, Finland, France, United Kingdom, Greece, @@ -123,159 +122,192 @@ If not done yet, :ref:`install ` the :guilabel:`Peppol` module Monaco, Montenegro, North Macedonia, Malta, Netherlands, Norway, Poland, Portugal, Romania, Serbia, Sweden, Slovenia, Slovakia, San Marino, Turkey, Holy See (Vatican City State) -.. _e-invoicing/peppol-registration: +.. _accounting/e-invoicing/peppol-registration: Registration ------------ -Go to :menuselection:`Accounting --> Configuration --> Settings`. If you do not have the -Peppol module installed, first tick the :guilabel:`Enable PEPPOL` checkbox and then **manually -save**. - -.. image:: electronic_invoicing/peppol-install.png - :alt: Peppol module installation - -Fill in the following information: +By default, Peppol is set to :guilabel:`Demo` mode in Odoo. :ref:`Demo +` mode simulates Peppol transactions without +affecting real data, while :ref:`Live ` mode is +used in production environments. -- :guilabel:`Peppol EAS`. This is the Peppol Electronic Address Scheme and usually depends on your - company's country. Odoo often prefills this with the most commonly used EAS code in your country. - For example, the preferred EAS code for most companies in Belgium is 0208. -- :guilabel:`Peppol Endpoint`. This is usually a Company Registry number or a VAT number. -- :guilabel:`Phone Number`, including the country code (e.g., `+32` in Belgium) -- :guilabel:`Primary contact email` +.. _accounting/e-invoicing/peppol-registration-demo: -.. seealso:: - - `Peppol EAS - European Commision `_ - - `Peppol Endpoint - OpenPeppol eDEC Code Lists `_ - (open the "Participant Identifier Schemes" as HTML page) +Demo mode +~~~~~~~~~ -If you are migrating from another access point, insert the :guilabel:`Migration key` from the -previous provider. +Registering in :guilabel:`Demo` mode allows for a complete simulation of Peppol in Odoo, including +invoice sending and receiving. However, no communication with the Peppol network occurs, so actions +like partner verification are not performed. -.. image:: electronic_invoicing/peppol-settings.png - :alt: Configuration for peppol +To configure demo mode, follow these steps: -Finally, click :guilabel:`Validate registration`. If you want to explore or demo Peppol, you can -choose to register in :guilabel:`Demo` mode. Otherwise, select :guilabel:`Live`. +#. Go to :menuselection:`Accounting --> Configuration --> Settings`. +#. Scroll to the :guilabel:`PEPPOL Electronic Document Invoicing` section. +#. Enter a :guilabel:`Mobile Number` and a :guilabel:`Primary contact email`. +#. Click :guilabel:`Validate registration (Demo)`. - .. image:: electronic_invoicing/peppol-demo-mode.png - :alt: Peppol demo mode selection +The :guilabel:`Application status` is then :guilabel:`Active (Demo)`. -.. note:: - When testing Peppol, the system parameter `account_peppol.edi.mode` can be changed to `test`. - Then, a radio button appears with the option to register on the test server. +.. tip:: + For **advanced users only**, running tests on Peppol's test network is possible. The server + allows users to register on Peppol and to send/receive test invoices with other participants. + To do so, enable :ref:`developer mode `, open the Settings app, go to + :menuselection:`Technical --> System Parameters`, and search for + :guilabel:`account_peppol.edi.mode`. Open the parameter and change the :guilabel:`Value` to + `test`. Next, go back to the Peppol setup menu in the Settings app; the :guilabel:`Test` option + is then available. + +.. _accounting/e-invoicing/peppol-registration-live: + +Live mode +~~~~~~~~~ + +To switch from :guilabel:`Demo` mode to :guilabel:`Live` mode, enable :ref:`developer mode +`, open the Settings app, go to :menuselection:`Technical --> System Parameters`, +and search for :guilabel:`account_peppol.edi.mode`. Open the parameter and change the +:guilabel:`Value` to `live`. Then, go to :menuselection:`Accounting --> Configuration --> Settings`, +scroll to the :guilabel:`Peppol Electronic Document Invoicing` section, and fill in the following +information: + +- :guilabel:`Peppol EAS`: Peppol Electronic Address Scheme, which usually depends on the company's + country. This field is often prefilled with your country's most commonly used EAS code. For + example, the preferred EAS code for most companies in Belgium is 0208. +- :guilabel:`Peppol Endpoint`: usually a Company Registry number or a VAT number +- :guilabel:`Mobile Number`, including the country code (e.g., `+32` in Belgium) +- :guilabel:`Primary contact email` +- :guilabel:`Migration key`: Peppol connection to migrate from another access point - .. image:: electronic_invoicing/peppol-system-parameter.png - :alt: Peppol test mode parameter +Then, click :guilabel:`Validate registration`. - .. image:: electronic_invoicing/peppol-test-mode-settings.png - :alt: Peppol test mode selection +.. seealso:: + - `Peppol EAS - European Commision `_ + - `Peppol Endpoint - OpenPeppol eDEC Code Lists `_ + (open the "Participant Identifier Schemes" as HTML page) -Now, you can request a verification code to be sent to you by clicking :guilabel:`Verify phone -number`. +To request and receive a verification code, follow these steps: -.. image:: electronic_invoicing/peppol-registration-verify.png - :alt: phone validation request verification +#. Click :guilabel:`Verify phone number` in the :guilabel:`PEPPOL Electronic Document Invoicing` + section. -A text message containing a code is sent to the phone number provided to finalize the verification -process. + .. image:: electronic_invoicing/peppol-registration-verify.png + :alt: phone validation request verification -.. image:: electronic_invoicing/phone-registration.png - :alt: phone validation +#. A text message containing a code is sent to the mobile number provided to finalize the + verification process. +#. Enter the code and click :guilabel:`Confirm`. +#. The registration is then pending activation. +#. The default journal used for receiving Vendor Bills can be set. -Once you enter the code and click :guilabel:`Confirm`, you can see that your registration is pending -activation. From this point onwards, the default journal for receiving Vendor Bills can be set. + .. image:: electronic_invoicing/peppol-registration-pending.png + :alt: pending application -.. image:: electronic_invoicing/peppol-registration-pending.png - :alt: pending application +#. The registration should be automatically activated within a day. -It should be automatically activated within a day. + .. tip:: + To manually trigger the cron that checks the registration status, access :doc:`scheduled + actions <../../../sales/subscriptions/scheduled_actions>`, search for :guilabel:`PEPPOL: + update participant status`, and run it manually. -.. tip:: - It is also possible to manually trigger the cron that checks the registration status by going to - :menuselection:`Settings --> Technical --> Scheduled Actions --> PEPPOL\: update participant - status`. +#. The application status should be updated to :guilabel:`Active` soon after registering on Peppol. -Your application status should be updated soon after you are registered on the Peppol network. + .. image:: electronic_invoicing/peppol-registration-active.png + :alt: active application -.. image:: electronic_invoicing/peppol-registration-active.png - :alt: active application +All invoices and vendor bills can now be sent directly using Peppol. -All invoices and vendor bills can now be sent directly using the Peppol network. +.. _accounting/e-invoicing/contact-verification: Contact verification -------------------- -Before sending an invoice to a contact using the Peppol network, it is necessary to verify that they -are also registered as a Peppol participant. +Before sending an invoice to a contact using Peppol, make sure the contact is registered as a Peppol +participant. To do so, follow these steps: + +#. Go to :menuselection:`Accounting --> Customers --> Customers` and open the customer's form. +#. In the :guilabel:`Accounting tab`, check the following information in the :guilabel:`Electronic + Invoicing` section: -To do so, go to :menuselection:`Accounting --> Customers --> Customers` and open the customer's -form. Then go to :menuselection:`Accounting tab --> Electronic Invoicing`, select the correct -format, and make sure their :guilabel:`Peppol EAS code` and the :guilabel:`Endpoint` are filled in. -Then, click :guilabel:`Verify`. If the contact exists on the network, their Peppol endpoint validity -is set to Valid. + - :guilabel:`Format`: :guilabel:`BIS Billing 3.0`, :guilabel:`XRechnung CIUS` or + :guilabel:`NLCIUS`. + - :guilabel:`Peppol e-address (EAS)`: code used to identify the Endpoint + - :guilabel:`Peppol Endpoint`: unique identifier used, also known as Endpoint ID -.. image:: electronic_invoicing/peppol-contact-verify.png - :alt: verify contact registration +#. Click :guilabel:`Verify`. If the contact is found on the Peppol network, its :guilabel:`Peppol + endpoint validity` is marked as :guilabel:`Valid`. + + .. image:: electronic_invoicing/customer-form.png + :alt: verify contact registration .. important:: While Odoo prefills both the EAS code and the Endpoint number based on the information available for a contact, it is better to confirm these details directly with the contact. -It is possible to verify the Peppol participant status of several customers at once. -To do so, go to :menuselection:`Accounting --> Customers --> Customers` and switch to the list view. -Select the customers you want to verify and then click :menuselection:`Actions --> Verify Peppol`. +.. _accounting/e-invoicing/send-invoices: Send invoices ------------- -Once ready to send an invoice via the Peppol network, simply click :guilabel:`Send & Print` on the -invoice form. To queue multiple invoices, select them in the list view and click -:menuselection:`Actions --> Send & Print`; they will be sent in a batch later on. Both -:guilabel:`BIS Billing 3.0` and :guilabel:`Send via PEPPOL` checkboxes need to be ticked. +To set Peppol as a default format for sending invoices, go to :menuselection:`Accounting --> +Configuration --> Settings`. In the :guilabel:`Customer Invoices` section, enable the +:guilabel:`Peppol format` option and :guilabel:`Save`. -.. image:: electronic_invoicing/peppol-send-print.png - :alt: Send peppol invoice +Posted invoices sent via Peppol are marked as :guilabel:`Ready to send` in the invoice's +:guilabel:`Peppol status` field. + +.. note:: + All invoices that are ready to be sent via Peppol can be viewed in the following ways: -Posted invoices that can be sent via Peppol are marked as :guilabel:`Peppol Ready`. -To display them, use the :guilabel:`Peppol Ready` filter or access the Accounting dashboard and -click :guilabel:`Peppol ready invoices` on the corresponding sales journal. + - In the :guilabel:`Invoices` list view, use the :icon:`oi-settings-adjust` (:guilabel:`adjust + settings`) icon to add the :guilabel:`Peppol status` column or apply the :guilabel:`Peppol + Ready` filter in the search bar. + - In the Accounting dashboard, click :guilabel:`Peppol ready invoices` on the relevant sales + journal. -.. image:: electronic_invoicing/peppol-ready-invoices.png - :alt: Filter Peppol ready invoices +To send the invoice to the customer via Peppol, click :guilabel:`Send & Print` on the confirmed +invoice form. In the :guilabel:`Send` window, enable both :guilabel:`BIS Billing 3.0` and +:guilabel:`Send via PEPPOL` checkboxes. + +.. tip:: + :ref:`Multiple invoices ` can also be sent in batches via Peppol. + +.. image:: electronic_invoicing/peppol-send-print.png + :alt: Send peppol invoice -Once the invoices are sent via Peppol, the status is changed to :guilabel:`Processing`. The -status is changed to `Done` after they have been successfully delivered to the contact's Access -Point. +Once the invoices are sent via Peppol, the :guilabel:`Peppol status` is changed to +:guilabel:`Processing`. .. image:: electronic_invoicing/peppol-message-processing.png :alt: Peppol message status -.. tip:: - By default, the Peppol status column is hidden on the Invoices list view. You can choose to have - it displayed by selecting it from the optional columns, accessible from the top right corner of - the Invoices list view. +The status is updated to :guilabel:`Done` once the invoices have been successfully delivered to the +contact's access point. -A cron runs regularly to check the status of these invoices. It is possible to check the status -before the cron runs by clicking :guilabel:`Fetch Peppol invoice status` in the corresponding -sales journal on the Accounting dashboard. +.. tip:: + To manually trigger the cron that checks the invoices status, click :guilabel:`Fetch Peppol + invoice status` in the corresponding sales journal on the Accounting dashboard. .. image:: electronic_invoicing/peppol-fetch-message-status.png :alt: Fetch invoice Peppol status +.. _accounting/e-invoicing/receive-vendor-bills: + Receive vendor bills -------------------- -Once a day, a cron checks whether any new documents have been sent to you via the Peppol network. -These documents are imported, and the corresponding vendor bills are created automatically as -drafts. - -.. image:: electronic_invoicing/peppol-receive-bills.png - :alt: peppol receive bills +A daily cron checks for new documents received via Peppol. Any received documents are automatically +imported, and corresponding vendor bills are created as drafts, appearing in the vendor bills list +view. -If you want to retrieve incoming Peppol documents before the cron runs, you can do so from the -Accounting dashboard on the main Peppol purchase journal that you set up in the settings. Just click -:guilabel:`Fetch from Peppol`. +.. tip:: + To manually trigger the cron to retrieve incoming Peppol documents, go to the Accounting + dashboard and click :guilabel:`Fetch from Peppol` on the main Peppol purchase journal. .. image:: electronic_invoicing/peppol-fetch-bills.png :alt: Fetch bills from Peppol + +.. note:: + When multiple purchase journals are used, incoming Peppol documents appear in the Document app + for later processing. + diff --git a/content/applications/finance/accounting/customer_invoices/electronic_invoicing/customer-form.png b/content/applications/finance/accounting/customer_invoices/electronic_invoicing/customer-form.png index bdd7ed5fa2..ad15506844 100644 Binary files a/content/applications/finance/accounting/customer_invoices/electronic_invoicing/customer-form.png and b/content/applications/finance/accounting/customer_invoices/electronic_invoicing/customer-form.png differ diff --git a/content/applications/finance/accounting/customer_invoices/electronic_invoicing/peppol-contact-verify.png b/content/applications/finance/accounting/customer_invoices/electronic_invoicing/peppol-contact-verify.png deleted file mode 100644 index fecc4aaa00..0000000000 Binary files a/content/applications/finance/accounting/customer_invoices/electronic_invoicing/peppol-contact-verify.png and /dev/null differ diff --git a/content/applications/finance/accounting/customer_invoices/electronic_invoicing/peppol-demo-mode.png b/content/applications/finance/accounting/customer_invoices/electronic_invoicing/peppol-demo-mode.png deleted file mode 100644 index d09a81292c..0000000000 Binary files a/content/applications/finance/accounting/customer_invoices/electronic_invoicing/peppol-demo-mode.png and /dev/null differ diff --git a/content/applications/finance/accounting/customer_invoices/electronic_invoicing/peppol-install.png b/content/applications/finance/accounting/customer_invoices/electronic_invoicing/peppol-install.png deleted file mode 100644 index 69d72286b2..0000000000 Binary files a/content/applications/finance/accounting/customer_invoices/electronic_invoicing/peppol-install.png and /dev/null differ diff --git a/content/applications/finance/accounting/customer_invoices/electronic_invoicing/peppol-ready-invoices.png b/content/applications/finance/accounting/customer_invoices/electronic_invoicing/peppol-ready-invoices.png deleted file mode 100644 index 9e1b3b5901..0000000000 Binary files a/content/applications/finance/accounting/customer_invoices/electronic_invoicing/peppol-ready-invoices.png and /dev/null differ diff --git a/content/applications/finance/accounting/customer_invoices/electronic_invoicing/peppol-receive-bills.png b/content/applications/finance/accounting/customer_invoices/electronic_invoicing/peppol-receive-bills.png deleted file mode 100644 index cc5ac2859a..0000000000 Binary files a/content/applications/finance/accounting/customer_invoices/electronic_invoicing/peppol-receive-bills.png and /dev/null differ diff --git a/content/applications/finance/accounting/customer_invoices/electronic_invoicing/peppol-send-print.png b/content/applications/finance/accounting/customer_invoices/electronic_invoicing/peppol-send-print.png index 5a8b1fb0d5..f367c3c187 100644 Binary files a/content/applications/finance/accounting/customer_invoices/electronic_invoicing/peppol-send-print.png and b/content/applications/finance/accounting/customer_invoices/electronic_invoicing/peppol-send-print.png differ diff --git a/content/applications/finance/accounting/customer_invoices/electronic_invoicing/peppol-settings.png b/content/applications/finance/accounting/customer_invoices/electronic_invoicing/peppol-settings.png deleted file mode 100644 index 4810433e20..0000000000 Binary files a/content/applications/finance/accounting/customer_invoices/electronic_invoicing/peppol-settings.png and /dev/null differ diff --git a/content/applications/finance/accounting/customer_invoices/electronic_invoicing/peppol-system-parameter.png b/content/applications/finance/accounting/customer_invoices/electronic_invoicing/peppol-system-parameter.png deleted file mode 100644 index ae63e31cfa..0000000000 Binary files a/content/applications/finance/accounting/customer_invoices/electronic_invoicing/peppol-system-parameter.png and /dev/null differ diff --git a/content/applications/finance/accounting/customer_invoices/electronic_invoicing/peppol-test-mode-settings.png b/content/applications/finance/accounting/customer_invoices/electronic_invoicing/peppol-test-mode-settings.png deleted file mode 100644 index 35ed69eda9..0000000000 Binary files a/content/applications/finance/accounting/customer_invoices/electronic_invoicing/peppol-test-mode-settings.png and /dev/null differ diff --git a/content/applications/finance/accounting/customer_invoices/electronic_invoicing/phone-registration.png b/content/applications/finance/accounting/customer_invoices/electronic_invoicing/phone-registration.png deleted file mode 100644 index 91230139fc..0000000000 Binary files a/content/applications/finance/accounting/customer_invoices/electronic_invoicing/phone-registration.png and /dev/null differ diff --git a/content/applications/finance/accounting/customer_invoices/electronic_invoicing/send-window.png b/content/applications/finance/accounting/customer_invoices/electronic_invoicing/send-window.png deleted file mode 100644 index 15186ebfc4..0000000000 Binary files a/content/applications/finance/accounting/customer_invoices/electronic_invoicing/send-window.png and /dev/null differ diff --git a/content/applications/finance/fiscal_localizations/france.rst b/content/applications/finance/fiscal_localizations/france.rst index 810632d8e1..850d35fbe3 100644 --- a/content/applications/finance/fiscal_localizations/france.rst +++ b/content/applications/finance/fiscal_localizations/france.rst @@ -109,8 +109,8 @@ To send invoices to Chorus Pro, the following configuration is required: #. :doc:`Install ` the :guilabel:`France - Factur-X integration with Chorus Pro` (`l10n_fr_facturx_chorus_pro`) module. -#. :ref:`Register ` with Peppol, as invoices are sent from Odoo to - Chorus Pro via the :ref:`Peppol ` network. +#. :ref:`Register ` with Peppol, as invoices are sent + from Odoo to Chorus Pro via the :ref:`Peppol ` network. #. If you don’t already have a Chorus Pro account, go to the `Chorus Pro `_ page, click :guilabel:`Créer un compte`, and create one. @@ -158,7 +158,7 @@ To send invoices to Chorus Pro, follow these steps: Once the invoice is sent, the Peppol status of the invoice is updated to :guilabel:`Done`. .. seealso:: - :ref:`Peppol ` + :ref:`Peppol ` .. _localizations/france/fec: