XML-Bestelldatenexport

In der Administration kann unter Verwaltung → Shops → bearbeiten → Rechnungserstellung die Rechnungserstellung pro Shop aktiviert werden. Hierfür muss die Vorlage befüllt werden. Bitte alten die die Mustervorlage und speichern Sie Ihre Änderungen ab. Die Rechnung ist somit aktiviert und wird an den jeweils eingestellten Stellen angezeigt/ausgegeben.


Variablen

Folgende Variablen stehen in der Rechnungsvorlage zur Verfügung:


Variable

Typ

Beschreibung

{$CurrencySymbol}

string

Währungssymbol

{$cart}

array

Warenkorb

{$serviceprovider}

array

Dienstleister

{$PaymentId}

int

Zahlungsart-Id

{$PaymentMethod}

string

Bezeichung der Zahlungsart

{$Payment}

array

Zahlungsart (Live)

{$arr_paymentfelder}

array

Zusatzfelder Zahlungsart

{$orderTotalShipping}

float

Summe der Bestellung inkl. Versandkosten

{$orderTotalWithoutShipping}

float

Summe der Bestellung exkl. Versandkosten

{$orderTotal}

float

Summe der Bestellung exkl. Versandkosten

{$Versandkosten}

array

Versandkosten

{$Total}

string

Rechnungsbetrag

{$NetTotal}

string

Rechnungsbetrag

{$VAT}

string

MwSt.

{$Kunde}

array

Daten des Benutzers (live)

{$Kundendaten}

array

Daten des Benutzers (live)

{$Bestelldaten}

array

Bestelldaten

{$Firma1}

string

Lieferadresse: Firma

{$InvoiceCompany}

string

Lieferadresse: Firma

{$LieferadresseFirma}

string

Lieferadresse: Firma

{$Firma2}

string

Lieferadresse: Firma 2

{$InvoiceCompany2}

string

Lieferadresse: Firma 2

{$Ansprechpartnter}

string

Lieferadresse: Ansprechpartner

{$Strasse}

string

Lieferadresse: Straße

{$PLZ}

string

Lieferadresse: PLZ

{$Ort}

string

Lieferadresse: Ort

{$Kostenstelle}

string

Kostenstelle

{$RechnungsadresseFirma}

string

Rechnungsadresse: Firma

{$RechnungsadresseFirma2}

string

Rechnungsadresse: Firma 2

{$RechnungsadresseAnsprechpartnter}

string

Rechnungsadresse: Ansprechpartner

{$RechnungsadresseStrasse}

string

Rechnungsadresse: Straße

{$RechnungsadressePLZ}

string

Rechnungsadresse: PLZ

{$RechnungsadresseOrt}

string

Rechnungsadresse: Ort

{$RechnungsadresseCountry}

string

Rechnungsadresse: Land

{$Bestellcode}

string

Auftragscode (berücksichtigt aus dem individuellen Code)

{$Rechungscode}

string

6-stelliger Auftragscode

{$ustid}

string

Umsatzsteuer-Id

{$ShopURL}

string

Shop URL

{$orderObject}

object

Bestelldaten

{$cart} (Version 1)

array

Bestellpositionen

{$orderItems} (Version 2)

array

Bestellpositionen

{$orderItem} (Version 2)

array

Bestellposition (pro Posten)



Beispiele


Bestellcode
actionscript3{$orderObject->getOrderCode()} ]]>


Benutzer der Bestellung / Besteller
actionscript3getCustomerUser()} {$orderObject->getCustomerUser()->get('customer_user_kundennummer')} {/if} ]]>


Nur freigegebene Positionen berücksichtigen
actionscript3 0} Artikelbezeichnung: {$item['s_desc']} {/if} {/foreach} Bei Verwendung von $orderObject->getOrderCart(), werden grundsätzlich alle Positionen durchlaufen.Dabei müssen die Positionen mit dem nicht gewollten Status übersprungen werden. {foreach key=key item=item from=$orderObject->getOrderCart()} {if $item->get('status') != 'OK' && $item->get('status') != 'PACKED' && $item->get('status') != 'SHIPPED'} {continue} {/if} {if $item->get('aid') > 0} Artikelbezeichnung: {$item->get('s_desc')} {/if} {/foreach}]]>


Benutzergruppe der Bestellung
actionscript3getCustomerUser() && $orderObject->getCustomerUser()->getBudgetgroup()} {$orderObject->getCustomerUser()->getBudgetgroup()->get('bezeichnung')} {$orderObject->getCustomerUser()->getBudgetgroup()->get('kundennummer')} {/if} ]]>


Personalisierungsfelder
actionscript3getOrderCart()} {/foreach} setzen Sie die Abfrage für die Personalisierungsfelder ein. {if $item->getPersData()} {foreach key=name item=value from=$item->getPersData()} {$name}: {$value}
{/foreach} {/if} Beispiel: {foreach key=key item=item from=$orderObject->getOrderCart()} {if $item->getPersData()} {foreach key=name item=value from=$item->getPersData()} {$name}: {$value}
{/foreach} {/if} {/foreach} ]]>


