WEBVTT

00:00.000 --> 00:15.280
So our first talk is, hopefully, Europe's way to mandatory B2B E invoices, and our presenter

00:15.280 --> 00:17.280
is Yoke and Stark.

00:17.280 --> 00:18.280
Thank you.

00:18.280 --> 00:19.280
Hello.

00:19.280 --> 00:32.560
And today we will talk about how Europe is reintroducing border controls, but not for goods

00:32.560 --> 00:36.720
or people, but for invoices.

00:36.720 --> 00:37.720
We have three parts.

00:37.720 --> 00:41.280
The part of what the U did, then a little bit the open source answer to it.

00:41.280 --> 00:44.360
And then we have a question answer.

00:44.360 --> 00:45.360
My name is Yoke and Stark.

00:45.360 --> 00:47.240
I call myself Mustang Project.

00:47.240 --> 00:54.200
Chief Tupet Amateur, Mustang Project is my open source project, and it started as support

00:54.200 --> 01:02.000
for the German, now Fanko, German, and Tupet, Sash Factory Extended, in the meantime, we

01:02.000 --> 01:03.400
do everything.

01:03.400 --> 01:06.040
The topic is actually quite recent.

01:06.040 --> 01:15.000
We had business to government invoices from 2014 on, and they were supposed to be introduced.

01:15.000 --> 01:24.400
And interestingly, in 2019, Italy said, we also do B2B.

01:24.400 --> 01:30.600
And we have a CTC, so continuous transaction control, and we bring up our own format,

01:30.600 --> 01:33.760
because then we have some Italian text in there.

01:33.760 --> 01:39.640
And they saved 3% of their value at a Texas, which is just billions.

01:39.680 --> 01:45.040
And that was maybe one of the reasons why France decided to follow.

01:45.040 --> 01:53.800
And they are using the standards, which we were used from B2G, so B2G is based on something

01:53.800 --> 01:59.720
called EN6901, which has an XML format, it has CII and UBL.

01:59.720 --> 02:07.880
And France is a five-corner CTC with based on UBL and TII.

02:07.880 --> 02:13.360
And France and Germany, additionally, allow Factorics, which is this two-patsing.

02:13.360 --> 02:21.680
A CTC is basically a way to submit your invoices to the authorities.

02:21.680 --> 02:27.560
And in a machine readable way, so that basically the authorities want to cross-check whether

02:27.560 --> 02:33.280
the invoices, which the recipients claim to have received, are the same, that the

02:33.320 --> 02:37.920
standards claim to have sent, because we have that fraud.

02:37.920 --> 02:45.480
So we have different ways, this convert, basically the only way where you could still have

02:45.480 --> 02:54.040
a Peta invoice in this graph is where you have a line between the two people immediately.

02:54.040 --> 03:00.680
We have Italy, Italy did the second from the right, the centralized search, so everybody

03:00.720 --> 03:05.760
is sending to the authorities and receiving from the authorities only.

03:05.760 --> 03:12.200
And France is doing something rather in the very right singing, where you also have,

03:12.200 --> 03:16.160
where you can have service providers in between.

03:16.160 --> 03:20.240
Germany is actually not yet true.

03:20.240 --> 03:26.920
Also Europe is not yet completely sure, but it's very likely to go also in this right part.

03:26.960 --> 03:34.600
So basically you have to submit your invoices to your local country invoice server.

03:34.600 --> 03:39.880
And then you have to, you can pull invoices.

03:39.880 --> 03:45.760
In Europe this will be for, it will be mandatory for cross-border invoices, B2B.

03:45.760 --> 03:52.000
So if I send an invoice to another country, in Germany it's also now since 1st of

03:52.000 --> 04:01.840
January mandatory to be able to receive these kind of invoices in domestic transfer.

04:01.840 --> 04:12.920
So, and the EU is, the EU has a vet in the digital age initiative, short Vida, which

04:12.920 --> 04:19.800
is draft for a guideline and this draft has now been approved, so it now goes to the parliament

04:19.840 --> 04:22.040
to only has a vet too.

04:22.040 --> 04:27.840
And it's likely to, that this will actually go through, actually I'm not a lawyer and I'm not

04:27.840 --> 04:28.840
to text advice.

04:28.840 --> 04:34.360
I was a bit shocked to be in the legal and compliance room, but it is a legal change which

04:34.360 --> 04:38.320
leads to compliance thing is.

04:38.320 --> 04:44.160
And as mentioned, we have this EU in 1691, which was originally based on business standards

04:44.240 --> 04:47.760
but a little bit to the administrative side.

04:47.760 --> 04:52.440
And yeah, and then there was Vida and then the country said, okay, apparently we have

