@@ -29,6 +29,7 @@ TForm1 = class(TForm)
2929 btX200ConvertHTML: TButton;
3030 Button1: TButton;
3131 cbAttachments: TCheckBox;
32+ cbDeliveriyInf: TCheckBox;
3233 procedure Button3Click (Sender: TObject);
3334 procedure FormCreate (Sender: TObject);
3435 procedure Button4Click (Sender: TObject);
@@ -128,10 +129,10 @@ procedure TForm1.Button1Click(Sender: TObject);
128129 inv.AccountingSupplierParty.Name := ' Verkaeufername' ;
129130 inv.AccountingSupplierParty.RegistrationName := ' Verkaeufername' ; // Sollte ausgefüllt werden
130131 inv.AccountingSupplierParty.CompanyID := ' ' ;
131- inv.AccountingSupplierParty.StreetName := ' Verkaeuferstraße 1' ;
132- inv.AccountingSupplierParty.City := ' Verkaeuferstadt' ;
133- inv.AccountingSupplierParty.PostalZone := ' 01234' ;
134- inv.AccountingSupplierParty.CountryCode := ' DE' ;
132+ inv.AccountingSupplierParty.Address. StreetName := ' Verkaeuferstraße 1' ;
133+ inv.AccountingSupplierParty.Address. City := ' Verkaeuferstadt' ;
134+ inv.AccountingSupplierParty.Address. PostalZone := ' 01234' ;
135+ inv.AccountingSupplierParty.Address. CountryCode := ' DE' ;
135136 inv.AccountingSupplierParty.VATCompanyID := ' DE12345678' ; // TODO mehrere Steuer-IDs
136137 inv.AccountingSupplierParty.ContactName := ' Meier' ;
137138 inv.AccountingSupplierParty.ContactTelephone := ' 030 0815' ;
@@ -140,10 +141,10 @@ procedure TForm1.Button1Click(Sender: TObject);
140141 inv.AccountingCustomerParty.Name := ' Kaeufername' ;
141142 inv.AccountingCustomerParty.RegistrationName := ' Kaeufername' ; // Sollte ausgefüllt werden
142143 inv.AccountingCustomerParty.CompanyID := ' HRB 456' ;
143- inv.AccountingCustomerParty.StreetName := ' Kaeuferstraße 1' ;
144- inv.AccountingCustomerParty.City := ' Kaeuferstadt' ;
145- inv.AccountingCustomerParty.PostalZone := ' 05678' ;
146- inv.AccountingCustomerParty.CountryCode := ' DE' ;
144+ inv.AccountingCustomerParty.Address. StreetName := ' Kaeuferstraße 1' ;
145+ inv.AccountingCustomerParty.Address. City := ' Kaeuferstadt' ;
146+ inv.AccountingCustomerParty.Address. PostalZone := ' 05678' ;
147+ inv.AccountingCustomerParty.Address. CountryCode := ' DE' ;
147148 inv.AccountingCustomerParty.VATCompanyID := ' DE12345678' ; // TODO mehrere Steuer-IDs
148149 inv.AccountingCustomerParty.ContactName := ' Müller' ;
149150 inv.AccountingCustomerParty.ContactTelephone := ' 030 1508' ;
@@ -215,9 +216,9 @@ procedure TForm1.Button3Click(Sender: TObject);
215216 inv := TInvoice.Create;
216217 inv.InvoiceNumber := ' R2020-0815' ;
217218 inv.InvoiceIssueDate := Date;
218- inv.InvoiceDueDate := Date+30 ;
219- inv.InvoicePeriodStartDate := Date-30 ;
220- inv.InvoicePeriodEndDate := Date-1 ;
219+ inv.InvoiceDueDate := Date+30 ; // Rechnungsdatum
220+ inv.InvoicePeriodStartDate := Date-30 ; // Leistungs-/Lieferzeitpunkt Beginn
221+ inv.InvoicePeriodEndDate := Date-1 ; // Leistungs-/Lieferzeitpunkt Ende
221222 inv.InvoiceTypeCode := TInvoiceTypeCode.itc_CommercialInvoice; // Schlussrechnung
222223 inv.InvoiceCurrencyCode := ' EUR' ;
223224 inv.TaxCurrencyCode := ' EUR' ;
@@ -228,10 +229,13 @@ procedure TForm1.Button3Click(Sender: TObject);
228229 inv.AccountingSupplierParty.Name := ' Verkaeufername' ;
229230 inv.AccountingSupplierParty.RegistrationName := ' Verkaeufername' ; // Sollte ausgefuellt werden
230231 inv.AccountingSupplierParty.CompanyID := ' ' ;
231- inv.AccountingSupplierParty.StreetName := ' Verkaeuferstraße 1' ;
232- inv.AccountingSupplierParty.City := ' Verkaeuferstadt' ;
233- inv.AccountingSupplierParty.PostalZone := ' 01234' ;
234- inv.AccountingSupplierParty.CountryCode := ' DE' ;
232+ inv.AccountingSupplierParty.Address.StreetName := ' Verkaeuferstraße 1' ;
233+ inv.AccountingSupplierParty.Address.AdditionalStreetName := ' Hinterhaus' ; // optional
234+ inv.AccountingSupplierParty.Address.City := ' Verkaeuferstadt' ;
235+ inv.AccountingSupplierParty.Address.PostalZone := ' 01234' ;
236+ inv.AccountingSupplierParty.Address.CountrySubentity := ' Sachsen' ; // optional
237+ inv.AccountingSupplierParty.Address.AddressLine := ' Gate 64' ; // optional
238+ inv.AccountingSupplierParty.Address.CountryCode := ' DE' ;
235239 inv.AccountingSupplierParty.VATCompanyID := ' DE12345678' ; // TODO mehrere Steuer-IDs
236240 inv.AccountingSupplierParty.ContactName := ' Meier' ;
237241 inv.AccountingSupplierParty.ContactTelephone := ' 030 0815' ;
@@ -240,15 +244,30 @@ procedure TForm1.Button3Click(Sender: TObject);
240244 inv.AccountingCustomerParty.Name := ' Kaeufername' ;
241245 inv.AccountingCustomerParty.RegistrationName := ' Kaeufername' ; // Sollte ausgefüllt werden
242246 inv.AccountingCustomerParty.CompanyID := ' HRB 456' ;
243- inv.AccountingCustomerParty.StreetName := ' Kaeuferstraße 1' ;
244- inv.AccountingCustomerParty.City := ' Kaeuferstadt' ;
245- inv.AccountingCustomerParty.PostalZone := ' 05678' ;
246- inv.AccountingCustomerParty.CountryCode := ' DE' ;
247+ inv.AccountingCustomerParty.Address. StreetName := ' Kaeuferstraße 1' ;
248+ inv.AccountingCustomerParty.Address. City := ' Kaeuferstadt' ;
249+ inv.AccountingCustomerParty.Address. PostalZone := ' 05678' ;
250+ inv.AccountingCustomerParty.Address. CountryCode := ' DE' ;
247251 inv.AccountingCustomerParty.VATCompanyID := ' DE12345678' ; // TODO mehrere Steuer-IDs
248252 inv.AccountingCustomerParty.ContactName := ' Müller' ;
249253 inv.AccountingCustomerParty.ContactTelephone := ' 030 1508' ;
250254 inv.AccountingCustomerParty.ContactElectronicMail :=
' [email protected] ' ;
251255
256+ // Eine Gruppe von Informationselementen, die Informationen über die Anschrift liefern, an die
257+ // die Waren geliefert oder an der die Dienstleistungen erbracht werden. Die Gruppe ist nur zu
258+ // verwenden, wenn die Lieferanschrift von der Erwerberanschrift abweicht. Wenn die Waren
259+ // abgeholt werden, ist die Abholadresse die Lieferadresse. Eine vollständige gültige Anschrift
260+ // ist anzugeben.
261+ if cbDeliveriyInf.Checked then
262+ begin
263+ inv.DeliveryInformation.Name := ' Firma die es bekommt' ;
264+ inv.DeliveryInformation.Address.StreetName := ' Lieferstraße 1' ;
265+ inv.DeliveryInformation.Address.City := ' Lieferstadt' ;
266+ inv.DeliveryInformation.Address.PostalZone := ' 05678' ;
267+ inv.DeliveryInformation.Address.CountryCode := ' DE' ;
268+ inv.DeliveryInformation.ActualDeliveryDate := Date-1 ;
269+ end ;
270+
252271 inv.PaymentMeansCode := ipmc_SEPACreditTransfer; // Ueberweisung
253272 inv.PaymentID := ' Verwendungszweck der Ueberweisung...R2020-0815' ;
254273 inv.PayeeFinancialAccount := ' DE75512108001245126199' ; // dies ist eine nicht existerende aber valide IBAN als test dummy
@@ -539,10 +558,10 @@ procedure TForm1.Button4Click(Sender: TObject);
539558 inv.AccountingSupplierParty.Name := ' Verkaeufername' ;
540559 inv.AccountingSupplierParty.RegistrationName := ' Verkaeufername' ; // Sollte ausgefüllt werden
541560 inv.AccountingSupplierParty.CompanyID := ' ' ;
542- inv.AccountingSupplierParty.StreetName := ' Verkaeuferstraße 1' ;
543- inv.AccountingSupplierParty.City := ' Verkaeuferstadt' ;
544- inv.AccountingSupplierParty.PostalZone := ' 01234' ;
545- inv.AccountingSupplierParty.CountryCode := ' DE' ;
561+ inv.AccountingSupplierParty.Address. StreetName := ' Verkaeuferstraße 1' ;
562+ inv.AccountingSupplierParty.Address. City := ' Verkaeuferstadt' ;
563+ inv.AccountingSupplierParty.Address. PostalZone := ' 01234' ;
564+ inv.AccountingSupplierParty.Address. CountryCode := ' DE' ;
546565 inv.AccountingSupplierParty.VATCompanyID := ' DE12345678' ; // TODO mehrere Steuer-IDs
547566 inv.AccountingSupplierParty.ContactName := ' Meier' ;
548567 inv.AccountingSupplierParty.ContactTelephone := ' 030 0815' ;
@@ -551,10 +570,10 @@ procedure TForm1.Button4Click(Sender: TObject);
551570 inv.AccountingCustomerParty.Name := ' Kaeufername' ;
552571 inv.AccountingCustomerParty.RegistrationName := ' Kaeufername' ; // Sollte ausgefüllt werden
553572 inv.AccountingCustomerParty.CompanyID := ' HRB 456' ;
554- inv.AccountingCustomerParty.StreetName := ' Kaeuferstraße 1' ;
555- inv.AccountingCustomerParty.City := ' Kaeuferstadt' ;
556- inv.AccountingCustomerParty.PostalZone := ' 05678' ;
557- inv.AccountingCustomerParty.CountryCode := ' DE' ;
573+ inv.AccountingCustomerParty.Address. StreetName := ' Kaeuferstraße 1' ;
574+ inv.AccountingCustomerParty.Address. City := ' Kaeuferstadt' ;
575+ inv.AccountingCustomerParty.Address. PostalZone := ' 05678' ;
576+ inv.AccountingCustomerParty.Address. CountryCode := ' DE' ;
558577 inv.AccountingCustomerParty.VATCompanyID := ' DE12345678' ; // TODO mehrere Steuer-IDs
559578 inv.AccountingCustomerParty.ContactName := ' Müller' ;
560579 inv.AccountingCustomerParty.ContactTelephone := ' 030 1508' ;
0 commit comments