Tutorial 18: Import aus einer XML-Datei


Das Programm bietet eine XML-Schnittstelle zum Anlegen von Rechnungen und Kunden an. Unter dem Menüpunkt „Extras->Import aus XML“ befindet sich Dialog zur Eingabe einer XML-Datei.


Wie genaue die XML-Eingabe aussehen soll, erläutern folgende Beispiele. Eine detaillierte Beschreibung zu allen möglichen Attributen befindet sich in der Tabelle am Ende dieses Tutorials.


Beispiel 1. Import einer Rechnung


Beim Import werden Rechnungen zuerst mit Initial-Daten befüllt und mit den Daten aus XML-Eingabe überschrieben. Hier wird eine Rechnung mit einer Rechnungsposition importiert.

<rv_import>
<rv_invoice>
  <customer
  	cl_name1="Customer name K001"
  	cl_str="Customer street 100"
  	cl_ind="100000"
  	cl_city="Customer City"
  	>
  </customer>
  <invoice_items>
  	<item
  	  	name="Position P001"
  	  	price="100"
  	  	factor="1"
  	  	>
  	</item>
  </invoice_items>
</rv_invoice>
</rv_import>

Das erste Element rv_import ist obligatorisch und beinhalten die ganzen Importdaten. Innerhalb dieses Elements sind mehrere rv_invoice Elemente möglich. Das Element rv_invoice enthält alle Daten zu einer Rechnung - das Element customer und invoice_items.

Das Element customer repräsentiert den Kunden. Das Element invoice_items kann mehrere Elemente item beinhalten, wobei das Element item eine Rechnungsposition repräsentiert.

Rechnungsnummer und Kundennummer sind nicht angegeben, deshalb werden Sie vom Programm vergeben.


Beispiel 2. Import einer Rechnung mit mehreren Attributen


Hier wird eine Rechnung mit zwei Rechnungspositionen importiert. Rechnungsnummer und Kundennummer werden nicht vom Programm vergeben. Eine XML-Datei für dieses Beispiel kann hier heruntergeladen werden.

<rv_import>
<rv_invoice
  type=""
  number="101"
  date="01.03.2016"
  service_from="01.01.2016"
  service_to="31.01.2016"
  due="15.03.2016"
  paid="X"
  paid_date="28.02.2016"
  note=""
  text1="This is an example invoice text one."
  text2="This is an example invoice text two."
  tax="20"
  gross_price="X"
  payment_method=""
  reason_payment="Invoice 101"
  account=""
  numbertype=""
  >
  <customer
  	cl_number="K001"
  	cl_name1="Customer name K001"
  	cl_name2=""
  	cl_str="Customer street 100"
  	cl_ind="100000"
  	cl_city="Customer City"
  	cl_county="Customer Land"
  	cl_title=""
  	cl_name="Customer name"
  	cl_email=""
  	cl_tel=""
  	cl_note=""
  	cl_bank_owner=""
  	cl_bank_iban=""
  	cl_bank_bic=""
  	cl_bank_name=""
  	cl_import_mode="0"
  	>
  </customer>
  <invoice_items>
  	<item
  	  	code="P001"
  	  	name="Position P001"
  	  	price="100"
  	  	unit=""
  	  	factor="1"
  	  	sum="100"
  	  	>
  	</item>
  	<item
  	  	code="P002"
  	  	name="Position P002"
  	  	price="125"
  	  	unit=""
  	  	factor="2"
  	  	sum="250"
  	  	>
  	</item>
  </invoice_items>
</rv_invoice>
</rv_import>

Beispiel 3. Import von Kunden


In diesem Beispiel werden nur zwei Kunden importiert. Eine XML-Datei für dieses Beispiel kann hier heruntergeladen werden.

<rv_import>
  <customer
  	cl_number="K001"
  	cl_name1="Customer name K001"
  	cl_name2=""
  	cl_str="Customer street 100"
  	cl_ind="100000"
  	cl_city="Customer City"
  	cl_county="Customer Land"
  	cl_title=""
  	cl_name="Customer name"
  	cl_email=""
  	cl_tel=""
  	cl_note=""
  	cl_bank_owner=""
  	cl_bank_iban=""
  	cl_bank_bic=""
  	cl_bank_name=""
  	cl_import_mode="1"
  	>
  </customer>
  <customer
  	cl_number="K002"
  	cl_name1="Customer name K002"
  	cl_name2=""
  	cl_str="Customer street 200"
  	cl_ind="100000"
  	cl_city="Customer City"
  	cl_county="Customer Land"
  	cl_title=""
  	cl_name="Customer name"
  	cl_email=""
  	cl_tel=""
  	cl_note=""
  	cl_bank_owner=""
  	cl_bank_iban=""
  	cl_bank_bic=""
  	cl_bank_name=""
  	cl_import_mode="1"
  	>
  </customer>
</rv_import>

Anlage aus Buffer

