Ga naar de hoofdinhoud
Versie: 1.x

Referentie bongegevens

De logicaloze HTML-sjablonen en thermische XML-sjablonen van WCPOS renderen vanuit dezelfde canonieke bonpayload. Gebruik Mustache-dotpaden zoals {{order.number}}, {{store.name}} en {{totals.total_display}}. Arrays worden gerenderd met secties:

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

Het canonieke contract wordt geproduceerd door de WCPOS-bongegevensbouwer op de server en gespiegeld door de offline-bonrenderer in de app. Bonnen openen onmiddellijk vanuit lokale gegevens en upgraden vervolgens naar de serverreactie wanneer deze beschikbaar is, dus aangepaste sjablonen moeten de onderstaande velden gebruiken in plaats van PHP-bestelmethoden.

Renderregels

Valutavelden

Numerieke geldvelden worden als getallen behouden en de renderer voegt locale-bewuste _display-velden toe voor sjabloonuitvoer:

Numeriek veldWeergaveveld
totals.totaltotals.total_display
lines[].line_totallines[].line_total_display
payments[].amountpayments[].amount_display
tax_summary[].tax_amounttax_summary[].tax_amount_display

Geef de voorkeur aan _display-velden bij het afdrukken van bonnen. Gebruik numerieke velden alleen voor voorwaardelijke secties of machineleesbare uitvoer.

Btw-weergavebewuste velden

Verschillende velden hebben varianten inclusief en exclusief btw plus een weergavegerichte gemakswaarde. De gemakswaarde volgt de instelling voor de btw-weergave in de winkelwagen van de winkel.

GemaksveldVeld inclusiefVeld exclusief
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

Datumobjecten

Datumvelden zijn objecten met meerdere vooraf opgemaakte varianten. Dit voorkomt datumopmaak binnen Mustache.

VeldBeschrijving
datetime, date, timeStandaard datum-/tijdstrings
datetime_short, datetime_long, datetime_fullLocale-bewuste gecombineerde formaten
date_short, date_long, date_fullLocale-bewuste formaten met alleen datum
date_ymd, date_dmy, date_mdyDatumformaten met vaste volgorde
weekday_short, weekday_longDagnamen
day, month, month_short, month_long, yearAfzonderlijke datumonderdelen

Beschikbare datumobjecten: order.created, order.paid, order.completed, order.printed en refunds[].date. order.printed wordt op het moment van renderen vernieuwd, wat handig is voor herafdrukken.

Secties op hoofdniveau

SectieTypeBeschrijving
orderobjectBestelidentiteit, status, datums, notitie en betalings-URL-informatie
storeobjectWinkelidentiteit, adres, contactgegevens, fiscale nummers, logo, openingstijden en voettekst
cashierobjectGebruiker die de bestelling heeft verwerkt
customerobjectWeergavenaam, adressen en fiscale nummers van de klant
linesarrayProductregelitems
feesarrayKostenregels
shippingarrayVerzendregels
discountsarrayCoupon-/kortingsregels
totalsobjectBesteltotalen, betalingstotalen, terugbetaaloverzicht en aantallen items
taxobjectVlaggen voor de btw-weergavemodus voor sectie-guards
tax_summaryarrayBtw-overzichtsregels per tarief
has_tax_summarybooleanGemaks-guard voor tax_summary
paymentsarrayBetalingsregels
refundsarrayTerugbetalingsrecords die op de bestelling zijn toegepast
fiscalobjectFiscale-snapshotvelden die worden gevuld door fiscale integraties
presentation_hintsobjectOpmaak- en renderer-hints
i18nobjectVertaalde labels voor meegeleverde en aangepaste sjablonen

Veldreferentie

De volledige veldreferentie is hieronder gegroepeerd per sectie. Alles is standaard ingeklapt — vouw de groep uit die je nodig hebt.

order — identiteit, status, datums

order

