PEPPOL implementation
Bastiaan Olij
bastiaan at muxworks.com.au
Wed Feb 26 23:29:46 UTC 2025
Hey Nick,
Around the time I changed jobs I was looking into supporting Peppol and
may get the chance to dive back into it at some point in the near
future. It's a classic case of a decent system that is highly
overengineerd and uses tech that isn't well supported instead of using
off the shelve standardised APIs.
It's been awhile so I don't remember all the exact terminology they
introduced but it's best to think of it like a mail server setup but
instead of sending emails around, you sent invoices around.
They often show a diagram with 4 entities that communicate with
eachother. At each end there is a peppol client, on "the left" you have
the peppol client for your client where you send and receive invoices,
and on "the right" is the peppol client of the entity that you wish to
communicate with. It is this peppol client that you'll most likely need
to focus on as you prepare your invoices, and have the peppol client
handle proper packaging and sending of those invoices as well as reading
your "inbox" of incoming invoices.
It will come as no surprise that the other 2 entities are the peppol
servers. One your client is registered at, the other that the other
party is registered at. Think of these akin to mail servers but without
the anonymity as every client needs to be properly registered on these
servers (this is what the whole discovery part is about, so you can be
sure the other party you're communicating with, is indeed the intended
recipient of the invoice).
Just like with mail servers you can run your own peppol server, or you
can use existing servers for a fee.
Now here comes the rub as you may have read on that wiki page.
Communication between client and server goes over the AS4 protocol. If
there ever was a convolute API using tech that very few professionals in
our business have mastered, hello AS4. The whole ATO here in Australia
runs on this nonsense and for the longest time the only way to
communicate with their servers was through some JAVA library that IBM
eventually made proprietary. Lucky today there are off the shelve
options as many governments are now using this protocol.
We originally build our own XCOMP to implement this layer for the ATOs
STP system (payroll) and I still bear the scars :)
There are probably implementations closer to home but I can recommend
reaching out to these guys: https://layersecurity.com/#/
They are Australian based but have fully implemented the PEPPOL client
and server. Their PEPPOL client takes the form of a little command line
tool. You write your invoice to a file on disk, run their command line
tool, and magically your invoice ends up in the network and at the
required recipient. Fairly easy to script from Omnis.
Cheers,
Bas
On 27/02/2025 3:08 am, Nick Renders via omnisdev-en wrote:
> Greetings fellow Omnissians,
>
> I was wondering if anyone has any experience with PEPPOL: https://en.wikipedia.org/wiki/PEPPOL
>
> As of 2016, this service will become mandatory in Belgium for creating invoices. I must admit, I am not sure how the whole concept works or where to begin. Is anyone familiar with the process?
>
> Kind regards,
>
> Nick Renders
> _____________________________________________________________
> Manage your list subscriptions at https://lists.omnis-dev.com
> Start a new message -> mailto:omnisdev-en at lists.omnis-dev.com
More information about the omnisdev-en
mailing list