@@ -22,7 +22,7 @@ Odoo supports, among others, the following formats.
2222 - Applicability
2323 * - Factur-X (PDF/A-3)
2424 - For French and German companies
25- * - Peppol BIS Billing 3.0 (UBL)
25+ * - Peppol BIS Billing 3.0 (UBL BIS Billing 3.0 )
2626 - For companies whose countries are part of the `EAS list
2727 <https://docs.peppol.eu/poacc/billing/3.0/codelist/eas/> `_
2828 * - E-FFF
@@ -51,6 +51,8 @@ Odoo supports, among others, the following formats.
5151 - For Singaporean companies
5252 * - A-NZ BIS Billing 3.0
5353 - For Australian/New Zealand companies
54+ * - Peppol
55+ - For :ref: `Peppol<e-invoicing/peppol> `
5456
5557.. seealso ::
5658 :ref: `fiscal_localizations/packages `
@@ -81,3 +83,174 @@ visible in the attachment section, or embedded in the PDF.
8183 Information `.
8284 - Odoo supports the **Peppol BIS Billing 3.0 ** format that can be used via existing access
8385 points.
86+
87+ .. _e-invoicing/peppol :
88+
89+ Peppol
90+ ======
91+
92+ The `Peppol <https://peppol.org/about/ >`_ network ensures the exchange of documents and information
93+ between companies and governmental authorities. It is primarily used for electronic invoicing, and
94+ its access points (connectors to the Peppol network) allow companies to send electronic documents
95+ such as customer invoices and credit notes and receive documents like vendor bills and refunds.
96+
97+ In this case, Odoo acts as both an **access point ** and an :abbr: `SMP ( Service Metadata Publisher ) `
98+ and enables electronic invoicing transactions without the need to send invoices or bills by email or
99+ post.
100+
101+ .. note ::
102+ - Make sure to :ref: `install <general/install >` the :guilabel: `Peppol ` module (`account_peppol `).
103+ - Peppol registration is **free ** and available in Odoo Community.
104+ - Supported formats for sending documents include **BIS Billing 3.0, XRechnung CIUS, and
105+ NLCIUS **.
106+ - | The following **countries ** are eligible for **Peppol registration in Odoo **:
107+ | Andorra, Albania, Austria, Bosnia and Herzegovina, Belgium, Bulgaria, Switzerland, Cyprus,
108+ Czech Republic, Germany, Denmark, Estonia, Spain, Finland, France, United Kingdom, Greece,
109+ Croatia, Hungary, Ireland, Iceland, Italy, Liechtenstein, Lithuania, Luxembourg, Latvia,
110+ Monaco, Montenegro, North Macedonia, Malta, Netherlands, Norway, Poland, Portugal, Romania,
111+ Serbia, Sweden, Slovenia, Slovakia, San Marino, Turkey, Holy See (Vatican City State)
112+
113+ .. _e-invoicing/peppol-registration :
114+
115+ Registration
116+ ------------
117+
118+ To register on Peppol, go to :menuselection: `Accounting --> Configuration --> Settings `, scroll
119+ to the :guilabel: `PEPPOL Electronic Document Invoicing ` section, and fill in the following
120+ information:
121+
122+ - :guilabel: `Peppol EAS `: Peppol Electronic Address Scheme, which usually depends on the
123+ company's country. This field is often prefilled with your country's most commonly used EAS
124+ code. For example, the preferred EAS code for most companies in Belgium is `0208 `.
125+ - :guilabel: `Peppol Endpoint `: usually a Company Registry number or a VAT number
126+ - :guilabel: `Mobile Number `, including the country code (e.g., `+32 ` in Belgium)
127+ - :guilabel: `Primary contact email `
128+
129+ .. seealso ::
130+ - `Peppol EAS - European Commision <https://ec.europa.eu/digital-building-blocks/wikis/display/DIGITAL/Code+lists/ >`_
131+ - `Peppol endpoint - OpenPeppol eDEC Code Lists <https://docs.peppol.eu/edelivery/codelists/ >`_
132+ (open the "Participant Identifier Schemes" as HTML page)
133+
134+ #. Click :guilabel: `Validate registration `.
135+
136+ #. The registration should be automatically activated, and the :guilabel: `Application status `
137+ should be updated within a day.
138+
139+ #. Select another purchase journal in the :guilabel: `Incoming Invoices Journal ` field if necessary.
140+
141+ All invoices can then be sent directly using Peppol.
142+
143+ .. note ::
144+ - To update the :guilabel: `Primary contact email `, modify it and click :guilabel: `Update contact
145+ details `.
146+ - If you are using an access point from a previous provider, make sure to deregister from it
147+ first, then register with your new access point, unless it's Hermes (BOSA). If using Hermes
148+ (BOSA), no action is needed; the migration is handled automatically.
149+
150+ .. tip ::
151+ - To manually trigger the scheduled action used to check the Peppol registration status, enable
152+ :ref: `developer mode <developer-mode >`, open the Settings app, go to :menuselection: `Settings
153+ --> Technical --> Scheduled actions `, and search for :guilabel: `Peppol: update participant
154+ status `. Open the scheduled action, then click :guilabel: `Run Manually `.
155+ - To try Peppol without sending real data, use the demo mode by setting the
156+ :guilabel: `account_edi_proxy_client.demo ` system parameter to `demo `. This has to be done
157+ before clicking :guilabel: `Validate registration `.
158+ - For advanced testing on Peppol's dedicated test network, use the test mode by setting the
159+ :guilabel: `account_edi_proxy_client.demo ` system parameter to `test `. This option is intended for
160+ experienced users only. This has to be done before clicking :guilabel: `Validate registration `.
161+
162+ .. _e-invoicing/contact-verification :
163+
164+ Contact verification
165+ --------------------
166+
167+ Before sending an invoice to a contact using Peppol, make sure the contact is registered as a Peppol
168+ participant. To do so, follow these steps:
169+
170+ #. Go to :menuselection: `Accounting --> Customers --> Customers ` and access the customer's form.
171+ #. In the :guilabel: `Accounting tab `, check the following information in the :guilabel: `Electronic
172+ Invoicing ` section:
173+
174+ - :guilabel: `Format `: :guilabel: `BIS Billing 3.0 `, :guilabel: `XRechnung CIUS `, or
175+ :guilabel: `NLCIUS `.
176+ - :guilabel: `Peppol e-address (EAS) `: Select the relevant EAS code in the dropdown list.
177+ - :guilabel: `Peppol Endpoint `: Enter the customer's endpoint identifier.
178+
179+ #. Click :guilabel: `Verify `. Its :guilabel: `Peppol endpoint validity ` is marked as :guilabel: `Valid `
180+ if the contact is found on the Peppol network.
181+
182+ .. important ::
183+ While Odoo prefills both the EAS code and the endpoint number based on the information available
184+ for a contact, verifying these details with the contact is recommended.
185+
186+ .. _e-invoicing/send-invoices :
187+
188+ Send invoices
189+ -------------
190+
191+ To generate Peppol documents for invoices of a journal
192+ :ref: `enable the EDI format called 'Peppol' on the journal<e-invoicing/configuration> `.
193+ This should have happened automatically for countries in which Peppol is used by installing the module.
194+ Then confirming an invoice will generate Peppol a document in the format selected on the partner
195+ during the :ref: `contact verification<e-invoicing/contact-verification> `.
196+
197+
198+ Posted invoices to be sent via Peppol are marked as :guilabel: `Ready to send ` in the invoice's
199+ :guilabel: `PEPPOL status ` field.
200+
201+ .. note ::
202+ All invoices that are ready to be sent via Peppol can be viewed in the following ways:
203+
204+ - In the :guilabel: `Invoices ` list view, use the :icon: `oi-settings-adjust ` (:guilabel: `adjust
205+ settings `) button to add the :guilabel: `PEPPOL status ` column or apply the :guilabel: `Peppol
206+ Ready ` filter in the search bar.
207+ - In the Accounting dashboard, click :guilabel: `Peppol ready invoices ` on the relevant sales
208+ journal.
209+
210+ To send the invoice to the customer via Peppol, click :guilabel: `Send & Print ` on the confirmed
211+ invoice form. In the :guilabel: `Send ` window, enable :guilabel: `Send via PEPPOL ` options, then click
212+ :guilabel: `Send & Print ` (or :guilabel: `Send ` or :guilabel: `Send (Peppol) ` or :guilabel: `Print `
213+ depending on which of the :guilabel: `Print ` and :guilabel: `Email ` options are selected).
214+
215+ .. tip ::
216+ Multiple invoices can also be sent in batches via Peppol by using the :guilabel: `Invoices `
217+ list view.
218+
219+ Once the invoices are sent via Peppol, their :guilabel: `PEPPOL status ` is changed to
220+ :guilabel: `Processing `.
221+
222+ The status is updated to :guilabel: `Done ` once the invoices have been successfully delivered to the
223+ contact's access point.
224+
225+ .. tip ::
226+ To manually trigger the scheduled action used to check the invoices' status, go to the
227+ Accounting dashboard and click :guilabel: `Fetch Peppol invoice status ` on the corresponding sales
228+ journal.
229+
230+ .. _e-invoicing/receive-vendor-bills :
231+
232+ Receive vendor bills
233+ --------------------
234+
235+ New documents received via Peppol are checked multiple times a day. Received documents are
236+ automatically imported into the purchase journal set in the :guilabel: `PEPPOL Electronic Document
237+ Invoicing ` section, and corresponding vendor bills are created as drafts and appear in the vendor
238+ bills list view.
239+
240+ .. tip ::
241+ To manually trigger the scheduled action to retrieve incoming Peppol documents, go to the
242+ Accounting dashboard and click :guilabel: `Fetch from Peppol ` on the main Peppol purchase journal.
243+
244+ .. _e-invoicing/peppol-deregister :
245+
246+ Peppol deregistration from Odoo
247+ -------------------------------
248+
249+ Only one Peppol receiver registration can be active for each Peppol endpoint identifier at a time.
250+ To stop using Odoo as the Peppol access point, e.g., to switch to another provider or reconfigure
251+ the registration for a new database, you must first deregister from Peppol. To do so, go to
252+ :menuselection: `Accounting --> Configuration --> Settings `, scroll down to the :guilabel: `PEPPOL
253+ Electronic Invoicing ` section, and click :guilabel: `Deregister from Peppol `.
254+
255+ Once removed, the Peppol registration is deleted from the database, and documents can no longer be
256+ sent or received via Peppol in Odoo.
0 commit comments