Referenz zu Belegdaten
Logikfreie HTML-Vorlagen von WCPOS und thermische XML-Vorlagen werden aus derselben kanonischen Belegdaten-Payload gerendert. Verwenden Sie Mustache-Punktpfade wie {{order.number}}, {{store.name}} und {{totals.total_display}}. Arrays werden mit Abschnitten gerendert:
{{#lines}}
{{name}} x {{qty}} — {{line_total_display}}
{{/lines}}
Der kanonische Datenvertrag wird auf dem Server vom WCPOS-Belegdaten-Builder erstellt und vom Offline-Belegrenderer in der App gespiegelt. Belege werden sofort anhand lokaler Daten geöffnet und bei Verfügbarkeit mit der Serverantwort aktualisiert. Benutzerdefinierte Vorlagen sollten daher die unten aufgeführten Felder statt PHP-Bestellmethoden verwenden.
Belegdaten v1.1 ergänzt für jede Produktzeile erfasste Felder für regulären Preis, Verkaufspreis vor Couponabzug und Einsparungen. Außerdem stellt es Einsparungssummen auf Bestellungsebene bereit, einschließlich eines Werts Gesamt eingespart, der Einsparungen gegenüber dem regulären Preis mit WooCommerce-Rabatten kombiniert, ohne Bestellsummen oder Berichte zu ändern.
Belegdaten v1.2 ergänzt für jede Rabattzeile discount_type: den WooCommerce-Coupon-Typ, der dem Rabatt zugrunde liegt.
Der Beleg im Überblick
Jeder Teil eines gedruckten Belegs stammt aus einem Abschnitt des Datenvertrags. Bewegen Sie den Mauszeiger über eine Seite, um die Zuordnung zu sehen, und klicken Sie, um zu den Feldern dieses Abschnitts zu springen. Alle Beispiele auf dieser Seite verwenden dieselbe Beispielbestellung.
store.name · store.address_lines · store.tax_ids · store.logoorder.number · order.created · cashier.name · customer.namelines[] · line_savings · savings_in_discountstotals.* · discounts[] · fees[] · shipping[] · totals.total_savedpayments[]store.personal_notes · store.policies_and_conditions · i18n.thank_you_purchaseHäufige Vorlagenaufgaben
Die meisten Vorlagenänderungen gehören zu einer dieser drei Aufgaben. Jede Karte zeigt zuerst das Druckergebnis und danach das genaue Markup, das Sie in jede logikfreie HTML- oder thermische XML-Vorlage kopieren können. Die dritte Karte zeigt statt der obigen Beispielbestellung eine ältere Bestellung vor v1.9.
{{#lines}}
{{#line_savings}}
<s>{{line_regular_total_display}}</s>
{{i18n.savings}}: -{{line_savings_display}}
{{/line_savings}}
{{/lines}}{{#totals.total_saved_complete}}
{{#totals.total_saved}}
{{i18n.total_saved}}:
{{totals.total_saved_display}}
{{/totals.total_saved}}
{{/totals.total_saved_complete}}{{#lines}}
{{#line_savings}}
{{^savings_in_discounts}}
{{i18n.savings}}: -{{line_savings_display}}
{{/savings_in_discounts}}
{{/line_savings}}
{{/lines}}Belegdaten erweitern
WCPOS hält den oben beschriebenen Datenvertrag herstellerneutral. Wenn ein Plugin zusätzliche Informationen auf dem Beleg benötigt, die WooCommerce nicht modelliert, fügt es diese selbst über den Filter woocommerce_pos_receipt_data hinzu – so wie Plugins auch die Bestellsummen von WooCommerce filtern. Der Filter wird für jeden vom Server erstellten Beleg ausgeführt: Live-Belege, Fiskal-Momentaufnahmen zum Zahlungszeitpunkt, PDF-Downloads und ältere PHP-Vorlagen.
add_filter( 'woocommerce_pos_receipt_data', function ( array $data, WC_Abstract_Order $order, string $mode ) {
foreach ( $data['discounts'] as &$row ) {
if ( 'smart_coupon' === $row['discount_type'] ) {
$row['gift_card'] = true;
}
}
return $data;
}, 10, 3 );
Eine Vorlage kann dann wie bei jedem anderen Abschnitt prüfen, ob der neue Schlüssel vorhanden ist:
{{#discounts}}
{{#gift_card}}Gift Card{{/gift_card}}{{^gift_card}}{{i18n.discount}}{{/gift_card}}{{#label}}: {{label}}{{/label}}
{{/discounts}}
Im Schema definierte Schlüssel sollten ihre dokumentierten Typen beibehalten. Hinzugefügte Schlüssel gehören nicht zum Schema und erscheinen daher nicht in der Feldauswahl des Vorlageneditors; Fiskal-Momentaufnahmen enthalten nur die Daten, die zum Zahlungszeitpunkt durch den Filter hinzugefügt wurden. Der Filter ist ab WCPOS 1.10.8 verfügbar.
Darstellungsregeln
Währungsfelder
Numerische Geldfelder werden als Zahlen beibehalten, und der Renderer ergänzt für die Vorlagenausgabe sprachabhängige _display-Felder:
| Numerisches Feld | Anzeigefeld |
|---|---|
totals.total | totals.total_display |
lines[].line_total | lines[].line_total_display |
payments[].amount | payments[].amount_display |
tax_summary[].tax_amount | tax_summary[].tax_amount_display |
Beim Drucken von Belegen sollten _display-Felder bevorzugt werden. Numerische Felder nur für bedingte Abschnitte oder maschinenlesbare Ausgaben verwenden.
Felder mit steueranzeigegerechten Werten
Mehrere Felder verfügen über Varianten inklusive und exklusive Steuern sowie über einen praktischen Anzeigewert. Dieser richtet sich nach der Einstellung der Filiale für die Steueranzeige im Warenkorb.
| Komfortfeld | Feld inklusive Steuern | Feld exklusive Steuern |
|---|---|---|
lines[].regular_price | lines[].regular_price_incl | lines[].regular_price_excl |
lines[].selling_price | lines[].selling_price_incl | lines[].selling_price_excl |
lines[].unit_savings | lines[].unit_savings_incl | lines[].unit_savings_excl |
lines[].line_regular_total | lines[].line_regular_total_incl | lines[].line_regular_total_excl |
lines[].line_selling_total | lines[].line_selling_total_incl | lines[].line_selling_total_excl |
lines[].line_savings | lines[].line_savings_incl | lines[].line_savings_excl |
lines[].unit_price | lines[].unit_price_incl | lines[].unit_price_excl |
lines[].unit_subtotal | lines[].unit_subtotal_incl | lines[].unit_subtotal_excl |
lines[].line_subtotal | lines[].line_subtotal_incl | lines[].line_subtotal_excl |
lines[].discounts | lines[].discounts_incl | lines[].discounts_excl |
lines[].line_total | lines[].line_total_incl | lines[].line_total_excl |
fees[].total | fees[].total_incl | fees[].total_excl |
shipping[].total | shipping[].total_incl | shipping[].total_excl |
discounts[].total | discounts[].total_incl | discounts[].total_excl |
totals.subtotal | totals.subtotal_incl | totals.subtotal_excl |
totals.discount_total | totals.discount_total_incl | totals.discount_total_excl |
totals.sale_savings_total | totals.sale_savings_total_incl | totals.sale_savings_total_excl |
totals.total_saved | totals.total_saved_incl | totals.total_saved_excl |
totals.total | totals.total_incl | totals.total_excl |
Datumsobjekte
Datumsfelder sind Objekte mit mehreren vorformatierten Varianten. Dadurch entfällt die Datumsformatierung innerhalb von Mustache.
| Feld | Beschreibung |
|---|---|
datetime, date, time | Standard-Datums-/Zeitzeichenfolgen |
datetime_short, datetime_long, datetime_full | Gebietsschemaabhängige kombinierte Formate |
date_short, date_long, date_full | Gebietsschemaabhängige reine Datumsformate |
date_ymd, date_dmy, date_mdy | Datumsformate mit fester Reihenfolge |
weekday_short, weekday_long | Tagesnamen |
day, month, month_short, month_long, year | Einzelne Datumsbestandteile |
Verfügbare Datumsobjekte: order.created, order.paid, order.completed, order.printed und refunds[].date. order.printed wird beim Rendern aktualisiert, was für Nachdrucke nützlich ist.
Abschnitte der obersten Ebene
| Abschnitt | Typ | Beschreibung |
|---|---|---|
order | Objekt | Bestellkennung, Status, Datumsangaben, Notiz und Informationen zur Zahlungs-URL |
store | Objekt | Filialidentität, Adresse, Kontaktdaten, Steuer-IDs, Logo, Öffnungszeiten und Fußzeilentext |
cashier | Objekt | Benutzer, der die Bestellung verarbeitet hat |
customer | Objekt | Kundenanzeigename, Adressen und Steuer-IDs |
lines | Array | Produktpositionen |
fees | Array | Gebührzeilen |
shipping | Array | Versandzeilen |
discounts | Array | Coupon-/Rabattzeilen |
totals | Objekt | Bestellsummen, Zahlungssummen, Rückerstattungsübersicht und Artikelanzahl |
tax | Objekt | Flags für den Steuermodus zur Steuerung von Abschnitten |
tax_summary | Array | Steuerübersichtszeilen je Steuersatz |
has_tax_summary | Boolesch | Hilfsprüfung für tax_summary |
payments | Array | Zahlungszeilen |
refunds | Array | Auf die Bestellung angewendete Rückerstattungsdatensätze |
fiscal | Objekt | Felder der Fiskalübersicht, die von Fiskalintegrationen befüllt werden |
presentation_hints | Objekt | Hinweise zur Formatierung und zum Renderer |
i18n | Objekt | Übersetzte Beschriftungen für gebündelte und benutzerdefinierte Vorlagen |
Zusammenhang der Preise
Eine Produktposition enthält mehrere Preise. Die Bezeichnungen werden verständlich, wenn sie direkt am Geldbetrag dargestellt werden. Dies ist die Espresso-Position aus der Beispielbestellung: ein Produkt zum regulären Preis von 17,00 $, im Angebot für 14,50 $, mit einem zusätzlichen Coupon über 10 %.
unit_price → 13.05 · line_total → 26.10lines[].discounts → 2.90 für diese Positionunit_savings → 2.50 · line_savings → 5.00totals.sale_savings_total = 5.00totals.discount_total = 5.28totals.total_saved = 10.28Ersparnisse gegenüber dem regulären Preis und Coupon-Rabatte sind unterschiedliche Dinge: Für die Ersparnis wird der Verkaufspreis mit dem erfassten regulären Preis verglichen, während discounts die Coupon-Berechnung von WooCommerce bezeichnet. WooCommerce-Bestellsummen und -Berichte enthalten ausschließlich den Coupon-Anteil – deshalb gibt es total_saved als kundenorientierten Gesamtwert, der beides kombiniert.
Feldreferenz
Die vollständige Feldreferenz ist unten nach Abschnitten gruppiert. Standardmäßig sind alle Bereiche eingeklappt – erweitern Sie die gewünschte Gruppe.
Bestellung — Kennung, Status, Datumsangaben
Bestellung
| Feld | Typ | Beispiel / Beschreibung |
|---|---|---|
order.id | Zahl | 1042 |
order.number | Zeichenfolge | Für Menschen lesbare Bestellnummer, z. B. "1042" |
order.currency | Zeichenfolge | ISO-Währungscode, z. B. "USD" |
order.customer_note | Zeichenfolge | Kunden-/Bestellnotiz |
order.wc_status | Zeichenfolge | WooCommerce-Status-Slug, z. B. "processing" |
order.status_label | Zeichenfolge | Lokalisierte Statusbezeichnung, einschließlich benutzerdefinierter Status |
order.created_via | Zeichenfolge | Quelle/Kanal, z. B. "woocommerce-pos" |
order.needs_payment | Boolesch | Gibt an, ob ein Zahlungsabschnitt angezeigt werden soll |
order.payment_url | Zeichenfolge | Zahlungs-URL der Bestellung, sofern verfügbar |
order.created | Datumsobjekt | Erstellungsdatum der Bestellung |
order.paid | Datumsobjekt | Zahlungsdatum; bei nicht bezahlten Bestellungen leere Zeichenfolgen |
order.completed | Datumsobjekt | Abschlussdatum; bei nicht abgeschlossenen Bestellungen leere Zeichenfolgen |
order.printed | Datumsobjekt | Druck-/Nachdruckzeitstempel zum Renderzeitpunkt |
Filiale — Kennung, Adresse, Kontakt, Öffnungszeiten
Filiale
| Feld | Typ | Beispiel / Beschreibung |
|---|---|---|
store.id | Zahl | Filial-ID oder historische ID gelöschter Filialen |
store.name | Zeichenfolge | Anzeigename der Filiale |
store.address.address_1 | Zeichenfolge | Straßenadresse, Zeile 1 |
store.address.address_2 | Zeichenfolge | Zeile für Suite/Einheit |
store.address.city | Zeichenfolge | Stadt/Ort |
store.address.state | Zeichenfolge | Bundesland/Region |
store.address.postcode | Zeichenfolge | Postleitzahl |
store.address.country | Zeichenfolge | ISO-Ländercode |
store.address_lines | Array | Vorformatierte Adresszeilen; für die meisten Vorlagen empfohlen |
store.tax_ids | Array | Strukturierte Steuer-IDs des Unternehmens; durchlaufen Sie dieses Feld statt eine einzelne Steuer-ID zu verwenden |
store.phone | Zeichenfolge | Telefonnummer der Filiale |
store.email | Zeichenfolge | E-Mail-Adresse der Filiale |
store.logo | Zeichenfolge/null | Logo-URL oder Daten-URI der Filiale |
store.opening_hours | Zeichenfolge/null | Kompakter Text zu den Öffnungszeiten |
store.opening_hours_vertical | Zeichenfolge/null | Mehrzeiliger Öffnungszeitenblock |
store.opening_hours_inline | Zeichenfolge/null | Durch Kommas getrennter Text zu den Öffnungszeiten |
store.opening_hours_notes | Zeichenfolge/null | Freitextnotizen zu den Öffnungszeiten |
store.personal_notes | Zeichenfolge/null | Belegfußzeile/persönliche Notiz |
store.policies_and_conditions | Zeichenfolge/null | Text zu Rückerstattungen, Rückgaben oder Geschäftsbedingungen |
store.footer_imprint | Zeichenfolge/null | Rechtliches Impressum in der Fußzeile |
Steuer-ID-Objekte
store.tax_ids und customer.tax_ids enthalten Objekte mit derselben Struktur:
| Feld | Typ | Beschreibung |
|---|---|---|
type | Zeichenfolge | Kennung wie eu_vat, de_steuernummer, au_abn, br_cpf, us_ein oder other |
value | Zeichenfolge | Zu druckender Steuer-ID-Wert |
country | Zeichenfolge/null | ISO-Ländercode, sofern bekannt |
label | Zeichenfolge/null | Lokalisierte Anzeigenbezeichnung, die vor der Darstellung aufgelöst wird |
Beispiel:
{{#store.tax_ids}}
{{label}}: {{value}}
{{/store.tax_ids}}
Kassierer — Benutzer, der die Bestellung bearbeitet hat
Kassierer
| Feld | Typ | Beispiel / Beschreibung |
|---|---|---|
cashier.id | Zahl | WordPress-Benutzer-ID, 0 falls unbekannt |
cashier.name | Zeichenfolge | Anzeigename des Kassierers |
Kunde — Name, Adressen, Steuer-IDs
Kunde
| Feld | Typ | Beispiel / Beschreibung |
|---|---|---|
customer.id | Zahl/null | Kunden-ID oder null für Gäste |
customer.name | Zeichenfolge | Anzeigename des Kunden oder Gastbezeichnung |
customer.billing_address.* | Objekt | WooCommerce-Felder für die Rechnungsadresse |
customer.shipping_address.* | Objekt | WooCommerce-Felder für die Lieferadresse |
customer.tax_ids | Array | Strukturierte Steuer-IDs des Kunden, die aus der Bestellung übernommen wurden |
Gängige Adressschlüssel sind first_name, last_name, company, address_1, address_2, city, state, postcode, country, email und phone.
Zeilen — Produktpositionen
Zeilen
Mit {{#lines}}...{{/lines}} durchlaufen. Die Beispielwerte stammen von der Espresso-Position aus der Beispielbestellung.
Jedes Geldfeld besteht aus einem Wertepaar: der Zahl (für Prüfungen mit {{#…}} verwenden — null und null blenden den Abschnitt aus; ein null-Feld hat überhaupt kein _display-Gegenstück) und der _display-Zeichenfolge (zum Ausgeben verwenden). Mit incl/excl markierte Felder enthalten außerdem _incl- und _excl-Varianten, jeweils mit eigenem _display.
null — schließen Sie ihn in einen Abschnitt ein.discounts enthalten ist — das Kennzeichen gegen doppelte Zählung.{key, value}-Paare.{key, value}-Paare.Regulären Preis und Ersparnis anzeigen
Für ein Layout mit Stückpreisen zeigen Sie den erfassten regulären Preis, den Verkaufspreis und die Ersparnis wie folgt an:
{{#lines}}
{{#unit_savings}}
<span style="text-decoration: line-through;">{{regular_price_display}}</span>
<span>{{selling_price_display}}</span>
<span>{{i18n.savings}}: -{{unit_savings_display}}</span>
{{/unit_savings}}
{{/lines}}
Verwenden Sie die Felder für Positionssummen, wenn die Menge relevant ist:
{{#lines}}
{{#line_savings}}
<span style="text-decoration: line-through;">{{line_regular_total_display}}</span>
<span>{{i18n.savings}}: -{{line_savings_display}}</span>
{{/line_savings}}
{{/lines}}
selling_price ist der Preis vor Coupons. Verwenden Sie unit_price oder line_total für den Endbetrag nach WooCommerce-Rabatten.
Bei älteren WCPOS-Bestellungen kann die Reduzierung vom regulären Preis zum Verkaufspreis bereits in discounts enthalten sein. Wenn Ihre benutzerdefinierte Vorlage sowohl Positionsersparnisse als auch Positionsrabatte ausgibt, verwenden Sie savings_in_discounts, damit dieselbe Reduzierung nicht doppelt angezeigt wird:
{{#lines}}
{{#line_savings}}
<span style="text-decoration: line-through;">{{line_regular_total_display}}</span>
{{^savings_in_discounts}}
<span>{{i18n.savings}}: -{{line_savings_display}}</span>
{{/savings_in_discounts}}
{{/line_savings}}
{{#discounts}}
<span>{{i18n.discount}}: -{{discounts_display}}</span>
{{/discounts}}
{{/lines}}
Wenn die Vorlage keine discounts-Zeile auf Positionsebene ausgibt, zeigen Sie line_savings weiterhin an, auch wenn savings_in_discounts wahr ist. Die mitgelieferten Vorlagen berücksichtigen diesen Unterschied automatisch.
fees and shipping — Gebühren und Versand
Gebühren und Versand
Mit {{#fees}}...{{/fees}} und {{#shipping}}...{{/shipping}} durchlaufen.
| Feld | Typ | Beschreibung |
|---|---|---|
label | Zeichenfolge | Gebührenbezeichnung oder Name der Versandart |
method_id | Zeichenfolge | ID der Versandart (nur beim Versand) |
total / _incl / _excl | Zahl | Anzeigesumme sowie Summen inklusive und exklusive Steuer |
taxes | Array | Steuerzeilen je Steuersatz |
meta | Array | {key, value}-Metapaare |
Formatierte Varianten: total_display, total_incl_display und total_excl_display.
Rabatte — Coupon-/Rabattzeilen
Rabatte
Mit {{#discounts}}...{{/discounts}} durchlaufen.
| Feld | Typ | Beschreibung |
|---|---|---|
label | Zeichenfolge | Couponbeschreibung oder ersatzweise der Code |
code | Zeichenfolge | Couponcode |
discount_type | Zeichenfolge | WooCommerce-Coupon-Typ-Slug, z. B. fixed_cart, percent oder fixed_product. Leer, wenn der Coupon nicht mehr existiert. |
total / _incl / _excl | Zahl | Rabattbetrag als positiver Wert |
Formatierte Varianten: total_display, total_incl_display und total_excl_display. Fügen Sie in der Vorlage ein eigenes Minuszeichen hinzu, wenn Rabatte als negative Zeilen angezeigt werden sollen.
discount_type wurde mit Belegdaten v1.2 hinzugefügt. Ältere Fiskal-Momentaufnahmen von Belegen enthalten diesen Wert nicht.
Summen — Bestell-, Zahlungs-, Rückerstattungs- und Positionssummen
Summen
Die Beispielwerte stammen aus der Beispielbestellung, für die später eine Teilrückerstattung über $7.25 erfolgte.
Geldfelder folgen derselben Paarung wie Positionen: eine reine Zahl für Prüfungen und eine _display-Zeichenfolge zur Ausgabe, bei markierten Feldern mit _incl-/_excl-Varianten.
Verwenden Sie total_saved, wenn Sie einen einzigen kundenorientierten Wert für alle Ersparnisse benötigen. Addieren Sie discount_total und sale_savings_total nicht in der Vorlage: Bestellungen vor v1.9.0 können ihre POS-Preisersparnis bereits in der WooCommerce-Rabattsumme enthalten. Das maßgebliche Feld total_saved erkennt diese Überschneidung und zieht sie ab.
Die Ersparnissummen sind null und total_saved_complete ist false, wenn für mindestens eine Produktposition nicht genügend erfasste Preisdaten für eine zuverlässige Gesamtsumme vorhanden sind. Sichern Sie die Zeile mit total_saved_complete ab und verwenden Sie anschließend total_saved, um einen Nullwert auszublenden:
{{#totals.total_saved_complete}}
{{#totals.total_saved}}
<span>{{i18n.total_saved}}: {{totals.total_saved_display}}</span>
{{/totals.total_saved}}
{{/totals.total_saved_complete}}
Die mitgelieferten Vorlagen mit Preisen verwenden dieselbe Prüfstruktur mit den steuerinklusiven Varianten (total_saved_incl und total_saved_incl_display) und zeigen Gesamt eingespart nur an, wenn der vollständige Wert größer als null ist.
tax und tax_summary — Anzeigebedingungen und Zeilen je Steuersatz
tax und tax_summary
Verwenden Sie tax für Prüfungen des Anzeigemodus und tax_summary für einzelne Steuersatzzeilen.
| Steuerfeld | Typ | Beschreibung |
|---|---|---|
tax.display | Zeichenfolge | incl oder excl |
tax.display_incl | Boolesch | Wahr, wenn Preise einschließlich Steuer angezeigt werden |
tax.display_excl | Boolesch | Wahr, wenn Preise ohne Steuer angezeigt werden |
tax.breakdown | Zeichenfolge | hidden, single oder itemized |
tax.breakdown_hidden | Boolesch | Wahr, wenn Steuerzeilen ausgeblendet werden sollen |
tax.breakdown_single | Boolesch | Wahr, wenn eine einzelne Steuersumme bevorzugt wird |
tax.breakdown_itemized | Boolesch | Wahr, wenn Zeilen je Steuersatz bevorzugt werden |
has_tax_summary | Boolesch | Wahr, wenn tax_summary Zeilen enthält |
Durchlaufen Sie tax_summary mit {{#tax_summary}}...{{/tax_summary}}.
| Feld | Typ | Beschreibung |
|---|---|---|
code | Zeichenfolge | ID/Code des Steuersatzes |
rate | Zahl/null | Steuersatz in Prozent, sofern aufgelöst |
label | Zeichenfolge | Bezeichnung des Steuersatzes |
compound | Boolesch | Gibt an, ob der Steuersatz zusammengesetzt ist |
taxable_amount_excl | Zahl/null | Steuerpflichtige Bemessungsgrundlage ohne Steuer |
tax_amount | Zahl | Erhobene Steuer |
taxable_amount_incl | Zahl/null | Steuerpflichtige Bemessungsgrundlage einschließlich Steuer |
Formatierte Varianten: taxable_amount_excl_display, tax_amount_display und taxable_amount_incl_display.
Zahlungen — Zahlungszeilen
Zahlungen
Mit {{#payments}}...{{/payments}} durchlaufen.
| Feld | Typ | Beschreibung |
|---|---|---|
method_id | Zeichenfolge | Kennung der Zahlungsmethode |
method_title | Zeichenfolge | Anzeigename der Zahlungsmethode |
amount | Zahl | Auf die Bestellung angerechneter Betrag |
transaction_id | Zeichenfolge | Transaktions-ID des Zahlungsgateways |
tendered | Zahl | Erhaltener Bargeldbetrag, sofern vorhanden |
change | Zahl | Ausgezahltes Rückgeld, sofern vorhanden |
Formatierte Varianten: amount_display, tendered_display und change_display.
Rückerstattungen — Rückerstattungsdatensätze
Rückerstattungen
Mit {{#refunds}}...{{/refunds}} durchlaufen. Rückerstattungsbeträge sind positive Werte; Vorlagen entscheiden, ob sie ein Minuszeichen voranstellen oder einen eigenen Block für zurückgegebene Artikel rendern.
| Feld | Typ | Beschreibung |
|---|---|---|
id | Zahl | ID des Rückerstattungsdatensatzes |
date | Datumsobjekt | Erstellungsdatum der Rückerstattung |
amount | Zahl | Rückerstattungssumme |
subtotal | Zahl | Zwischensumme der erstatteten Position |
tax_total | Zahl | Erstattete Steuer |
shipping_total | Zahl | Erstatteter Versandbetrag |
shipping_tax | Zahl | Erstattete Versandsteuer |
reason | Zeichenfolge | Grund für die Rückerstattung |
refunded_by_id | Zahl/null | Benutzer-ID der Person, die die Rückerstattung veranlasst hat |
refunded_by_name | Zeichenfolge | Anzeigename der Person, die die Rückerstattung veranlasst hat |
refunded_payment | Boolesch | Gibt an, ob die Zahlung über das Zahlungsgateway erstattet wurde |
destination | Zeichenfolge | original_method, cash oder manual |
gateway_id | Zeichenfolge | Für die Rückerstattung verwendete Gateway-ID |
gateway_title | Zeichenfolge | Anzeigename des Zahlungsgateways |
processing_mode | Zeichenfolge | Verarbeitungsmodus: über den Anbieter oder manuell |
lines | Array | Erstattete Produktpositionen |
fees | Array | Erstattete Gebührenpositionen |
shipping | Array | Erstattete Versandpositionen |
Zu den Feldern der erstatteten Positionen gehören name, sku, qty, total, total_incl, total_excl, line_total, unit_total und taxes. Für erstattete Gebühren- und Versandpositionen werden label, total, total_incl, total_excl und taxes verwendet. Für Summen und Steuerbeträge werden Anzeigevarianten hinzugefügt.
Fiskal — Momentaufnahme der Fiskalintegration
Fiskal
Fiskalfelder sind standardmäßig leer und werden durch Fiskalintegrationen oder die Anreicherung der Momentaufnahme durch WCPOS Pro befüllt.
| Feld | Typ | Beschreibung |
|---|---|---|
fiscal.immutable_id | Zeichenfolge | Unveränderliche Fiskalkennung |
fiscal.receipt_number | Zeichenfolge | Fiskalbelegnummer |
fiscal.sequence | Zahl/null | Sequenzzähler |
fiscal.hash | Zeichenfolge | Hash-/Signaturwert |
fiscal.qr_payload | Zeichenfolge | QR-Nutzdaten zur steuerlichen Verifizierung |
fiscal.tax_agency_code | Zeichenfolge | Code der Steuerbehörde |
fiscal.signed_at | Zeichenfolge | Zeitstempel der steuerlichen Signierung |
fiscal.signature_excerpt | Zeichenfolge | Gekürzte Signatur zur Anzeige |
fiscal.document_label | Zeichenfolge | Dokumentbezeichnung, z. B. Steuerrechnung |
fiscal.is_reprint | Boolesch | Gibt an, ob diese Ausgabe ein Nachdruck ist |
fiscal.reprint_count | Zahl | Anzahl der Nachdrucke |
fiscal.extra_fields | Array/Objekt | Rechtsspezifische Werte |
Darstellungshinweise — Formatierungs- und Rendererhinweise
Darstellungshinweise
Diese Felder werden hauptsächlich vom Renderer und Formatierer verwendet. Bei Bedarf stehen sie auch Vorlagen zur Verfügung.
| Feld | Typ | Beschreibung |
|---|---|---|
presentation_hints.display_tax | Zeichenfolge | incl, excl, hidden, itemized oder single |
presentation_hints.prices_entered_with_tax | Boolesch | Gibt an, ob Katalogpreise Steuern enthalten |
presentation_hints.rounding_mode | Zeichenfolge | WooCommerce-Einstellung für die Steuerrundung |
presentation_hints.locale | Zeichenfolge | Für die Formatierung verwendetes Gebietsschema |
presentation_hints.timezone | Zeichenfolge | Zeitzone des Belegs |
presentation_hints.currency_position | Zeichenfolge | Position des Währungssymbols |
presentation_hints.currency_symbol | Zeichenfolge | Währungssymbol |
presentation_hints.price_thousand_separator | Zeichenfolge | Tausendertrennzeichen |
presentation_hints.price_decimal_separator | Zeichenfolge | Dezimaltrennzeichen |
presentation_hints.price_num_decimals | Zahl | Anzahl der Dezimalstellen |
presentation_hints.price_display_suffix | Zeichenfolge | WooCommerce-Preisanzeigesuffix |
presentation_hints.order_barcode_type | Zeichenfolge | Von Galerievorlagen verwendeter Barcode-Typ |
Die vorformatierten Geldfelder (die *_display-Werte wie totals.total_display) geben Beträge mit dem Währungssymbol der Bestellwährung aus und berücksichtigen dabei die oben genannten Positionen und Trennzeichen – Belege zeigen also $12.00 statt USD 12.00. Das Feld order.currency bleibt für Logik in Ihrer Vorlage der ISO-Code.
i18n — übersetzte Beschriftungen
i18n
Verwenden Sie nach Möglichkeit i18n-Beschriftungen, statt Text fest zu codieren:
{{i18n.order}} #{{order.number}}
{{i18n.cashier}}: {{cashier.name}}
{{i18n.total}}: {{totals.total_display}}
Zu den gängigen Schlüsseln gehören order, date, cashier, customer, item, sku, qty, unit_price, regular_price, selling_price, savings, discount, subtotal, total_saved, total, tax, paid, tendered, change, tax_summary, refunded, net_total, customer_note, thank_you_purchase, opening_hours sowie Steuer-ID-Beschriftungsschlüssel wie store_tax_id_label_eu_vat und customer_tax_id_label_other. Erweiterungen können zusätzliche Schlüssel hinzufügen.