04:52.440 --> 04:57.120
to introduce a system for the cross-border invoices.

04:57.120 --> 05:04.120
So we already introduced a domestic system where we have Romania was very quick.

05:04.120 --> 05:10.840
Germany started on 1st January 25 with the obligation to read those invoices.

05:10.840 --> 05:18.120
And we have the obligation to write those invoices will be in 2027, 2020, I'll show that later.

05:18.120 --> 05:25.120
And Belgium is starting in January 26 and Poland will come afterwards and maybe many others.

05:25.120 --> 05:31.000
The details for the German stuff is basically, yeah, we're replacing paper invoices and

05:31.000 --> 05:40.680
invoices in the PDF format with XML invoices and invoices with PDF with embedded XML.

05:40.680 --> 05:48.160
So that PDF with embedded XML is this two-fairt idea, so that is the one thing.

05:48.160 --> 05:55.000
And basically this one says the red thing means paper invoices are forbidden as of

05:55.000 --> 06:06.640
2028 domestically as of 250 euros in Germany and that means that we are showing the first

06:06.680 --> 06:12.680
phase which is the red phase, we have to have to be able to read these things because if it is permitted

06:12.680 --> 06:17.520
for somebody to send you these invoices, you have to be able to read them.

06:17.520 --> 06:24.640
So you have to be able to read electronic invoices, XML invoices in CI and you'll be

06:24.640 --> 06:33.980
as since 1st of January and you have to write them, stand of now in 1st January,

06:33.980 --> 06:40.580
28 at the latest, big companies even 1st January and 27 and we don't even know when we have

06:40.580 --> 06:45.300
to tell the authorities about their contents because it's basically the third phase which

06:45.300 --> 06:48.780
is not yet really decided.

06:48.780 --> 06:56.060
That is at the left, that's the spike of B2G in 2020 which came usually we have around

06:56.140 --> 07:04.220
thousand validations, B2G was around 6000 and that is basically what you see basically

07:04.220 --> 07:12.380
the smallest line at the right is 5000 so basically that spike we now have up to 30,000

07:12.380 --> 07:21.260
validations per month on some public validation website and that is actually what's blue

07:21.340 --> 07:27.740
at the left is yellow at the right because I did the graph.

07:27.740 --> 07:32.940
The consequences are interesting, the consequences are very interesting and very demanding

07:32.940 --> 07:39.420
because apparently you will put a lot of trust into their industries.

07:39.420 --> 07:43.820
We have this continuous transaction control means it is continuous so it's basically

07:43.820 --> 07:50.860
not like I wait for a year, it's not real time but it's a couple of days so we're talking

07:50.940 --> 07:58.380
about having to announce our invoices after 10 days now nowadays we have around 45 in

07:58.380 --> 08:04.540
intra-European context and that basically means that you have to you will have if you get an

08:04.540 --> 08:14.540
annual invoice you will get monthly invoices and yeah that's a process change so a real big change

08:14.540 --> 08:20.220
for the companies you have to accept at least machine readable invoices in some cases you

08:20.220 --> 08:27.020
will have to send them as well at least cross-border in Germany also in Germany and you will

08:27.020 --> 08:34.220
receive more automated invoices you probably are supposed to do some kind of validation singing

08:34.220 --> 08:41.820
on it and yeah it's not yet really decided how the identity works in France they have the

08:41.820 --> 08:47.260
CRE number so that you can say this is regarding this is going to this recipient in France

08:47.260 --> 08:53.660
they have this in CS probably in European context it will be the vet ID and probably also

08:53.660 --> 09:01.340
within Germany and this means that if we ask the people to write these invoices cross-border

09:03.340 --> 09:10.060
and we have non-discriminatory singing so we don't want to say nation one nation two

09:10.060 --> 09:16.860
that means you also have to accept those invoices when they are sent domestically so basically

09:17.820 --> 09:24.460
there will be something to accept either via this portal via the state system or with

09:25.900 --> 09:31.660
or somehow else reading this the French people have their system have a

09:31.660 --> 09:39.420
operation, the material easy so they have they have to pull for invoices every day or when

09:39.420 --> 09:46.380
they sing they may have to pull invoices and you probably have to think of electronically archiving

09:46.460 --> 09:53.900
this invoices in Germany for example that means GOBD so there's a rule set which applies if

09:53.900 --> 09:58.700
you receive electronic invoices and now you have to receive them so now you have to apply to

09:58.700 --> 10:06.220
these rules one below side note there are a little bit of forest friends actually the first one

10:06.220 --> 10:12.220
isn't really a forest friend it's more like a real friend factor x one is round two pair two

