In der Administration kann unter Verwaltung >> → Shops >> → bearbeiten >> → Rechungserstellung 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.
Inhalt |
---|
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 | RechungsbetragRechnungsbetrag |
{$NetTotal} | string | RechungsbetragRechnungsbetrag |
{$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 dendem individuellen Code) |
{$Rechungscode} | string | 6-stelliger Auftragscode |
{$ustid} | string | Umsatzsteuer-Id |
{$ShopURL} | string | Shop URL |
{$orderObject} | object | Bestelldaten |
...
language | actionscript3 |
---|---|
title | Bestellcode |
collapse | true |
{$cart} (Version 1) | array | Bestellpositionen |
{$orderItems} (Version 2) | array | Bestellpositionen |
{$orderItem} (Version 2) | array | Bestellposition (pro Posten) |
Beispiele
Codeblock | ||||||
---|---|---|---|---|---|---|
| ||||||
Für eine Bestellung kann der Bestellcode in die XML-Vorlage wie folgt eingesetzt werden. Diese Variable unterstützt auch die Funktion dynamischer Bestellcode: VARIABLE <OrderCode>{$orderObject->getOrderCode()}</OrderCode> |
...
Codeblock | ||||||
---|---|---|---|---|---|---|
| ||||||
FürWird einedie BestellungVariable kann die Benutzergruppe über das Bestelldaten-Objekt abgefragt werden. Hinweis: Mit dieser Variablen erfolgt eine Live-Abfrage auf die Benutzergruppen-Tabelle, sollte die Benutzergruppe entfernt worden sein gibt die Variable "false" zurück. VARIABLE: {if $orderObject->getCustomerUser() && $orderObject->getCustomerUser()->getBudgetgroup()} <BezeichnungBenutzergruppe>{$orderObject->getCustomerUser()->getBudgetgroup()->get('bezeichnung')}</BezeichnungBenutzergruppe> <KundennummerBenutzergruppe>{$orderObject->getCustomerUser()->getBudgetgroup()->get('kundennummer')}</KundennummerBenutzergruppe> {/if} | ||||||
Codeblock | ||||||
| ||||||
Innerhalb der folgenden Abfrage werden die Warenkorbpositionen durchlaufen: {foreach key=key item=item from=$orderObject->getOrderCart()} {/foreach} setzen Sie die Abfrage für die Personalisierungsfelder ein. {if $item->getPersData()} {foreach key=name item=value from=$item->getPersData()} {$name}: {$value}<br> {/foreach} {/if} Beispiel: {foreach key=key item=item from=$orderObject->getOrderCart()} {if $item->getPersData()} {foreach key=name item=value from=$item->getPersData()} {$name}: {$value}<br> {/foreach} {/if} {/foreach}{$cart} verwendet, muss nichts beachtet werden, da diese die abgelehnten Artikel gar nicht berücksichtigt. {foreach key=key item=item from=$cart} {if $item['aid'] > 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} |
Codeblock | ||||||
---|---|---|---|---|---|---|
| ||||||
Für eine Bestellung kann die Benutzergruppe über das Bestelldaten-Objekt abgefragt werden.
Hinweis: Mit dieser Variablen erfolgt eine Live-Abfrage auf die Benutzergruppen-Tabelle, sollte die Benutzergruppe entfernt worden sein, gibt die Variable "false" zurück.
VARIABLE:
{if $orderObject->getCustomerUser() && $orderObject->getCustomerUser()->getBudgetgroup()}
<BezeichnungBenutzergruppe>{$orderObject->getCustomerUser()->getBudgetgroup()->get('bezeichnung')}</BezeichnungBenutzergruppe>
<KundennummerBenutzergruppe>{$orderObject->getCustomerUser()->getBudgetgroup()->get('kundennummer')}</KundennummerBenutzergruppe>
{/if}
|
Codeblock | ||||||
---|---|---|---|---|---|---|
| ||||||
Innerhalb der folgenden Abfrage werden die DateienWarenkorbpositionen einer Warenkorbposition durchlaufen: {foreach key=key item=item from=$orderCartObject$orderObject->getFiles>getOrderCart() item="file"} {/foreach} setzen Beispiel: Sie die Abfrage für die Personalisierungsfelder ein. {if $item->getPersData()} {foreach key=keyname item=itemvalue from=$orderObject$item->getOrderCart>getPersData()} <files> {foreach from=$item->getFiles() item="file"} <file> <id>{$file.name}</id> <name>{$file.name}</name> <filename>{$file.filename}</filename> <filenameRenamed>{$file.filenameRenamed}</filenameRenamed> <path>{$file.path}</path> <size>{$file.size}</size> <type>{$file.path}</type> </file> {/foreach} </files>$name}: {$value}<br> {/foreach} {/if} Beispiel: {foreach key=key item=item from=$orderObject->getOrderCart()} {if $item->getPersData()} {foreach key=name item=value from=$item->getPersData()} {$name}: {$value}<br> {/foreach} {/if} {/foreach} |
Codeblock | ||||||
---|---|---|---|---|---|---|
| ||||||
DieInnerhalb Preisstaffel-IDder derfolgenden VersandkostenAbfrage lässtwerden sichdie mitWarenkorbpositionen derdurchlaufen: folgenden Variable ausgeben: {$Versandkosten.preisstaffelId} |
Codeblock | ||||||
---|---|---|---|---|---|---|
| ||||||
Der Name des Freigebers kann innerhalb einer Schleife der Positionen im Warenkorb wie folgt ausgegeben werden:
{foreach from=$cart item=orderItem}
{$orderItem.releaseRecipientName}
{/foreach} |
Beispiele XML-Export:
Codeblock | ||||||
---|---|---|---|---|---|---|
| ||||||
{if $orderObject->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[] = [ {section name=item loop=$cart} {/section} setzen Sie die Abfrage für die Zusatzfelder / Attribute ein. {if $cart[item].attributes} {foreach key=name item=value from=$cart[item].attributes} {$name}: {$value}<br> {/foreach} {/if} |
Codeblock | ||||||
---|---|---|---|---|---|---|
| ||||||
Innerhalb der folgenden Abfrage werden die Dateien einer Warenkorbposition durchlaufen: {foreach from=$orderCartObject->getFiles() item="file"} {/foreach} Beispiel: {foreach key=key item=item from=$orderObject->getOrderCart()} <files> {foreach from=$item->getFiles() item="file"} <file> <id>{$file.name}</id> <name>{$file.name}</name> 'ID der Bestellposition' => $orderItem.id, <filename>{$file.filename}</filename> <filenameRenamed>{$file.filenameRenamed}</filenameRenamed> <path>{$file.path}</path> 'Lieferanschrift Unternehmen' => $orderObject->get('order_DeliverAdressCompany'), <size>{$file.size}</size> <type>{$file.path}</type> 'Lieferanschrift Unternehmen 2' => $orderObject->get('order_DeliverAdressCompany2'), </file> {/foreach} </files> {/foreach} |
Codeblock | ||||||
---|---|---|---|---|---|---|
| ||||||
Die Preisstaffel-ID 'Lieferanschriftder Anschrift'Versandkosten => $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_DeliverAdressTownlässt sich mit der folgenden Variable ausgeben: {$Versandkosten.preisstaffelId} |
Codeblock | ||||||
---|---|---|---|---|---|---|
| ||||||
Der Name des Freigebers kann innerhalb einer Schleife der Positionen im Warenkorb wie folgt ausgegeben werden:
{foreach from=$cart item=orderItem}
{$orderItem.releaseRecipientName}
{/foreach} |
Codeblock | ||||||
---|---|---|---|---|---|---|
| ||||||
Die ID der dynamischen Optionen kann innerhalb einer Schleife der Positionen im Warenkorb wie folgt ausgegeben werden:
{assign var="dynamicOptions" value=$item->getInfo('dynamicOptions')|json_decode}
{foreach from=$dynamicOptions item=option}
<DynamicOption>
<DynamicOptionId>{$option->dynamic_option_id}</DynamicOptionId>
<DynamicOptionValueId>{$option->dynamic_option_value_id}</DynamicOptionValueId>
<AdditionalId>{$option->dynamicOptionAdditionalId}</AdditionalId>
<AdditionalValueId>{$option->dynamicOptionValueAdditionalId}</AdditionalValueId>
</DynamicOption>
{/foreach} |
Beispiele CSV-Export:
Codeblock | ||||||
---|---|---|---|---|---|---|
| ||||||
{if $orderObject && $orderObject->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'), 'Lieferanschrift Ansprechpartner E - Mail'articletyp' => $orderItem.article_type, 'sap_number' => $orderObject->get('order_DeliverAdressEMail')$orderItem.article_sap_nummer, 'Artikelnummercostcenter' => $orderItem.article_desc_intern$orderObject->getCustomerUser()->get('customer_user_costcenter'), 'stueckzahlkundennummer' => $orderItem.s_qty$orderObject->getCustomerUser()->get('customer_user_kundennummer'), 'aussendienstnummerbudgetgruppenid' => 0$orderObject->get('order_budgetgruppen_user_id'), 'pdflieferadresse_nameansprechpartner' => $orderItem.filename $orderObject->get('order_DeliverAdressName'), 'auftragsrechnungsadresse_datumansprechpartner' => $orderObject->get('cdateInvoiceAdressName'), 'kundezahlungsart' => $orderObject->getCustomer()->get('customer_company') $payment_desc, 'zahlungsart_preis' => $payment_price, 'kundenidversandkosten' => $orderObject->getCustomer()->get('idversandkosten'), 'artikelidremark' => $orderItem.aidremark, 'InvoiceAdressCompany1auftragsname' => $orderObject->get('InvoiceAdressCompany1')$orderItem.jobname, 'InvoiceAdressCompany2costcenterCart' => $orderObject->get('InvoiceAdressCompany2')$orderItem.cstctr, 'InvoiceAdressNameprice_total' => $orderObject->get('InvoiceAdressNamebrutto'), 'InvoiceAdressStreetcountry_code' => $orderObject->get('InvoiceAdressStreetorder_DeliverAdressCountryCode'), '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'),]}{/foreach}{array_keys($exportColumns[0])|implode:';'} {foreach from=$exportColumns item=row}{$row|implode:';'} {/foreach} |
Codeblock | ||||||
---|---|---|---|---|---|---|
| ||||||
{assign value=$orderObject->getOrderInfo('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} |
Codeblock | ||||||
---|---|---|---|---|---|---|
| ||||||
{*Version 1*} {if $cart} {foreach key=key item=item from=$cart} {if $item.zipDownloadUrl} <url>{$item.zipDownloadUrl}</url> {/if} {/foreach} {/if} {*Version 2*} {if $orderItems} {foreach key=key item=item from=$orderItems} 'lieferadresse_ansprechpartner' => $orderObject->get('order_DeliverAdressName'),{if $item.orderItem.zipDownloadUrl} 'rechnungsadresse_ansprechpartner' => $orderObject->get('InvoiceAdressName'), <url>{$item.orderItem.zipDownloadUrl}</url> 'zahlungsart' => $payment_desc,{else} 'zahlungsart_preis' => $payment_price,<nourl items/> {/if} 'versandkosten' => $orderObject->get('versandkosten'), {/foreach} {else} {*Posten bezogener Export*} 'remark' => {if $orderItem.remark,zipDownloadUrl} 'auftragsname' => $orderItem.jobname,<url>{$orderItem.zipDownloadUrl}</url> {else} 'costcenterCart' => $orderItem.cstctr, <nourl 'price_total' => $orderObject->get('brutto'),item /> {/if} {/if} |
Codeblock | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{foreach key=key item=value 'country_code' => $orderObject->get('order_DeliverAdressCountryCode') ]}{/foreach}{array_keys($exportColumns[0])|implode:';'} {foreach from=$exportColumns item=row}{$row|implode:';'from=$orderItem.info} {if $key === 'printwarehouseArticleSettings'} {assign var=object value=$value|json_decode:1} Preis: {$object.price|number_format:2:',':'.'} €<br> {foreach key=name item=setting from=$object.settings} {$setting['name']}:{$setting['value']}<br> {/foreach} {/if} {/foreach} |