VeldTypeVoorbeeld / beschrijving
order.idnumber1234
order.numberstringVoor mensen leesbaar bestelnummer, bijv. "10045"
order.currencystringISO-valutacode, bijv. "USD"
order.customer_notestringKlant-/bestelnotitie
order.wc_statusstringOnbewerkte WooCommerce-statusslug, bijv. "processing"
order.status_labelstringGelokaliseerd statuslabel, inclusief aangepaste statussen
order.created_viastringBron/kanaal, bijv. "woocommerce-pos"
order.needs_paymentbooleanOf een betalingssectie moet worden getoond
order.payment_urlstringBetalings-URL van de bestelling indien beschikbaar
order.createddate objectAanmaakdatum van de bestelling
order.paiddate objectBetaaldatum, lege strings indien niet betaald
order.completeddate objectVoltooiingsdatum, lege strings indien niet voltooid
order.printeddate objectTijdstempel van het afdrukken/herafdrukken op het moment van renderen
store — identiteit, adres, contact, openingstijden

store

VeldTypeVoorbeeld / beschrijving
store.idnumberWinkel-ID, of historische ID voor verwijderde winkels
store.namestringWeergavenaam van de winkel
store.address.address_1stringAdresregel 1
store.address.address_2stringSuite-/unitregel
store.address.citystringStad/plaats
store.address.statestringProvincie/regio
store.address.postcodestringPostcode
store.address.countrystringISO-landcode
store.address_linesarrayVooraf opgemaakte adresregels; aanbevolen voor de meeste sjablonen
store.tax_idsarrayGestructureerde fiscale bedrijfsnummers; loop hierdoorheen in plaats van één enkel fiscaal nummer te gebruiken
store.phonestringTelefoonnummer van de winkel
store.emailstringE-mailadres van de winkel
store.logostring/nullURL of data-URI van het winkellogo
store.opening_hoursstring/nullCompacte tekst met openingstijden
store.opening_hours_verticalstring/nullMeerregelig blok met openingstijden
store.opening_hours_inlinestring/nullDoor komma's gescheiden tekst met openingstijden
store.opening_hours_notesstring/nullVrije-tekstnotities over openingstijden
store.personal_notesstring/nullVoettekst van de bon/persoonlijke notitie
store.policies_and_conditionsstring/nullTekst over terugbetalingen, retourzendingen of voorwaarden
store.footer_imprintstring/nullJuridische voettekst (imprint)

Fiscale-nummerobjecten

store.tax_ids en customer.tax_ids bevatten objecten met dezelfde vorm:

VeldTypeBeschrijving
typestringNummer zoals eu_vat, de_steuernummer, au_abn, br_cpf, us_ein of other
valuestringFiscale-nummerwaarde om af te drukken
countrystring/nullISO-landcode indien bekend
labelstring/nullGelokaliseerd weergavelabel, opgelost vóór het renderen

Voorbeeld:

{{#store.tax_ids}}
{{label}}: {{value}}
{{/store.tax_ids}}
cashier — gebruiker die de bestelling heeft verwerkt

cashier

VeldTypeVoorbeeld / beschrijving
cashier.idnumberWordPress-gebruikers-ID, 0 indien onbekend
cashier.namestringWeergavenaam van de kassier
customer — naam, adressen, fiscale nummers

customer

VeldTypeVoorbeeld / beschrijving
customer.idnumber/nullKlant-ID, of null voor gasten
customer.namestringWeergavenaam van de klant, of gastlabel
customer.billing_address.*objectWooCommerce-factuuradresvelden
customer.shipping_address.*objectWooCommerce-verzendadresvelden
customer.tax_idsarrayGestructureerde fiscale nummers van de klant, vastgelegd vanuit de bestelling

Veelvoorkomende adressleutels zijn first_name, last_name, company, address_1, address_2, city, state, postcode, country, email en phone.

lines — productregelitems

lines

Loop met {{#lines}}...{{/lines}}.

VeldTypeBeschrijving
keystringStabiele regelsleutel/bestelitem-ID
skustringProduct-SKU
namestringWeergavenaam van product of regel
qtynumberVerkochte hoeveelheid
qty_refundednumberTerugbetaalde hoeveelheid voor deze regel
unit_subtotal / _incl / _exclnumberEenheidsprijs vóór korting
unit_price / _incl / _exclnumberEenheidsprijs na korting
line_subtotal / _incl / _exclnumberRegelsubtotaal vóór korting
discounts / _incl / _exclnumberKortingsbedrag als positieve waarde
line_total / _incl / _exclnumberDefinitief regeltotaal
total_refundednumberTotaal terugbetaald voor deze regel als positieve waarde
taxesarrayBtw-regels per tarief voor deze regel
metaarrayMetadata van bestelitem als {key, value}-paren
attributesarrayProduct-/variatieattributen als {key, value}-paren

Opgemaakte varianten zijn onder andere unit_subtotal_display, unit_price_display, line_subtotal_display, discounts_display, line_total_display en inclusief/exclusief _display-varianten.

fees en shipping

fees en shipping

Loop met {{#fees}}...{{/fees}} en {{#shipping}}...{{/shipping}}.

VeldTypeBeschrijving
labelstringKostenlabel of naam van verzendmethode
method_idstringID van verzendmethode (alleen verzending)
total / _incl / _exclnumberWeergavegerichte, inclusieve en exclusieve totalen
taxesarrayBtw-regels per tarief
metaarray{key, value}-metaparen

Opgemaakte varianten: total_display, total_incl_display en total_excl_display.

discounts — coupon-/kortingsregels

discounts

Loop met {{#discounts}}...{{/discounts}}.

VeldTypeBeschrijving
labelstringCouponbeschrijving of code-fallback
codestringCouponcode
codesstringLegacy-/weergave-fallback voor samengevoegde codes
total / _incl / _exclnumberKortingsbedrag als positieve waarde

Opgemaakte varianten: total_display, total_incl_display en total_excl_display. Voeg je eigen minteken toe in het sjabloon als je kortingen als negatieve regels wilt tonen.

totals — bestel-, betalings-, terugbetaal- en itemtotalen

totals

VeldTypeBeschrijving
totals.subtotal / _incl / _exclnumberBestelsubtotaal vóór kortingen
totals.discount_total / _incl / _exclnumberTotale bestelkorting als positieve waarde
totals.tax_totalnumberTotaal btw-bedrag
totals.total / _incl / _exclnumberEindtotaal van de bestelling
totals.paid_totalnumberBetaald/toegepast bedrag
totals.change_totalnumberWisselgeld dat aan de klant wordt teruggegeven
totals.refund_totalnumberTotaal terugbetaald als positieve waarde
totals.net_totalnumbertotal - refund_total, vastgezet op nul
totals.total_qtynumberSom van de hoeveelheden van regelitems
totals.line_countnumberAantal productregels

Opgemaakte varianten zijn onder andere subtotal_display, discount_total_display, tax_total_display, total_display, paid_total_display, change_total_display, refund_total_display en net_total_display, plus inclusief/exclusief varianten waar van toepassing.

tax en tax_summary — weergave-guards en regels per tarief

tax en tax_summary

Gebruik tax voor weergavemodus-guards en tax_summary voor gespecificeerde tariefregels.

Btw-veldTypeBeschrijving
tax.displaystringincl of excl
tax.display_inclbooleanTrue wanneer prijzen inclusief btw worden weergegeven
tax.display_exclbooleanTrue wanneer prijzen exclusief btw worden weergegeven
tax.breakdownstringhidden, single of itemized
tax.breakdown_hiddenbooleanTrue wanneer btw-regels verborgen moeten zijn
tax.breakdown_singlebooleanTrue wanneer een enkel btw-totaal de voorkeur heeft
tax.breakdown_itemizedbooleanTrue wanneer regels per tarief de voorkeur hebben
has_tax_summarybooleanTrue wanneer tax_summary regels bevat

Loop tax_summary met {{#tax_summary}}...{{/tax_summary}}.

VeldTypeBeschrijving
codestringBtw-tarief-ID/-code
ratenumber/nullTariefpercentage indien opgelost
labelstringLabel van btw-tarief
compoundbooleanOf het tarief samengesteld is
taxable_amount_exclnumber/nullBelastbare grondslag exclusief btw
tax_amountnumberGeïnde btw
taxable_amount_inclnumber/nullBelastbare grondslag inclusief btw

Opgemaakte varianten: taxable_amount_excl_display, tax_amount_display en taxable_amount_incl_display.

payments — betalingsregels

payments

Loop met {{#payments}}...{{/payments}}.

VeldTypeBeschrijving
method_idstringIdentifier van betaalmethode
method_titlestringWeergavetitel van betaalmethode
amountnumberOp de bestelling toegepast bedrag
transaction_idstringTransactie-ID van de gateway
tenderednumberAangeboden contant bedrag indien aanwezig
changenumberTeruggegeven contant wisselgeld indien aanwezig

Opgemaakte varianten: amount_display, tendered_display en change_display.

refunds — terugbetalingsrecords

refunds

Loop met {{#refunds}}...{{/refunds}}. Terugbetaalbedragen zijn positieve grootten; sjablonen bepalen of er een minteken voorgevoegd wordt of een apart blok met geretourneerde items wordt gerenderd.

VeldTypeBeschrijving
idnumberID van terugbetalingsrecord
datedate objectAanmaakdatum van terugbetaling
amountnumberTerugbetaaltotaal
subtotalnumberTerugbetaald regelsubtotaal
tax_totalnumberTerugbetaalde btw
shipping_totalnumberTerugbetaald verzendbedrag
shipping_taxnumberTerugbetaalde verzend-btw
reasonstringReden van terugbetaling
refunded_by_idnumber/nullGebruikers-ID die de terugbetaling heeft uitgevoerd
refunded_by_namestringWeergavenaam van de gebruiker die de terugbetaling heeft uitgevoerd
refunded_paymentbooleanOf de betaling via de gateway is terugbetaald
destinationstringoriginal_method, cash of manual
gateway_idstringGateway-ID die voor de terugbetaling is gebruikt
gateway_titlestringWeergavetitel van de gateway
processing_modestringProvider-/handmatige verwerkingsmodus
linesarrayTerugbetaalde productregels
feesarrayTerugbetaalde kostenregels
shippingarrayTerugbetaalde verzendregels

Terugbetalingsregelvelden zijn onder andere name, sku, qty, total, total_incl, total_excl, line_total, unit_total en taxes. Terugbetalingskosten- en verzendregels gebruiken label, total, total_incl, total_excl en taxes. Weergavevarianten worden toegevoegd voor totalen en btw-bedragen.

fiscal — snapshot van fiscale integratie

fiscal

Fiscale velden zijn standaard leeg en worden gevuld door fiscale integraties of de snapshotverrijking van WCPOS Pro.

VeldTypeBeschrijving
fiscal.immutable_idstringOnveranderlijke fiscale identifier
fiscal.receipt_numberstringFiscaal bonnummer
fiscal.sequencenumber/nullVolgteller
fiscal.hashstringHash-/handtekeningwaarde
fiscal.qr_payloadstringQR-payload voor fiscale verificatie
fiscal.tax_agency_codestringCode van de belastingautoriteit
fiscal.signed_atstringTijdstempel van fiscale ondertekening
fiscal.signature_excerptstringAfgekapte handtekening voor weergave
fiscal.document_labelstringDocumentlabel, bijv. Tax Invoice
fiscal.is_reprintbooleanOf deze render een herafdruk is
fiscal.reprint_countnumberAantal herafdrukken
fiscal.extra_fieldsarray/objectJurisdictiespecifieke waarden
presentation_hints — opmaak- en renderer-hints

presentation_hints

Deze velden worden voornamelijk verbruikt door de renderer en formatter. Ze zijn beschikbaar voor sjablonen wanneer dat nodig is.

VeldTypeBeschrijving
presentation_hints.display_taxstringincl, excl, hidden, itemized of single
presentation_hints.prices_entered_with_taxbooleanOf catalogusprijzen btw bevatten
presentation_hints.rounding_modestringWooCommerce-instelling voor btw-afronding
presentation_hints.localestringLocale die voor de opmaak wordt gebruikt
presentation_hints.timezonestringTijdzone van de bon
presentation_hints.currency_positionstringPositie van het valutasymbool
presentation_hints.currency_symbolstringValutasymbool
presentation_hints.price_thousand_separatorstringDuizendtalscheidingsteken
presentation_hints.price_decimal_separatorstringDecimaalscheidingsteken
presentation_hints.price_num_decimalsnumberAantal decimalen
presentation_hints.price_display_suffixstringWooCommerce-achtervoegsel voor prijsweergave
presentation_hints.order_barcode_typestringBarcodetype dat door galerijsjablonen wordt gebruikt
i18n — vertaalde labels

i18n

Gebruik waar mogelijk i18n-labels in plaats van tekst hard te coderen:

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

Veelvoorkomende sleutels zijn 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, en de fiscale-labelsleutels zoals store_tax_id_label_eu_vat en customer_tax_id_label_other. Extra sleutels kunnen door extensies worden toegevoegd.