10:12.300 --> 10:23.020
which are really identical formats for this XML within PDF and for the x-rational is the German

10:23.020 --> 10:30.220
silos so a size is a specification of requirements so you say I need this fate and this field is

10:30.220 --> 10:39.980
mandatory it's also sometimes referred to as if it was a format factor x is also a size and the

10:40.780 --> 10:47.420
factor of PR is the format and the size and they will be moving away so as far as I understood

10:47.420 --> 10:58.060
the idea is that Italy will ask of 202235 they will also use this CIO or UBL format so they

10:58.060 --> 11:05.180
will be migrating and in Germany we had the writing of the authorities letter of the authorities

11:05.260 --> 11:11.180
which that please expect that you can also receive photography which will like what they meant

11:11.180 --> 11:16.620
the size not the format that was in the draft of the letter the final letter it's cleared because

11:16.620 --> 11:27.740
of Andreas and then pepper this is also it's pepper is a format the format is UBL and it's the

11:27.740 --> 11:34.700
size and protocol is as far of pepper so if you read pepper this I think I read something in the

11:35.980 --> 11:44.060
for Belgium I read something first of January 26 in the pepper this thingy it doesn't necessarily

11:44.060 --> 11:52.140
mean that you need to connect to pepper because pepper is a provider it's a network it's not it's not

11:52.140 --> 11:57.900
the commercial it's a non-commercial network but you still have to pay some things what I did or

11:57.900 --> 12:07.740
the response of whatever one response of the of some Germans for like me I did this two-fair.org which

12:07.740 --> 12:14.700
is the inner official page of this two-fair standard where I list some open source tools for example

12:14.700 --> 12:25.820
also libraries how you can create it or validators converters visualization tools and so this is

12:25.820 --> 12:30.300
actually the front page has also some things below but already on the front page you get the

12:30.300 --> 12:38.780
you get the libraries and the converter tools and some of them are actually good some of them are

12:38.940 --> 12:48.860
from me and one of them is for example one of the bad ones is this corpus thingy because

12:50.380 --> 12:57.260
it's basically a collection of invoices in the German context so in German we have this

12:57.260 --> 13:03.260
CI and UBL are these two XML formats and you have the factorics which is the PDF with sing

13:04.220 --> 13:15.820
basically it is three directories with sample invoices in CI UBL and in fact I can not really show this

13:16.940 --> 13:23.820
in the internet because I don't have internet connection but I can show it in the file system so

13:23.820 --> 13:31.580
basically what you're interested is this XM algorithm singing which is basically the

13:32.700 --> 13:38.540
there were samples from there were also samples from the wild and there were some of them we

13:38.540 --> 13:43.980
even some of them are actually invalid which is nice if you want to test the validator and it's also

13:43.980 --> 13:49.900
in particular it's nice if you some of them are even crafted tests certain validation sings and you

13:49.900 --> 13:59.340
have the UBL and CI and you have this yeah you have basically a full 300 sample which has our

13:59.340 --> 14:05.900
attributes and in the UBL you have a credit note and this is since we need to visualize these things

14:05.900 --> 14:13.180
also small companies in Germany this is my software which is like just a GUI and electron to

14:13.420 --> 14:26.140
to visualize something like this one and then you get the view of it and basically you can switch

14:26.140 --> 14:32.140
to the fuel and stuff and you can switch the language you want to have French and there's

14:32.140 --> 14:40.060
something like show IDs which is they have BT IDs so you can now open a new one and then you

14:40.060 --> 14:45.580
actually even get it in French that's apparently an offline application which I like very much because

14:45.580 --> 14:53.980
I don't have internet now and I want to see the weeks later in electron and you also sometimes

14:53.980 --> 15:00.540
have attachment to invoices and it's not yet French I need to restart it but anyway but the BTs are

15:00.540 --> 15:07.740
there and you see the file attachment was in the invoices so that's the first software I wanted to show

15:07.740 --> 15:15.020
Apache license second one is a command is basically a Java library so you can embed it in your own

15:15.020 --> 15:22.460
software it's also Apache license and it's also it has a command line utility which is called

15:22.460 --> 15:30.380
Mustang one wouldn't think of it and then you can do things like I want to say I want to do PDF view

15:30.380 --> 15:40.060
because actually the print PDF is is wrong in Cuba the print PDF only works if you have

15:41.580 --> 15:46.700
hybrid invoice so factor x invoice where there is the PDF so it means print the PDF part and not print

15:46.700 --> 15:53.500
it as PDF if you have factor x invoice you see at the left you see the PDF and at the right you see

15:53.580 --> 16:04.220
the visualized XML which match sometimes and there you can like with this you can say hp

16:04.540 --> 16:10.540
corpus and

