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