Zum Hauptinhalt springen
Version: 1.x

Belegdaten-Referenz

Logikfreie HTML-Vorlagen und thermische XML-Vorlagen von WCPOS werden aus demselben kanonischen Beleg-Payload gerendert. Verwenden Sie Mustache-Punktpfade wie {{order.number}}, {{store.name}} und {{totals.total_display}}. Arrays werden mit Sektionen gerendert:

{{#lines}}
{{name}} x {{qty}} — {{line_total_display}}
{{/lines}}

Der kanonische Vertrag wird vom WCPOS-Belegdaten-Builder auf dem Server erzeugt und vom Offline-Beleg-Renderer in der App gespiegelt. Belege werden sofort aus lokalen Daten geöffnet und dann auf die Serverantwort aktualisiert, sobald diese verfügbar ist. Benutzerdefinierte Vorlagen sollten daher die unten aufgeführten Felder anstelle von PHP-Bestellmethoden verwenden.

Rendering-Regeln

Währungsfelder

Numerische Geldbetragsfelder werden als Zahlen beibehalten, und der Renderer fügt lokalisierte _display-Felder für die Vorlagenausgabe hinzu:

Numerisches FeldAnzeigefeld
totals.totaltotals.total_display
lines[].line_totallines[].line_total_display
payments[].amountpayments[].amount_display
tax_summary[].tax_amounttax_summary[].tax_amount_display

Verwenden Sie beim Drucken von Belegen bevorzugt die _display-Felder. Numerische Felder sollten nur für bedingte Abschnitte oder maschinenlesbare Ausgaben verwendet werden.

Steueranzeige-bewusste Felder

Mehrere Felder verfügen über Brutto- und Netto-Varianten sowie einen Anzeigewert zur Vereinfachung. Der Anzeigewert richtet sich nach der Steueranzeige-Einstellung des Warenkorbs in der Filiale.

AnzeigefeldBrutto-FeldNetto-Feld
lines[].unit_pricelines[].unit_price_incllines[].unit_price_excl
lines[].unit_subtotallines[].unit_subtotal_incllines[].unit_subtotal_excl
lines[].line_subtotallines[].line_subtotal_incllines[].line_subtotal_excl
lines[].discountslines[].discounts_incllines[].discounts_excl
lines[].line_totallines[].line_total_incllines[].line_total_excl
fees[].totalfees[].total_inclfees[].total_excl
shipping[].totalshipping[].total_inclshipping[].total_excl
discounts[].totaldiscounts[].total_incldiscounts[].total_excl
totals.subtotaltotals.subtotal_incltotals.subtotal_excl
totals.discount_totaltotals.discount_total_incltotals.discount_total_excl
totals.totaltotals.total_incltotals.total_excl

Datumsobjekte

Datumsfelder sind Objekte mit mehreren vorformatierten Varianten. Dies vermeidet die Datumsformatierung innerhalb von Mustache.

FeldBeschreibung
datetime, date, timeStandard-Datums-/Zeitzeichenketten
datetime_short, datetime_long, datetime_fullLocale-abhängige kombinierte Formate
date_short, date_long, date_fullLokalisierte Nur-Datum-Formate
date_ymd, date_dmy, date_mdyDatumsformate mit fester Reihenfolge
weekday_short, weekday_longTagesnamen
day, month, month_short, month_long, yearEinzelne Datumsbestandteile

Verfügbare Datumsobjekte: order.created, order.paid, order.completed, order.printed und refunds[].date. order.printed wird beim Rendern aktualisiert, was bei Nachdrucken nützlich ist.

Übergeordnete Abschnitte

AbschnittTypBeschreibung
orderobjectBestellidentität, Status, Daten, Notiz und Zahlungs-URL-Informationen
storeobjectFilialidentität, Adresse, Kontaktdaten, Steuernummern, Logo, Öffnungszeiten und Fußzeilentext
cashierobjectBenutzer, der die Bestellung bearbeitet hat
customerobjectAnzeigename des Kunden, Adressen und Steuernummern
linesarrayProduktpositionen
feesarrayGebührenzeilen
shippingarrayVersandzeilen
discountsarrayGutschein-/Rabattzeilen
totalsobjectBestellsummen, Zahlungssummen, Erstattungsübersicht und Artikelanzahl
taxobjectSteueranzeige-Flags für Abschnittsbedingungen
tax_summaryarraySteuerübersichtszeilen pro Steuersatz
has_tax_summarybooleanHilfsbedingung für tax_summary
paymentsarrayZahlungszeilen
refundsarrayAuf die Bestellung angewendete Erstattungen
fiscalobjectFelder für fiskalische Daten, befüllt durch Fiskalintegrationen
presentation_hintsobjectFormatierungs- und Renderer-Hinweise
i18nobjectÜbersetzte Bezeichnungen für mitgelieferte und benutzerdefinierte Vorlagen

order

FeldTypBeispiel / Beschreibung
order.idnumber1234
order.numberstringFür den Kunden sichtbare Bestellnummer, z. B. "10045"
order.currencystringISO-Währungscode, z. B. "USD"
order.customer_notestringKunden-/Bestellnotiz
order.wc_statusstringRohes WooCommerce-Status-Slug, z. B. "processing"
order.status_labelstringLokalisierte Statusbezeichnung, einschließlich benutzerdefinierter Status
order.created_viastringQuelle/Kanal, z. B. "woocommerce-pos"
order.needs_paymentbooleanGibt an, ob ein Zahlungsbereich angezeigt werden soll
order.payment_urlstringZahlungs-URL der Bestellung, sofern verfügbar
order.createddate objectErstellungsdatum der Bestellung
order.paiddate objectBezahldatum, leere Zeichenketten wenn nicht bezahlt
order.completeddate objectAbschlussdatum, leere Zeichenketten wenn nicht abgeschlossen
order.printeddate objectDruck-/Nachdruckzeitstempel zum Zeitpunkt der Ausgabe

Filiale

FeldTypBeispiel / Beschreibung
store.idnumberFilial-ID oder historische ID für gelöschte Filialen
store.namestringAnzeigename der Filiale
store.address.address_1stringStraßenadresse Zeile 1
store.address.address_2stringZusatzzeile (z. B. Gebäude/Einheit)
store.address.citystringStadt/Ort
store.address.statestringBundesland/Region
store.address.postcodestringPostleitzahl
store.address.countrystringISO-Ländercode
store.address_linesarrayVorformatierte Adresszeilen; für die meisten Vorlagen empfohlen
store.tax_idsarrayStrukturierte Steuer-IDs des Unternehmens; diese in einer Schleife verwenden statt einer einzelnen Steuer-ID
store.phonestringTelefonnummer der Filiale
store.emailstringE-Mail-Adresse der Filiale
store.logostring/nullLogo-URL oder Data-URI der Filiale
store.opening_hoursstring/nullKompakter Öffnungszeiten-Text
store.opening_hours_verticalstring/nullMehrzeiliger Öffnungszeiten-Block
store.opening_hours_inlinestring/nullKommagetrennte Öffnungszeiten
store.opening_hours_notesstring/nullFreitext-Notizen zu Öffnungszeiten
store.personal_notesstring/nullBonfußzeile/persönliche Notiz
store.policies_and_conditionsstring/nullRückgabe-, Erstattungs- oder AGB-Text
store.footer_imprintstring/nullRechtliches Impressum in der Fußzeile

Steuer-ID-Objekte

store.tax_ids und customer.tax_ids enthalten Objekte mit derselben Struktur:

FeldTypBeschreibung
typestringBezeichner wie eu_vat, de_steuernummer, au_abn, br_cpf, us_ein oder other
valuestringSteuer-ID-Wert zum Drucken
countrystring/nullISO-Ländercode, sofern bekannt
labelstring/nullLokalisierte Anzeigebezeichnung, vor dem Rendern aufgelöst

Beispiel:

{{#store.tax_ids}}
{{label}}: {{value}}
{{/store.tax_ids}}

cashier

FeldTypBeispiel / Beschreibung
cashier.idnumberWordPress-Benutzer-ID, 0 wenn unbekannt
cashier.namestringAnzeigename des Kassierers

customer

FeldTypBeispiel / Beschreibung
customer.idnumber/nullKunden-ID, oder null für Gäste
customer.namestringAnzeigename des Kunden oder Gastbezeichnung
customer.billing_address.*objectWooCommerce-Rechnungsadressfelder
customer.shipping_address.*objectWooCommerce-Versandadressfelder
customer.tax_idsarrayStrukturierte Steuer-IDs des Kunden, aus der Bestellung übernommen

Gängige Adressschlüssel sind first_name, last_name, company, address_1, address_2, city, state, postcode, country, email und phone.

lines

Schleife mit {{#lines}}...{{/lines}}.

FeldTypBeschreibung
keystringStabiler Zeilenschlüssel/Bestellpositions-ID
skustringProdukt-SKU
namestringProdukt- oder Zeilen-Anzeigename
qtynumberVerkaufte Menge
qty_refundednumberErstattete Menge für diese Position
unit_subtotal / _incl / _exclnumberStückpreis vor Rabatt
unit_price / _incl / _exclnumberStückpreis nach Rabatt
line_subtotal / _incl / _exclnumberPositionszwischensumme vor Rabatt
discounts / _incl / _exclnumberRabattbetrag als positiver Wert
line_total / _incl / _exclnumberEndgültiger Positionsgesamtbetrag
total_refundednumberGesamterstattung für diese Position als positiver Wert
taxesarraySteuerzeilen pro Steuersatz für diese Position
metaarrayBestellpositions-Metadaten als {key, value}-Paare
attributesarrayProdukt-/Variantenattribute als {key, value}-Paare

Formatierte Varianten umfassen unit_subtotal_display, unit_price_display, line_subtotal_display, discounts_display, line_total_display sowie die inklusiven/exklusiven _display-Varianten.

Gebühren und Versand

Durchlaufen mit {{#fees}}...{{/fees}} und {{#shipping}}...{{/shipping}}.

FeldTypBeschreibung
labelstringGebührenbezeichnung oder Name der Versandmethode
method_idstringVersandmethoden-ID (nur Versand)
total / _incl / _exclnumberAnzeigeseitige, inklusive und exklusive Gesamtbeträge
taxesarraySteuerzeilen pro Steuersatz
metaarray{key, value}-Metadatenpaare

Formatierte Varianten: total_display, total_incl_display und total_excl_display.

discounts

Schleife mit {{#discounts}}...{{/discounts}}.

FeldTypBeschreibung
labelstringGutscheinbeschreibung oder Code-Fallback
codestringGutscheincode
codesstringLegacy-/Anzeige-Fallback für zusammengefügte Codes
total / _incl / _exclnumberRabattbetrag 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.

totals

FeldTypBeschreibung
totals.subtotal / _incl / _exclnumberBestellzwischensumme vor Rabatten
totals.discount_total / _incl / _exclnumberGesamtrabatt der Bestellung als positiver Wert
totals.tax_totalnumberGesamtsteuerbetrag
totals.total / _incl / _exclnumberGesamtbetrag der Bestellung
totals.paid_totalnumberGezahlter/angerechneter Betrag
totals.change_totalnumberAn den Kunden zurückgegebenes Wechselgeld
totals.refund_totalnumberGesamterstattung als positiver Wert
totals.net_totalnumbertotal - refund_total, auf null begrenzt
totals.total_qtynumberSumme der Positionsmengen
totals.line_countnumberAnzahl der Produktpositionszeilen

Formatierte Varianten umfassen subtotal_display, discount_total_display, tax_total_display, total_display, paid_total_display, change_total_display, refund_total_display und net_total_display sowie inklusive/exklusive Varianten, sofern zutreffend.

tax und tax_summary

Verwenden Sie tax für Anzeigemodus-Bedingungen und tax_summary für aufgeschlüsselte Steuersatzzeilen.

SteuerfeldTypBeschreibung
tax.displaystringincl oder excl
tax.display_inclbooleanWahr, wenn Preise inklusive Steuer angezeigt werden
tax.display_exclbooleanWahr, wenn Preise exklusive Steuer angezeigt werden
tax.breakdownstringhidden, single oder itemized
tax.breakdown_hiddenbooleanWahr, wenn Steuerzeilen ausgeblendet werden sollen
tax.breakdown_singlebooleanWahr, wenn eine einzelne Steuergesamtsumme bevorzugt wird
tax.breakdown_itemizedbooleanWahr, wenn Zeilen pro Steuersatz bevorzugt werden
has_tax_summarybooleanWahr, wenn tax_summary Zeilen enthält

tax_summary wird mit {{#tax_summary}}...{{/tax_summary}} durchlaufen.

FeldTypBeschreibung
codestringSteuersatz-ID/-Code
ratenumber/nullProzentsatz des Steuersatzes, wenn aufgelöst
labelstringBezeichnung des Steuersatzes
compoundbooleanOb der Steuersatz kumuliert wird
taxable_amount_exclnumber/nullSteuerbemessungsgrundlage ohne Steuer
tax_amountnumberErhobener Steuerbetrag
taxable_amount_inclnumber/nullSteuerbemessungsgrundlage einschließlich Steuer

Formatierte Varianten: taxable_amount_excl_display, tax_amount_display und taxable_amount_incl_display.

payments

Schleife mit {{#payments}}...{{/payments}}.

FeldTypBeschreibung
method_idstringBezeichner der Zahlungsmethode
method_titlestringAnzeigename der Zahlungsmethode
amountnumberAuf die Bestellung angerechneter Betrag
transaction_idstringTransaktions-ID des Zahlungsgateways
tenderednumberÜbergebener Bargeldbetrag, falls vorhanden
changenumberZurückgegebenes Wechselgeld, falls vorhanden

Formatierte Varianten: amount_display, tendered_display und change_display.

Erstattungen

Schleife mit {{#refunds}}...{{/refunds}}. Erstattungsbeträge sind positive Absolutwerte; die Vorlage entscheidet, ob ein Minuszeichen vorangestellt oder ein separater Block für zurückgegebene Artikel dargestellt wird.

FeldTypBeschreibung
idnumberID des Erstattungsdatensatzes
datedate objectErstellungsdatum der Erstattung
amountnumberErstattungsbetrag
subtotalnumberErstattete Positionszwischensumme
tax_totalnumberErstattete Steuer
shipping_totalnumberErstatteter Versandbetrag
shipping_taxnumberErstattete Versandsteuer
reasonstringErstattungsgrund
refunded_by_idnumber/nullBenutzer-ID, die die Erstattung ausgestellt hat
refunded_by_namestringAnzeigename des Benutzers, der die Erstattung ausgestellt hat
refunded_paymentbooleanOb die Zahlung über das Gateway erstattet wurde
destinationstringoriginal_method, cash oder manual
gateway_idstringFür die Erstattung verwendete Gateway-ID
gateway_titlestringAnzeigename des Gateways
processing_modestringAnbieter-/manueller Verarbeitungsmodus
linesarrayErstattete Produktzeilen
feesarrayErstattete Gebührenzeilen
shippingarrayErstattete Versandzeilen

Erstattungspositionsfelder umfassen name, sku, qty, total, total_incl, total_excl, line_total, unit_total und taxes. Erstattete Gebühren- und Versandzeilen verwenden label, total, total_incl, total_excl und taxes. Für Summen und Steuerbeträge werden Anzeigevarianten hinzugefügt.

fiscal

Fiskalfelder sind standardmäßig leer und werden durch Fiskalintegrationen oder die WCPOS Pro Snapshot-Anreicherung befüllt.

FeldTypBeschreibung
fiscal.immutable_idstringUnveränderliche Fiskalkennung
fiscal.receipt_numberstringFiskal-Belegnummer
fiscal.sequencenumber/nullSequenzzähler
fiscal.hashstringHash-/Signaturwert
fiscal.qr_payloadstringQR-Payload für die steuerliche Verifizierung
fiscal.tax_agency_codestringCode der Steuerbehörde
fiscal.signed_atstringZeitstempel der steuerlichen Signierung
fiscal.signature_excerptstringGekürzte Signatur zur Anzeige
fiscal.document_labelstringDokumentbezeichnung, z. B. Steuerrechnung
fiscal.is_reprintbooleanOb es sich um einen Nachdruck handelt
fiscal.reprint_countnumberAnzahl der Nachdrucke
fiscal.extra_fieldsarray/objectJurisdiktionsspezifische Werte

presentation_hints

Diese Felder werden hauptsächlich vom Renderer und Formatter verwendet. Sie stehen Vorlagen bei Bedarf zur Verfügung.

FeldTypBeschreibung
presentation_hints.display_taxstringincl, excl, hidden, itemized oder single
presentation_hints.prices_entered_with_taxbooleanOb Katalogpreise Steuern enthalten
presentation_hints.rounding_modestringWooCommerce-Einstellung zur Steuerrundung
presentation_hints.localestringFür die Formatierung verwendetes Gebietsschema
presentation_hints.timezonestringZeitzone des Bons
presentation_hints.currency_positionstringPosition des Währungssymbols
presentation_hints.currency_symbolstringWährungssymbol
presentation_hints.price_thousand_separatorstringTausendertrennzeichen
presentation_hints.price_decimal_separatorstringDezimaltrennzeichen
presentation_hints.price_num_decimalsnumberDezimalstellen
presentation_hints.price_display_suffixstringWooCommerce-Preisanzeige-Suffix
presentation_hints.order_barcode_typestringVon Galerie-Vorlagen verwendeter Barcode-Typ

i18n

Verwenden Sie nach Möglichkeit i18n-Labels anstelle von fest codiertem Text:

{{i18n.order}} #{{order.number}}
{{i18n.cashier}}: {{cashier.name}}
{{i18n.total}}: {{totals.total_display}}

Gängige Schlüssel sind unter anderem order, date, cashier, customer, item, sku, qty, unit_price, discount, subtotal, total, tax, paid, tendered, change, tax_summary, refunded, net_total, customer_note, thank_you_purchase, opening_hours sowie die Steuer-ID-Label-Schlüssel wie store_tax_id_label_eu_vat und customer_tax_id_label_other. Weitere Schlüssel können durch Erweiterungen hinzugefügt werden.