Attribute / Zusatzfelder
actionscript3 {/foreach} {/if} ]]>


Dateien eines Bestellpostens
actionscript3getFiles() item="file"} {/foreach} Beispiel: {foreach key=key item=item from=$orderObject->getOrderCart()} {foreach from=$item->getFiles() item="file"} {$file.name} {$file.name}   {$file.filename} {$file.filenameRenamed} {$file.path} {$file.size}   {$file.path} {/foreach} {/foreach} ]]>


ID der Preisstaffel (Versandkosten)
actionscript3


Name des Freigebers
actionscript3


ID der dynamischen Optionen
actionscript3getInfo('dynamicOptions')|json_decode} {foreach from=$dynamicOptions item=option} {$option->dynamic_option_id} {$option->dynamic_option_value_id} {$option->dynamicOptionAdditionalId} {$option->dynamicOptionValueAdditionalId} {/foreach}]]>


Beispiele CSV-Export:

CSV
getPayment()} {assign value=$orderObject->getPayment()->get('payment_desc') var="payment_desc"} {assign value=$orderObject->getPayment()->get('price') var="payment_price"} {/if} {$exportColumns = array()}{foreach from=$cart item=orderItem}{$exportColumns[] = [ 'ID der Bestellposition' => $orderItem.id, 'Lieferanschrift Unternehmen' => $orderObject->get('order_DeliverAdressCompany'), 'Lieferanschrift Unternehmen 2' => $orderObject->get('order_DeliverAdressCompany2'), 'Lieferanschrift Anschrift' => $orderObject->get('order_DeliverAdressName'), 'Lieferanschrift Ansprechpartner Vorname' => $orderObject->get('order_DeliverAdressFirstname'), 'Lieferanschrift Ansprechpartner Nachname' => $orderObject->get('order_DeliverAdressLastname'), 'Lieferanschrift Ansprechpartner Straße' => $orderObject->get('order_DeliverAdressStreet'), 'Lieferanschrift Ansprechpartner PLZ' => $orderObject->get('order_DeliverAdressZIP'), 'Lieferanschrift Ansprechpartner Stadt' => $orderObject->get('order_DeliverAdressTown'), 'Lieferanschrift Ansprechpartner E - Mail' => $orderObject->get('order_DeliverAdressEMail'), 'Artikelnummer' => $orderItem.article_desc_intern, 'stueckzahl' => $orderItem.s_qty, 'aussendienstnummer' => 0, 'pdf_name' => $orderItem.filename, 'auftrags_datum' => $orderObject->get('cdate'), 'kunde' => $orderObject->getCustomer()->get('customer_company'), 'kundenid' => $orderObject->getCustomer()->get('id'), 'artikelid' => $orderItem.aid, 'InvoiceAdressCompany1' => $orderObject->get('InvoiceAdressCompany1'), 'InvoiceAdressCompany2' => $orderObject->get('InvoiceAdressCompany2'), 'InvoiceAdressName' => $orderObject->get('InvoiceAdressName'), 'InvoiceAdressStreet' => $orderObject->get('InvoiceAdressStreet'), 'InvoiceAdressZIP' => $orderObject->get('InvoiceAdressZIP'), 'InvoiceAdressTown' => $orderObject->get('InvoiceAdressTown'), 'preis_netto' => $orderItem.s_total, 'mwst' => $orderItem.s_mwst, 'persdata' => $orderItem.persdata, 'besteller' => $orderObject->get('order_customer_user_id'), 'md5' => $orderItem.md5, 'auftragsbezeichnung' => $orderObject->get('order_code'), 'articletyp' => $orderItem.article_type, 'sap_number' => $orderItem.article_sap_nummer, 'costcenter' => $orderObject->getCustomerUser()->get('customer_user_costcenter'), 'kundennummer' => $orderObject->getCustomerUser()->get('customer_user_kundennummer'), 'budgetgruppenid' => $orderObject->get('order_budgetgruppen_user_id'), 'lieferadresse_ansprechpartner' => $orderObject->get('order_DeliverAdressName'), 'rechnungsadresse_ansprechpartner' => $orderObject->get('InvoiceAdressName'), 'zahlungsart' => $payment_desc, 'zahlungsart_preis' => $payment_price, 'versandkosten' => $orderObject->get('versandkosten'), 'remark' => $orderItem.remark, 'auftragsname' => $orderItem.jobname, 'costcenterCart' => $orderItem.cstctr, 'price_total' => $orderObject->get('brutto'), 'country_code' => $orderObject->get('order_DeliverAdressCountryCode') ]}{/foreach}{array_keys($exportColumns[0])|implode:';'} {foreach from=$exportColumns item=row}{$row|implode:';'} {/foreach}]]>


