PEPPOL for everyone!
We have just tagged v5.11.0 which is a big release for users in the EU zones where receiving e-invoices is mandated from the 1st of January 2025. Of course, there are lots of options available within Invoice Ninja to comply with mandate.
Community members @LarsK1 and @paulwer have been central to the implementations of both the Zugferd xml generation and also import of .xml files into expenses within Invoice Ninja. These two features allow you to comply with the coming mandate easiliy.
However we know that receiving einvoices is only the start, the next part is delivery, looking to the future we have decided to join the PEPPOL network as an access point and provide both of Hosted and Self hosted users access to receive and send einvoices via the PEPPOL network!
As far as we know, we are the only platform available that provides this functionality for self hosted users!
The current EU einvoicing system is fragmented, with some countries having their own proprietary standards (I’m looking at you Spain, Italy, Romania, France and others!) However by 2030 the EU will have a single accepted standard - PEPPOL - which will allow seamless intra and inter community einvoicing.
As such not all EU countries are currently supported, the following EU countries have immediate support for sending and receiving einvoices:
Austria
Belgium
Denmark
Estonia
Finland
Germany
Iceland
Lithuania
Luxembourg
Netherlands
Norway
Sweden
Ireland
There are also some special edge cases where we support sending einvoices into some EU regions:
Sending to Government Department of the following EU countries:
- France
- Greece
- Romania
- Spain
- Great Britain (post brexit)
- Portugal
- Slovenia
ok enough, how do i get started?
There are a couple of requirements for sending over the PEPPOL network, Invoice Ninja has a duty for KYC (Know Your Customer) this is to ensure that sending over the Peppol network is not polluted with spam invoices.
Self Hosted Requirements:
-
Verified White Label user. Your white label license will be part of the KYC process and we will use this as a reference during authentication with our service.
-
Purchase of ecredits. Sending and receiving over the network is unfortunately not free, there is a huge volume of compliance requirements both initial and ongoing to join and stay on the PEPPOL network. We do expect these costs to reduce over time. We have two bundles available for prepurchase.
500 ecredits (receive / send up to 500 documents over a 12 month period) $50
1000 ecredits (receive / send up to 1000 documents over a 12 month period) $100
There are no ongoing fees, it is a simple transactional service. You can also opt to only “receive” or “send” from the service.
How does it work
In your .env file insert a new key
LICENSE_KEY=your_license_key_here
Then navigate to Settings > E Invoice
Select PEPPOL and click on Get Started
You’ll then be asked some questions, it is important to note that your VAT number is essentially your identifier on the network, if you do not have a VAT number, but something like a Steurnummer or KLK number, you may want to wait to join in the network as I do not think it is ready as yet for users like yourself at this point
Your VAT number and company details must be as they are registered with your local authority, the details you enter here will be used directly on your einvoices, after making this submission changes you make within Invoice Ninja are NOT USED this is to prevent fraud / spam across the network.
VAT numbers are typically prefixed with your country code, ie DE123123123 and must contain no spaces.
Once you are registered on the network. Your company will be assigned a legal entity id which is how Invoice Ninja will be able to identify you on the network. At this point essentially you are on the PEPPOL network and you can be reached by other senders on the network!
Sending
We have detailed information in the docs about the additional requirements around einvoicing, but it is super important you understand these prior to sending.
1. Exclusive Taxes + Line Item Taxes only.
If you were previously using inclusive taxes and/or total taxes, it is time to change. We only support exclusive taxes and line item taxes, this is due to line item tax categorization and in the future product categorization options. The Calculate Taxes engine has been upgraded to support this, so we suggest unsetting all default taxes and changing to a single Line Item Tax along with Exclusive taxes and toggling on Calculate Taxes.
This allows us to calculate Nexus ( where tax is due ) and also allows us to perform advanced functionality, for example, if you are selling from Germany into Austria and are above the EU tax threshold, then you are required to register for an AT VAT Number. This can be added as an additional tax identifier in Invoice Ninja, and we will understand when this VAT number should be used and use this vat number in the einvoice.
2. Payment Means are mandatory
For an einvoice to be valid you need to have a valid payment means, typically in the EU zone this will be a Credit Transfer (Code 30)
You will enter in your IBAN / BIC and Account Name
3. A buyer reference is mandatory
Best practice which we will enforce is to include a buyer reference onto the invoice, for this field, please use the Purchase Order Number Field (PO #) in the UI
You will also note that the interface has a new tab called E-Invoice. In here you can inspect any validation problems with the e-invoice prior to sending.
We use a special extension (saxon) to compare the Peppol invoice rule book against the invoice document, sometimes the returned messages can be quite cryptic, but generally they will refer to either a missing field or some illegal configuration. After updating an invoice, you can use the Validate button to recheck the invoice for errors. You can also attempt to send the einvoice directly from the page - or - simply use the Email Invoice button, and we’ll also take care of the einvoice sending.
3. Make sure your clients are classified correctly!
We’ve made incremental upgrades to the client object to ensure important context is captured, in particular, you will want to ensure that the clients VAT (or ID) number is correct. The clients classification is also super important. If you tag them as a business, with no VAT number present, then the tax calculator will apply taxes regardless.
We have toggles that can override some of the base functionality, in particular, the Valid VAT number toggle can be used when you want to enforce whether the vat number is legitimate or note. You can also set a client as Tax Exempt at this point if they are a special Government body which is tax exempt.
** What happens if my client is not on the PEPPOL network?**
In this instance, the einvoice is sent directly to the client via email.
** How do I receive einvoices (Expenses) **
Invoice Ninja will proxy einvoices that are received and transfer them directly to your self hosted instance… It is important to note that nothing survives the request cycle, we pipe the data from Invoice Ninja directly to your Self Hosted installation.
We’ve taken additional measures in the implementation to ensure compliance with data handling in this regard as we know this is super important to all users.
By default, your self hosted installation will poll our Hosted Servers every 4 hours. We’ll check if any documents have been received, and if they have, we pipe these to your self hosted server.
These are imported as Expenses, which we convert for you, we also provide the original .xml document received and also a .html representation of the expense (invoice).
If you are a self hosted user, in one of these regions, and have a white label license and would like to be part of a feedback group to help us iron out any small issues, we are happy to provide 500 credits to early adopters. Please send an email to [email protected] with Peppol Self Hosted Beta in the subject and we can assign credits to your account directly.
As always, if you have any questions, please ask away!
For more details please ask questions here, and we also have further reading here: Free Source Available Invoicing, Expenses & Time-Tracking | Invoice Ninja