Eine weitere Möglichkeit, einen neuen Kunden anzulegen, besteht darin, dass man einen Kunden im oben beschriebenen XML-Format in Buffer kopiert und dann im Programm einen neuen Kunden anlegt (z.B. durch F4-Button). Das Programm erkennt automatisch, dass der Buffer diese Informationen enthält und befüllt Dialog-Felder mit den Daten.


Alle möglichen Attribute


Element Attribut Erläuterung
rv_import Das Element beinhaltet alle Import-Daten
rv_invoice Das Element beinhaltet Daten zu einer Rechnung
rv_invoice type Das Attribut gibt die Rechnungsart für eine Rechnung an. Diese beeinflüsst eigene Adresse, Rechnungstext, Fußzeile sowie den Verwendungszweck.
rv_invoice number Das Attribut gibt die Rechnungsnummer für eine Rechnung an. Falls das Attribut leer ist, wird die Rechnungsnummer vom Programm vergeben.
rv_invoice date Das Attribut gibt das Rechnungsdatum für eine Rechnung an.
rv_invoice service_from Das Attribut gibt das Leistungsdatum für eine Rechnung an.
rv_invoice service_to Das Attribut gibt das Ende der Leistung für eine Rechnung an.
rv_invoice due Das Attribut gibt das "Zu zahlen bis" Datum für eine Rechnung an.
rv_invoice paid Das Attribut gibt den Zahlungsstatus für eine Rechnung an: "X" - die Rechnung ist bezahlt, "N" - die Rechnung ist offen.
rv_invoice paid_date Das Attribut gibt das Zahlungsdatum für eine Rechnung an.
rv_invoice note Das Attribut gibt die interne Notiz für eine Rechnung an.
rv_invoice text1 Das Attribut gibt den Rechnungstext 1 für eine Rechnung an.
rv_invoice text2 Das Attribut gibt den Rechnungstext 2 für eine Rechnung an.
rv_invoice tax Das Attribut gibt den Umsatzsteuersatz für eine Rechnung an.
rv_invoice gross_price Falls das Attribut gesetzt wird (gross_price="X"), werden die Preise als Brutto-Preise interpretiert.
rv_invoice payment_method Das Attribut gibt die Zahlungsmethode für eine Rechnung an.
rv_invoice reason_payment Das Attribut gibt den Verwendungszweck für eine Rechnung an.
rv_invoice account Das Attribut gibt das Geldkonto für eine Rechnung an.
rv_invoice numbertype Das Attribut gibt der Vergabe von Rechnungsnummern. Falls numbertype="0", werden die Rechnungsnummer standartmäßig vergeben. Falls numbertype="1", generiert sich die Rechnungsnummer aus der Kundennummer.
customer Das Element beinhaltet Daten zu einem Kunden
customer cl_number Das Attribut gibt die Kudnennummer an. Falls das Attribut leer ist, wird die Kundennummer vom Programm vergeben.
customer cl_name1 Das Attribut gibt die erste Adresszeile an.
customer cl_name2 Das Attribut gibt die zweite Adresszeile an.
customer cl_str Das Attribut gibt die Straße und die Hausnummer an.
customer cl_ind Das Attribut gibt die PLZ an.
customer cl_city Das Attribut gibt den Ort an.
customer cl_county Das Attribut gibt das Land an.
customer cl_title Das Attribut gibt die Anrede an.
customer cl_name Das Attribut gibt den Ansprechpartner an.
customer cl_email Das Attribut gibt die E-Mail Adresse an.
customer cl_tel Das Attribut gibt das Telefon an.
customer cl_note Das Attribut gibt die Notiz an.
customer cl_bank_owner Das Attribut gibt den Konto-Inhaber an.
customer cl_bank_iban Das Attribut gibt die IBAN an.
customer cl_bank_bic Das Attribut gibt den BIC an.
customer cl_bank_name Das Attribut gibt den Bankname an.
customer cl_import_mode Falls cl_import_mode="1", werden die Kundendaten im Programm beim Kunden überschrieben, falls der Kunde bereits vorhanden ist.
invoice_items Das Element beinhaltet Rechnungspositionen zu einer Rechnung
item Das Element beinhaltet eine einzelne Rechnungsposition
item code Das Attribut gibt die Kennung einer Rechnungsposition an.
item name Das Attribut gibt den Namen einer Rechnungsposition an.
item price Das Attribut gibt den Preis einer Rechnungsposition an.
item unit Das Attribut gibt die Einheit einer Rechnungsposition an.
item factor Das Attribut gibt den Faktor einer Rechnungsposition an.
item sum Das Attribut gibt die Summe einer Rechnungsposition an. Falls diese nicht angegeben ist, wird sie vom Programm berechnet. Der gesamte Rechnungsbetrag wird immer vom Programm berechnet und kann nicht angegeben werden.



Zu diesem Tutorial sind noch keine Kommentare vorhanden.


Ihr Name:
Ihre E-Mail:
Ihre Nachricht: