{"id":55001232,"date":"2020-04-01T00:00:00","date_gmt":"2020-07-10T09:40:44","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=1232"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Rechnungen_mit_ZUGFeRD_10_Teil_2_AccessDLL","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Rechnungen_mit_ZUGFeRD_10_Teil_2_AccessDLL\/","title":{"rendered":"Rechnungen mit ZUGFeRD 1.0, Teil 2: Access-DLL"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg06.met.vgwort.de\/na\/b2fd1a21e2d14bf89f55c4be01379dd9\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>Im ersten Teil der Beitragsreihe haben wir gezeigt, wie Sie eine DLL erzeugen k&ouml;nnen, mit der Sie von au&szlig;en &uuml;bergebene Daten plus eine Rechnung im PDF-Format zu einer ZUGFeRD-konformen Rechnung zusammenf&uuml;hren k&ouml;nnen. Das hei&szlig;t, dass die PDF-Rechnung in eine Rechnung des Formats PDF\/A-3 umgewandelt wird und ein XML-Dokument mit den Rechnungsdaten im computerlesbaren Format in das PDF-Dokument integriert wird. Der zweite Teil der Beitragsreihe zeigt nun, wie Sie die f&uuml;r das XML-Dokument ben&ouml;tigten Informationen an die DLL &uuml;bergeben und so die ZUGFeRD-Rechnung erstellen.<\/b><\/p>\n<p><b>DLL bereitstellen<\/b><\/p>\n<p>Die DLL, die wir im ersten Teil der Beitragsreihe programmiert haben, steht automatisch auf Ihrem Rechner zur Verf&uuml;gung, wenn Sie das VB-Projekt auf diesem Rechner erstellt haben. Dies f&uuml;hrt automatisch zur Registrierung der DLL f&uuml;r die Nutzung von Access aus. Wenn Sie die DLL auf einem anderen Rechner einsetzen wollen, ist nach dem Kopieren der DLL auf den Zielrechner noch ein weiterer Schritt n&ouml;tig. Sie m&uuml;ssen dann die Eingabeaufforderung mit Administratorrechten starten und den folgenden Befehl eingeben:<\/p>\n<pre>RegAsm.exe c:<\/font>....<\/font>ZUGFeRD.dll \/codebase<\/pre>\n<p>Die Datei <b>RegAsm.exe <\/b>finden Sie in der Version f&uuml;r 32-bit im Verzeichnis <b>C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319<\/b>, f&uuml;r 64-bit im Verzeichnis <b>C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319<\/b>. Achtung: 32-bit oder 64-bit h&auml;ngt davon ab, welche Office-Version die DLL nutzen soll.<\/p>\n<p><b>Verweis hinzuf&uuml;gen<\/b><\/p>\n<p>Anschlie&szlig;end k&ouml;nnen Sie den Verweis &uuml;ber den <b>Verweise<\/b>-Dialog des VBA-Editors wie in Bild 1 hinzuf&uuml;gen.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2020_02\/pic_1232_001.png\" alt=\"Verweis auf die ZUGFeRD-DLL\" width=\"424,7115\" height=\"334,8159\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 1: Verweis auf die ZUGFeRD-DLL<\/span><\/b><\/p>\n<p>Wenn Sie dann den Objektkatalog &ouml;ffnen und die Bibliothek <b>ZUGFeRD <\/b>ausw&auml;hlen, finden Sie dort alle Befehle vor, die wir im ersten Teil mit der Visual Basic-L&ouml;sung in Visual Studio programmiert haben (siehe Bild 2).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2020_02\/pic_1232_002.png\" alt=\"Die ZUGFeRD-Befehle im Objektkatalog\" width=\"424,7115\" height=\"545,494\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 2: Die ZUGFeRD-Befehle im Objektkatalog<\/span><\/b><\/p>\n<p><b>Achtung: Verweis erneuern<\/b><\/p>\n<p>Wenn Sie die DLL in Visual Studio hinsichtlich der &ouml;ffentlichen Schnittstelle ge&auml;ndert haben, m&uuml;ssen Sie den Verweis erneuern. Dazu entfernen Sie den Verweis, schlie&szlig;en den <b>Verweise<\/b>-Dialog, &ouml;ffnen diesen wieder und f&uuml;gen den Verweis erneut hinzu.<\/p>\n<p>Das Erneuern des Verweises k&ouml;nnen Sie allerdings auch &uuml;ber eine kleine VBA-Prozedur erledigen. Diese durchl&auml;uft die Verweise, bis es einen namens ZUGFeRD findet, merkt sich den Pfad, entfernt den Verweis und f&uuml;ge diesen erneut hinzu:<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>VerweisAktualisieren()\r\n     <span style=\"color:blue;\">Dim <\/span>objRef<span style=\"color:blue;\"> As <\/span>Reference\r\n     <span style=\"color:blue;\">Dim <\/span>strPath<span style=\"color:blue;\"> As String<\/span>\r\n     For Each objRef In References\r\n         <span style=\"color:blue;\">If <\/span>objRef.Name = \"ZUGFeRD\"<span style=\"color:blue;\"> Then<\/span>\r\n             strPath = objRef.FullPath\r\n             References.Remove objRef\r\n             <span style=\"color:blue;\">Exit For<\/span>\r\n         <span style=\"color:blue;\">End If<\/span>\r\n     <span style=\"color:blue;\">Next<\/span> objRef\r\n     References.AddFromFile strPath\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><b>PDF-Rechnung in ZUGFeRD-konforme Rechnung umwandeln<\/b><\/p>\n<p>Ein Beispiel f&uuml;r eine Prozedur, mit der Sie eine PDF-Rechnung etwa namens <b>RechungOhneXML.pdf <\/b>mit Rechnungsdaten im XML-Format ausstatten, finden Sie in Listing 1. Hier deklarieren wir zun&auml;chst ein Objekt des Typs <b>ZUGFeRD.ZUGFeRD_NET <\/b>und erstellen dieses dann. Danach weisen wir den einzelnen Eigenschaften des Objekts die entsprechenden Werte zu.<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>ZUGFeRDTest()\r\n     <span style=\"color:blue;\">Dim <\/span>objZUGFeRD<span style=\"color:blue;\"> As <\/span>ZUGFeRD.ZUGFeRD_NET\r\n     <span style=\"color:blue;\">Set<\/span> objZUGFeRD = <span style=\"color:blue;\">New<\/span> ZUGFeRD.ZUGFeRD_NET\r\n     <span style=\"color:blue;\">With<\/span> objZUGFeRD\r\n         .Bemerkung = \"Zahlbar innerhalb von zehn Tagen.\"\r\n         .Kaeufer_Name = \"Klaus M&uuml;ller\"\r\n         .Kaeufer_Ort = \"Oberhausen\"\r\n         .Kaeufer_PLZ = \"46001\"\r\n         .Kaeufer_Strasse = \"Centro-Allee 1\"\r\n'        .Kaeufer_UstIDNr = \"\"\r\n         .QuellPDF = CurrentProject.Path & \"RechnungOhneXML.pdf\"\r\n         .Rechnungsnummer = \"12345-1\"\r\n         .Verkaeufer_BIC = \"COBADEFFXXX\"\r\n         .Verkaeufer_IBAN = \"DE12121212121212121212\"\r\n         .Verkaeufer_Name = \"Andr&eacute; Minhorst Verlag\"\r\n         .Verkaeufer_Land = \"DE\"\r\n         .Verkaeufer_Ort = \"Duisburg\"\r\n         .Verkaeufer_PLZ = \"47137\"\r\n         .Verkaeufer_Strasse = \"Borkhofer Str. 17\"\r\n         .Verkaeufer_UstIDNr = \"DE123123123\"\r\n         .Abschlaege = 0\r\n         .AnzahlProdukt = 1\r\n         .Aufschlaege = 0\r\n         .Bruttobetrag = 119\r\n         .Mehrwertsteuerbetrag = 19\r\n         .Nettobetrag = 100\r\n         .Produkt = \"Access im Unternehmen\"\r\n         .Zahlungsreferenz = \"12345-1\"\r\n         .ZielPDF = CurrentProject.Path & \"RechnungMitXML.pdf\"\r\n     End <span style=\"color:blue;\">With<\/span>\r\n     <span style=\"color:blue;\">Debug.Print<\/span> objZUGFeRD.ZUGFeRDRechnungErstellen\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><!--30percent--><\/p>\n<p><b><span style=\"color:darkgrey;\">Listing 1: Erstellen einer ZUGFeRD-konformen Rechnung<\/span><\/b><\/p>\n<p>Nach dem Starten der Prozedur dauert es wenige Sekunden, bis die Antwort des Aufrufs im Direktbereich des VBA-Editors landet. Danach steht die PDF-Rechnung unter dem angegebenen Pfad bereit und Sie k&ouml;nnen diese im PDF-Reader &ouml;ffnen.<\/p>\n<p><b>PDF untersuchen<\/b><\/p>\n<p>Adobe Acrobat liefert dann zun&auml;chst eine sichtbare Besonderheit, n&auml;mlich dass oben in einer eigenen Zeile der folgende Text erscheint:<\/p>\n<pre>Dieses Dokument wird gerade im PDF\/A-Modus angezeigt.<\/pre>\n<p>Au&szlig;erdem entdecken wir links im Navigationsbereich ein B&uuml;roklammer-Symbol, das nach dem Anklicken einen eigenen Bereich preisgibt (siehe Bild 3). Dieser sieht wie die Detailansicht im Windows Explorer aus und zeigt die eingebundene Datei namens <b>ZUGFeRD-invoice.xml <\/b>an. Wenn wir diese doppelt anklicken, finden wir das XML-Dokument in der mit der Endung <b>.xml <\/b>verkn&uuml;pften Anwendung vor. Wir haben den Code formatiert und den ersten Teil in Listing 2 abgebildet. Hier finden wir im oberen Bereich im Element <b>ram:ID <\/b>zun&auml;chst die Information, dass es sich um das <b>BASIC<\/b>-Format von ZUGFeRD handelt. Darunter folgen dann die allgemeinen Rechnungsinformationen wie die Rechnungsnummer, der Name, der TypeCode und das Ausgabedatum sowie der Hinweis auf die Zahlungsfrist.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2020_02\/pic_1232_003.png\" alt=\"ZUGFeRD-konforme Datei\" width=\"700\" height=\"514,1242\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 3: ZUGFeRD-konforme Datei<\/span><\/b><\/p>\n<p>Darunter folgen im Element <b>SpecifiedSupplyChain-TradeTransaction <\/b>die Angaben zum Verk&auml;ufer und zum Verk&auml;ufer.<\/p>\n<p>In der Fortsetzung des XML-Dokuments in Listing 3 finden Sie unter anderem das Element <b>ApplicableSupplyChainTradeDelivery<\/b>, welches den Liefermonat enth&auml;lt. Im Element <b>ApplicableSupplyChainTradeSettlement <\/b>finden wir die Zahlungsreferenz sowie die W&auml;hrung, IBAN und BIC.<\/p>\n<pre>     ...\r\n     &lt;ram:ApplicableSupplyChainTradeDelivery&gt;\r\n       &lt;ram:ActualDeliverySupplyChainEvent&gt;\r\n         &lt;ram:OccurrenceDateTime&gt;\r\n           &lt;udt:DateTimeString format=\"610\"&gt;202004&lt;\/udt:DateTimeString&gt;\r\n         &lt;\/ram:OccurrenceDateTime&gt;\r\n       &lt;\/ram:ActualDeliverySupplyChainEvent&gt;\r\n     &lt;\/ram:ApplicableSupplyChainTradeDelivery&gt;\r\n     &lt;ram:ApplicableSupplyChainTradeSettlement&gt;\r\n       &lt;ram:PaymentReference&gt;12345-1&lt;\/ram:PaymentReference&gt;\r\n       &lt;ram:InvoiceCurrencyCode&gt;EUR&lt;\/ram:InvoiceCurrencyCode&gt;\r\n       &lt;ram:SpecifiedTradeSettlementPaymentMeans&gt;\r\n         &lt;ram:PayeePartyCreditorFinancialAccount&gt;\r\n           &lt;ram:IBANID&gt;DE12121212121212121212&lt;\/ram:IBANID&gt;\r\n         &lt;\/ram:PayeePartyCreditorFinancialAccount&gt;\r\n         &lt;ram:PayeeSpecifiedCreditorFinancialInstitution&gt;\r\n           &lt;ram:BICID&gt;COBADEFFXXX&lt;\/ram:BICID&gt;\r\n         &lt;\/ram:PayeeSpecifiedCreditorFinancialInstitution&gt;\r\n       &lt;\/ram:SpecifiedTradeSettlementPaymentMeans&gt;\r\n       &lt;ram:SpecifiedTradeSettlementMonetarySummation&gt;\r\n         &lt;ram:LineTotalAmount currencyID=\"EUR\"&gt;100&lt;\/ram:LineTotalAmount&gt;\r\n         &lt;ram:ChargeTotalAmount currencyID=\"EUR\"&gt;0&lt;\/ram:ChargeTotalAmount&gt;\r\n         &lt;ram:AllowanceTotalAmount currencyID=\"EUR\"&gt;0&lt;\/ram:AllowanceTotalAmount&gt;\r\n         &lt;ram:TaxBasisTotalAmount currencyID=\"EUR\"&gt;19&lt;\/ram:TaxBasisTotalAmount&gt;\r\n         &lt;ram:GrandTotalAmount currencyID=\"EUR\"&gt;119&lt;\/ram:GrandTotalAmount&gt;\r\n       &lt;\/ram:SpecifiedTradeSettlementMonetarySummation&gt;\r\n     &lt;\/ram:ApplicableSupplyChainTradeSettlement&gt;\r\n     &lt;ram:IncludedSupplyChainTradeLineItem&gt;\r\n       &lt;ram:SpecifiedSupplyChainTradeDelivery&gt;\r\n         &lt;ram:PackageQuantity unitCode=\"C62\"&gt;1&lt;\/ram:PackageQuantity&gt;\r\n       &lt;\/ram:SpecifiedSupplyChainTradeDelivery&gt;\r\n       &lt;ram:SpecifiedTradeProduct&gt;\r\n         &lt;ram:Name&gt;Access im Unternehmen&lt;\/ram:Name&gt;\r\n       &lt;\/ram:SpecifiedTradeProduct&gt;\r\n     &lt;\/ram:IncludedSupplyChainTradeLineItem&gt;\r\n   &lt;\/rsm:SpecifiedSupplyChainTradeTransaction&gt;\r\n&lt;\/rsm:CrossIndustryDocument&gt;<\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 3: XML-Dokument einer ZUGFeRD-Rechnung, Teil 2<\/span><\/b><\/p>\n<p>Der Bereich <b>SpecifiedTradeSettlementMonetarySummation <\/b>enth&auml;lt alle Informationen rund um die in der Rechnung angegebenen Geldbetr&auml;ge. Schlie&szlig;lich folgt in <b>IncludedSupplyChainTrade-LineItem <\/b>noch die Angabe der enthaltenen Produkte. Wenn Sie die Produkte in einzelnen Rechnungspositionen hinzuf&uuml;gen und mit weiteren Informationen versehen wollen, ben&ouml;tigen Sie eine andere als die <b>BASIC<\/b>-Version von ZUGFeRD.<\/p>\n<p><b>Rechnungsdaten wieder einlesen<\/b><\/p>\n<p>Sinn und Zweck von ZUGFeRD ist ja nicht nur, die Rechnungsdaten per XML-Dokument an die PDF-Rechnung anzuh&auml;ngen, sondern diese sollen vom Empf&auml;nger auch ausgewertet werden k&ouml;nnen. <\/p>\n<p>Die Vorbereitungen dazu in Form einer geeigneten Methode in der DLL haben wir bereits im ersten Teil diese Beitragsreihe beschrieben. Diese nutzen wir beispielsweise wie in Listing 4.<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>ExtractInvoiceTest()\r\n     <span style=\"color:blue;\">Dim <\/span>objZUGFeRD<span style=\"color:blue;\"> As <\/span>ZUGFeRD.ZUGFeRD_NET\r\n     <span style=\"color:blue;\">Set<\/span> objZUGFeRD = <span style=\"color:blue;\">New<\/span> ZUGFeRD.ZUGFeRD_NET\r\n     <span style=\"color:blue;\">With<\/span> objZUGFeRD\r\n         .ZielPDF = CurrentProject.Path & \"RechnungMitXML.pdf\"\r\n         .ZUGFeRDRechnungExtrahieren\r\n         <span style=\"color:blue;\">Debug.Print<\/span> \"K&auml;ufer:\"\r\n         <span style=\"color:blue;\">Debug.Print<\/span> \"Name:             \" & .Kaeufer_Name\r\n         <span style=\"color:blue;\">Debug.Print<\/span> \"Ort:              \" & .Kaeufer_Ort\r\n         <span style=\"color:blue;\">Debug.Print<\/span> \"PLZ:              \" & .Kaeufer_PLZ\r\n         <span style=\"color:blue;\">Debug.Print<\/span> \"Stra&szlig;e:           \" & .Kaeufer_Strasse\r\n         <span style=\"color:blue;\">Debug.Print<\/span> \"Land:             \" & .Kaeufer_Land\r\n         <span style=\"color:blue;\">Debug.Print<\/span> \"Ust-IdNr.:        \" & .Kaeufer_UstIDNr\r\n         <span style=\"color:blue;\">Debug.Print<\/span> \"Verk&auml;ufer:\"\r\n         <span style=\"color:blue;\">Debug.Print<\/span> \"BIC:              \" & .Verkaeufer_BIC\r\n         <span style=\"color:blue;\">Debug.Print<\/span> \"IBAN:             \" & .Verkaeufer_IBAN\r\n         <span style=\"color:blue;\">Debug.Print<\/span> \"Name:             \" & .Verkaeufer_Name\r\n         <span style=\"color:blue;\">Debug.Print<\/span> \"Ort:              \" & .Verkaeufer_Ort\r\n         <span style=\"color:blue;\">Debug.Print<\/span> \"PLZ:              \" & .Verkaeufer_PLZ\r\n         <span style=\"color:blue;\">Debug.Print<\/span> \"Stra&szlig;e:           \" & .Verkaeufer_Strasse\r\n         <span style=\"color:blue;\">Debug.Print<\/span> \"Land:             \" & .Verkaeufer_Land\r\n         <span style=\"color:blue;\">Debug.Print<\/span> \"Ust-IdNr.:        \" & .Verkaeufer_UstIDNr\r\n         <span style=\"color:blue;\">Debug.Print<\/span> \"Zahlungsdaten:\"\r\n         <span style=\"color:blue;\">Debug.Print<\/span> \"Zahlungsreferenz: \" & .Zahlungsreferenz\r\n         <span style=\"color:blue;\">Debug.Print<\/span> \"Nettobetrag:      \" & .Nettobetrag\r\n         <span style=\"color:blue;\">Debug.Print<\/span> \"Abschl&auml;ge:        \" & .Abschlaege\r\n         <span style=\"color:blue;\">Debug.Print<\/span> \"Aufschl&auml;ge:       \" & .Aufschlaege\r\n         <span style=\"color:blue;\">Debug.Print<\/span> \"MwSt.-Betrag:     \" & .Mehrwertst8euerbetrag\r\n         <span style=\"color:blue;\">Debug.Print<\/span> \"Bruttobetrag:     \" & .Bruttobetrag8\r\n     End <span style=\"color:blue;\">With<\/span>\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 4: Extrahieren der Daten aus einer ZUGFeRD-Datei<\/span><\/b><\/p>\n<p>Die Vorgehensweise ist einfach. Sie &uuml;bergeben nach dem Instanzieren des Objekts auf Basis der Klasse <b>ZUGFeRD_NET <\/b>einfach das Dokument, das mit den Rechnungsdaten im XML-Format ausgestattet wurde &#8211; und zwar mit der Eigenschaft <b>ZielPDF<\/b>.<\/p>\n<p>Dann rufen Sie die Methode <b>ZUGFeRDRechnungExtrahieren <\/b>auf und wenn die Daten in der ben&ouml;tigten Form vorliegen, k&ouml;nnen Sie diese nach dem Extrahieren aus den verschiedenen Eigenschaften der Klasse auslesen.<\/p>\n<p><b>Zusammenfassung und Ausblick<\/b><\/p>\n<p>Dieser Beitrag zeigt, wie Sie die im ersten Teil der Beitragsreihe vorgestellte DLL von Access aus nutzen k&ouml;nnen. Dabei k&ouml;nnen Sie Rechnungsdaten als XML-Dokument zu einer bestehenden PDF-Rechnung hinzuf&uuml;gen und diese auch wieder auslesen.<\/p>\n<p>Die hier vorgestellten Techniken k&ouml;nnen Sie auf beiden Seiten nutzen: Wenn Sie eine Anwendung haben, mit der Sie bisher die Rechnungen erstellt haben, k&ouml;nnen Sie diese nun um die Rechnungsdaten im ZUGFeRD-Format erg&auml;nzen. Wenn Sie selbst Rechnungen erhalten und diese automatisiert weiterverarbeiten wollen, k&ouml;nnen Sie diese auslesen und beispielsweise direkt in eine Onlinebanking-&Uuml;berweisung &uuml;berf&uuml;hren.<\/p>\n<h3>Downloads zu diesem Beitrag<\/h3>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>ZuGFeRD.accdb<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/4515E8CC-CA5C-4E28-B8BB-6277AA95A720\/aiu_1232.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Im ersten Teil der Beitragsreihe haben wir gezeigt, wie Sie eine DLL erzeugen k&ouml;nnen, mit der Sie von au&szlig;en &uuml;bergebene Daten plus eine Rechnung im PDF-Format zu einer ZUGFeRD-konformen Rechnung zusammenf&uuml;hren k&ouml;nnen. Das hei&szlig;t, dass die PDF-Rechnung in eine Rechnung des Formats PDF\/A-3 umgewandelt wird und ein XML-Dokument mit den Rechnungsdaten im computerlesbaren Format in das PDF-Dokument integriert wird. Der zweite Teil der Beitragsreihe zeigt nun, wie Sie die f&uuml;r das XML-Dokument ben&ouml;tigten Informationen an die DLL &uuml;bergeben und so die ZUGFeRD-Rechnung erstellen.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[66022020,662020,44000027],"tags":[],"class_list":["post-55001232","post","type-post","status-publish","format-standard","hentry","category-66022020","category-662020","category-Loesungen"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Rechnungen mit ZUGFeRD 1.0, Teil 2: Access-DLL - Access im Unternehmen<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-im-unternehmen.de\/Rechnungen_mit_ZUGFeRD_10_Teil_2_AccessDLL\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Rechnungen mit ZUGFeRD 1.0, Teil 2: Access-DLL\" \/>\n<meta property=\"og:description\" content=\"Im ersten Teil der Beitragsreihe haben wir gezeigt, wie Sie eine DLL erzeugen k&ouml;nnen, mit der Sie von au&szlig;en &uuml;bergebene Daten plus eine Rechnung im PDF-Format zu einer ZUGFeRD-konformen Rechnung zusammenf&uuml;hren k&ouml;nnen. Das hei&szlig;t, dass die PDF-Rechnung in eine Rechnung des Formats PDF\/A-3 umgewandelt wird und ein XML-Dokument mit den Rechnungsdaten im computerlesbaren Format in das PDF-Dokument integriert wird. Der zweite Teil der Beitragsreihe zeigt nun, wie Sie die f&uuml;r das XML-Dokument ben&ouml;tigten Informationen an die DLL &uuml;bergeben und so die ZUGFeRD-Rechnung erstellen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Rechnungen_mit_ZUGFeRD_10_Teil_2_AccessDLL\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2020-07-10T09:40:44+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg06.met.vgwort.de\/na\/b2fd1a21e2d14bf89f55c4be01379dd9\" \/>\n<meta name=\"author\" content=\"Andr\u00e9 Minhorst\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andr\u00e9 Minhorst\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"8\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Rechnungen_mit_ZUGFeRD_10_Teil_2_AccessDLL\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Rechnungen_mit_ZUGFeRD_10_Teil_2_AccessDLL\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Rechnungen mit ZUGFeRD 1.0, Teil 2: Access-DLL\",\"datePublished\":\"2020-07-10T09:40:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Rechnungen_mit_ZUGFeRD_10_Teil_2_AccessDLL\\\/\"},\"wordCount\":1023,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Rechnungen_mit_ZUGFeRD_10_Teil_2_AccessDLL\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg06.met.vgwort.de\\\/na\\\/b2fd1a21e2d14bf89f55c4be01379dd9\",\"articleSection\":[\"2\\\/2020\",\"2020\",\"L\u00f6sungen\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Rechnungen_mit_ZUGFeRD_10_Teil_2_AccessDLL\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Rechnungen_mit_ZUGFeRD_10_Teil_2_AccessDLL\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Rechnungen_mit_ZUGFeRD_10_Teil_2_AccessDLL\\\/\",\"name\":\"Rechnungen mit ZUGFeRD 1.0, Teil 2: Access-DLL - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Rechnungen_mit_ZUGFeRD_10_Teil_2_AccessDLL\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Rechnungen_mit_ZUGFeRD_10_Teil_2_AccessDLL\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg06.met.vgwort.de\\\/na\\\/b2fd1a21e2d14bf89f55c4be01379dd9\",\"datePublished\":\"2020-07-10T09:40:44+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Rechnungen_mit_ZUGFeRD_10_Teil_2_AccessDLL\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Rechnungen_mit_ZUGFeRD_10_Teil_2_AccessDLL\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Rechnungen_mit_ZUGFeRD_10_Teil_2_AccessDLL\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg06.met.vgwort.de\\\/na\\\/b2fd1a21e2d14bf89f55c4be01379dd9\",\"contentUrl\":\"http:\\\/\\\/vg06.met.vgwort.de\\\/na\\\/b2fd1a21e2d14bf89f55c4be01379dd9\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Rechnungen_mit_ZUGFeRD_10_Teil_2_AccessDLL\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Rechnungen mit ZUGFeRD 1.0, Teil 2: Access-DLL\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"name\":\"Access im Unternehmen\",\"description\":\"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access\",\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\",\"name\":\"Andr\u00e9 Minhorst Verlag\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"contentUrl\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"width\":370,\"height\":111,\"caption\":\"Andr\u00e9 Minhorst Verlag\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Rechnungen mit ZUGFeRD 1.0, Teil 2: Access-DLL - Access im Unternehmen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/access-im-unternehmen.de\/Rechnungen_mit_ZUGFeRD_10_Teil_2_AccessDLL\/","og_locale":"de_DE","og_type":"article","og_title":"Rechnungen mit ZUGFeRD 1.0, Teil 2: Access-DLL","og_description":"Im ersten Teil der Beitragsreihe haben wir gezeigt, wie Sie eine DLL erzeugen k&ouml;nnen, mit der Sie von au&szlig;en &uuml;bergebene Daten plus eine Rechnung im PDF-Format zu einer ZUGFeRD-konformen Rechnung zusammenf&uuml;hren k&ouml;nnen. Das hei&szlig;t, dass die PDF-Rechnung in eine Rechnung des Formats PDF\/A-3 umgewandelt wird und ein XML-Dokument mit den Rechnungsdaten im computerlesbaren Format in das PDF-Dokument integriert wird. Der zweite Teil der Beitragsreihe zeigt nun, wie Sie die f&uuml;r das XML-Dokument ben&ouml;tigten Informationen an die DLL &uuml;bergeben und so die ZUGFeRD-Rechnung erstellen.","og_url":"https:\/\/access-im-unternehmen.de\/Rechnungen_mit_ZUGFeRD_10_Teil_2_AccessDLL\/","og_site_name":"Access im Unternehmen","article_published_time":"2020-07-10T09:40:44+00:00","og_image":[{"url":"http:\/\/vg06.met.vgwort.de\/na\/b2fd1a21e2d14bf89f55c4be01379dd9","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"8\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Rechnungen_mit_ZUGFeRD_10_Teil_2_AccessDLL\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Rechnungen_mit_ZUGFeRD_10_Teil_2_AccessDLL\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Rechnungen mit ZUGFeRD 1.0, Teil 2: Access-DLL","datePublished":"2020-07-10T09:40:44+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Rechnungen_mit_ZUGFeRD_10_Teil_2_AccessDLL\/"},"wordCount":1023,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Rechnungen_mit_ZUGFeRD_10_Teil_2_AccessDLL\/#primaryimage"},"thumbnailUrl":"http:\/\/vg06.met.vgwort.de\/na\/b2fd1a21e2d14bf89f55c4be01379dd9","articleSection":["2\/2020","2020","L\u00f6sungen"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Rechnungen_mit_ZUGFeRD_10_Teil_2_AccessDLL\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Rechnungen_mit_ZUGFeRD_10_Teil_2_AccessDLL\/","url":"https:\/\/access-im-unternehmen.de\/Rechnungen_mit_ZUGFeRD_10_Teil_2_AccessDLL\/","name":"Rechnungen mit ZUGFeRD 1.0, Teil 2: Access-DLL - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Rechnungen_mit_ZUGFeRD_10_Teil_2_AccessDLL\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Rechnungen_mit_ZUGFeRD_10_Teil_2_AccessDLL\/#primaryimage"},"thumbnailUrl":"http:\/\/vg06.met.vgwort.de\/na\/b2fd1a21e2d14bf89f55c4be01379dd9","datePublished":"2020-07-10T09:40:44+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Rechnungen_mit_ZUGFeRD_10_Teil_2_AccessDLL\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Rechnungen_mit_ZUGFeRD_10_Teil_2_AccessDLL\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Rechnungen_mit_ZUGFeRD_10_Teil_2_AccessDLL\/#primaryimage","url":"http:\/\/vg06.met.vgwort.de\/na\/b2fd1a21e2d14bf89f55c4be01379dd9","contentUrl":"http:\/\/vg06.met.vgwort.de\/na\/b2fd1a21e2d14bf89f55c4be01379dd9"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Rechnungen_mit_ZUGFeRD_10_Teil_2_AccessDLL\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Rechnungen mit ZUGFeRD 1.0, Teil 2: Access-DLL"}]},{"@type":"WebSite","@id":"https:\/\/access-im-unternehmen.de\/#website","url":"https:\/\/access-im-unternehmen.de\/","name":"Access im Unternehmen","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access","publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/access-im-unternehmen.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/access-im-unternehmen.de\/#organization","name":"Andr\u00e9 Minhorst Verlag","url":"https:\/\/access-im-unternehmen.de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/","url":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","contentUrl":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","width":370,"height":111,"caption":"Andr\u00e9 Minhorst Verlag"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","caption":"Andr\u00e9 Minhorst"}}]}},"_links":{"self":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55001232","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/comments?post=55001232"}],"version-history":[{"count":1,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55001232\/revisions"}],"predecessor-version":[{"id":88072157,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55001232\/revisions\/88072157"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55001232"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55001232"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55001232"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}