Adressliste für Liefer- und Rechnungsdaten - AddressListForCart
actionscript3getOrderInfo('AddressListForCart-delivery_address_list') var="deliveryAddressListValues"} {if !is_array($deliveryAddressListValues)} {assign value=[] var="deliveryAddressListValues"} {/if} {assign value=$orderObject->getOrderInfo('AddressListForCart-invoice_address_list') var="invoiceAddressListValues"} {if !is_array($invoiceAddressListValues)} {assign value=[] var="invoiceAddressListValues"} {/if} ... Rechnungsadresseliste Adressnummer: {if isset($invoiceAddressListValues['Adressnummer'])}{$invoiceAddressListValues['Adressnummer']}{/if} Lieferadresseliste Kundennummer: {if isset($deliveryAddressListValues['Kundennummer'])}{$deliveryAddressListValues['Kundennummer']}{/if}]]>


zipDownloadUrl
actionscript3{$item.zipDownloadUrl} {/if} {/foreach} {/if} {*Version 2*} {if $orderItems} {foreach key=key item=item from=$orderItems} {if $item.orderItem.zipDownloadUrl} {$item.orderItem.zipDownloadUrl} {else} {/if} {/foreach} {else} {*Posten bezogener Export*} {if $orderItem.zipDownloadUrl} {$orderItem.zipDownloadUrl} {else} {/if} {/if}]]>


Reseller Artikel Informationen
actionscript3 {foreach key=name item=setting from=$object.settings} {$setting['name']}:{$setting['value']}
{/foreach} {/if} {/foreach}]]>


Artikel Bestelloptionen (+global)
actionscript3getChosenArticleOptions() item=option} Gruppierung: {$option->tag} Bezeichnung: {$option->name} Benutzereingabe (nur gefüllt bei Typ "Textfeld"): {$option->inputValue} SAP-Nummer: {$option->sapNumber} Farbcode: {$option->backgroundColor} Lagerbestand: {$option->stock} {/foreach}]]>
XML-Bestelldatenexport (Mustervorlage)
Mustervorlage

<?xml version="1.0" encoding="UTF-8"?>
<Order>
<OrderID>{$Bestellcode}</OrderID>
<OrderDate>{$OrderDate|replace:" ":""}</OrderDate>
<RID>{$CustomerUser.customfield1}</RID>
<Shipping>
<FirstName>{$LieferadresseVorname}</FirstName>
<LastName>{$LieferadresseNachname}</LastName>
<Phone>{$order_DeliverAdressTel}</Phone>
<EMail>{$LieferadresseEmail}</EMail>
<Street><![CDATA[{$LieferadresseStrasse}]]></Street>
<City>{$LieferadresseOrt}</City>
<Country>{$LieferadresseCountry}</Country>
<PostalCode>{$LieferadressePLZ}</PostalCode>
<Company><![CDATA[{$LieferadresseFirma}{if $LieferadresseFirma2} {$LieferadresseFirma2}{/if}]]></Company>
</Shipping>
<Invoice>
<iFirstName>{$Bestelldaten.InvoiceAdressFirstname}</iFirstName>
<iLastName>{$Bestelldaten.InvoiceAdressLastname}</iLastName>
<iPhone>{$Bestelldaten.InvoiceAdressTel}</iPhone>
<iEMail>{$Bestelldaten.InvoiceAdressEMail}</iEMail>
<iStreet><![CDATA[{$Bestelldaten.InvoiceAdressStreet}]]></iStreet>
<iCity>{$Bestelldaten.InvoiceAdressCity}</iCity>
<iCountry>{$Bestelldaten.InvoiceAdressCountry}</iCountry>
<iPostalCode>{$Bestelldaten.InvoiceAdressZIP}</iPostalCode>
<iCompany><![CDATA[{$Bestelldaten.InvoiceAdressCompany1}{if $Bestelldaten.InvoiceAdressCompany2} {$Bestelldaten.InvoiceAdressCompany2}{/if}]]></iCompany>
</Invoice>
<Documents>
{counter start=0 print=false assign=pos}
{section name=item loop=$cart} {counter}
<Document>
<OrderID>{$Bestelldaten.id}</OrderID>
<DocumentID>{$cart[item].id}</DocumentID>
<ProductID>{$cart[item].attributes.attr1.value}</ProductID>
<ProductName><![CDATA[{$cart[item].s_desc}]]></ProductName>
<Personalization>{$cart[item].persdata|escape:"html"}</Personalization>
<Quantity>{$cart[item].quantity_value}</Quantity>
<Price>{$cart[item].s_ntotal/100}</Price>
{foreach from=$cart[item].files item=file}
<PrintingFile>{$file.modifiedFilename}</PrintingFile>
{/foreach}
</Document>
{/section}
</Documents>
</Order>