16:15.180 --> 16:24.380
for example this one which would give you PDF file and you can also validate you can read and write

16:24.380 --> 16:31.740
and convert just try it out if you like it and it's not only for this two-fatsing so it's also

16:31.740 --> 16:39.340
on native XML formats like this here I end you get and if that one works I can show you

16:40.300 --> 17:00.300
it's actually quite slow and then I can show you the PDF if you print the HTML view it's

17:00.300 --> 17:07.820
16 pages and so this one has like three or whatever and in Germany it's important in France they

17:07.820 --> 17:14.300
have the system which converts and realizes it for them but in Germany yeah basically usually

17:14.300 --> 17:19.740
you would have yourself you're accounting software doing this but sometimes you don't have it there

17:19.740 --> 17:28.460
and so and what you can also do is validate and then I usually use no notices and you can use sauce

17:29.100 --> 17:35.020
and then you can basically this one recalculate there are set of schema and schema

17:35.020 --> 17:43.500
from providers you should use both and it also recalculates parts of the invoice so

17:47.260 --> 17:49.820
we are basically in Barspieler

17:49.820 --> 18:08.220
and that is basic whatever this one should work because it's actually one of the official samples

18:09.820 --> 18:14.380
and I believe that takes a while because again it's from me

18:15.340 --> 18:20.380
or actually with 50 people now I'm not even the most important guy in the Muslim project singing

18:21.820 --> 18:29.580
and then we have basically that was it I believe just a second we had this and we had

18:31.900 --> 18:38.300
this yeah and that was the one live demo that was the other live demo and so let's connect

18:38.300 --> 18:44.940
so yeah basically these are the sources if you download the if you download the slides but

18:44.940 --> 18:53.100
yeah any questions yes

18:56.380 --> 19:04.300
well what's the question if you have to validate an invoice then you also should have something like

19:04.300 --> 19:11.820
signage of you have to sign your invoice with a key no unfortunately not not in Germany

19:11.820 --> 19:17.980
and so it's basically if you have it if it is signed which is I think I believe only possible

19:17.980 --> 19:23.900
and super then it replaces parts of your internal checks so basically the internal checks should

19:23.900 --> 19:28.620
be first of all you should calculate it and you should have internal checks that you receive the

19:28.700 --> 19:34.220
goods and that and that everything is fine and these they should handle that and you don't

19:34.220 --> 19:38.460
need to digitally sign it except if you're in Hungary which I don't know if they keep it on

19:38.460 --> 19:44.940
that no need for digital signature yeah thanks one second

19:45.180 --> 20:01.740
thank you so is there a way to include a SSL style sheet so that you can open these

20:01.740 --> 20:07.820
invoices directly in a web browser there's two ways basically the one I just showed because

20:07.900 --> 20:16.140
that my application is based on XSLT style sheet which transfers to HTML that is also that is

20:16.140 --> 20:24.780
from the closet and I hope I have the links in the description besides there is regarding

20:26.140 --> 20:30.460
I think regarding country information there is a good link is this

20:30.540 --> 20:40.540
five or six is the six and let me check if I have it and there's actually additional style sheet

20:42.940 --> 20:49.980
yes and there's an additional style sheet for the validation so basically you can convert

20:49.980 --> 20:57.180
schema from to XSLT to get as we are all reports out of it and there I actually

20:57.180 --> 21:01.580
some but yeah there is style sheets

21:10.220 --> 21:15.020
well you're sure that something about how to visualize and well will date these things

21:15.980 --> 21:23.420
but how about creating such an invoice I mean it's as business to government business to business

21:23.420 --> 21:27.980
but practically I think even private people will run into this problems yeah that's a year

21:27.980 --> 21:33.740
renting some I mean I've run into the problem renting a small room to some things that somehow

21:33.740 --> 21:40.060
government and suddenly there's only only paying the rent if you send us an E invoice from now on

21:40.140 --> 21:47.660
yes there's open source for example what one of my favorites is Factorama which can create these

21:47.660 --> 21:54.460
invoices and there are also some things so there's an extraction of minutes or stale and

21:54.460 --> 21:59.660
from come where you can enter the data in an HTML view without registering and then in the

21:59.660 --> 22:07.260
entry get an XML invoice but you have to watch out because apparently still have to archive it

22:07.340 --> 22:14.220
after you created it so not only sending but also archiving and there is open source

22:15.020 --> 22:23.420
maybe starting to become more there's also freeware which is like JTL Vavi is great little tool

22:25.100 --> 22:30.860
we're seeing it more and there's a lot of web-based open source like Odoo and open set and

22:30.860 --> 22:35.900
how are they they're called we have time for one last question

