Passer au contenu principal
Version : 1.x

Référence des données de reçu

Les modèles HTML sans logique et les modèles XML thermiques de WCPOS sont rendus à partir du même payload de reçu canonique. Utilisez les chemins à points Mustache tels que {{order.number}}, {{store.name}} et {{totals.total_display}}. Les tableaux sont rendus avec des sections :

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

Le contrat canonique est produit par le générateur de données de reçu WCPOS sur le serveur et reproduit par le moteur de rendu de reçu hors ligne dans l'application. Les reçus s'ouvrent immédiatement à partir des données locales, puis sont mis à jour avec la réponse du serveur lorsqu'elle est disponible. Les modèles personnalisés doivent donc utiliser les champs ci-dessous plutôt que les méthodes PHP de commande.

Règles de rendu

Champs de devise

Les champs monétaires numériques sont conservés en tant que nombres et le moteur de rendu ajoute des champs _display adaptés aux paramètres régionaux pour l'affichage dans les modèles :

Champ numériqueChamp d'affichage
totals.totaltotals.total_display
lines[].line_totallines[].line_total_display
payments[].amountpayments[].amount_display
tax_summary[].tax_amounttax_summary[].tax_amount_display

Privilégiez les champs _display lors de l'impression des reçus. Utilisez les champs numériques uniquement pour les sections conditionnelles ou les sorties lisibles par machine.

Champs adaptés à l'affichage des taxes

Plusieurs champs disposent de variantes TTC et HT ainsi qu'une valeur pratique côté affichage. Cette valeur pratique suit le paramètre d'affichage des taxes du panier de la boutique.

Champ pratiqueChamp TTCChamp HT
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

Objets date

Les champs de date sont des objets avec plusieurs variantes préformatées. Cela évite d'effectuer le formatage des dates dans Mustache.

ChampDescription
datetime, date, timeChaînes de date/heure par défaut
datetime_short, datetime_long, datetime_fullFormats combinés adaptés à la locale
date_short, date_long, date_fullFormats de date uniquement, adaptés à la locale
date_ymd, date_dmy, date_mdyFormats de date à ordre fixe
weekday_short, weekday_longNoms des jours
day, month, month_short, month_long, yearComposants individuels de la date

Objets de date disponibles : order.created, order.paid, order.completed, order.printed et refunds[].date. order.printed est actualisé au moment du rendu, ce qui est utile pour les réimpressions.

Sections de premier niveau

SectionTypeDescription
orderobjectIdentité de la commande, statut, dates, note et informations d'URL de paiement
storeobjectIdentité de la boutique, adresse, coordonnées, numéros de taxe, logo, horaires et texte de pied de page
cashierobjectUtilisateur ayant traité la commande
customerobjectNom d'affichage du client, adresses et numéros de taxe
linesarrayLignes d'articles du produit
feesarrayLignes de frais
shippingarrayLignes d'expédition
discountsarrayLignes de coupons/remises
totalsobjectTotaux de la commande, totaux des paiements, résumé des remboursements et nombre d'articles
taxobjectIndicateurs du mode d'affichage des taxes pour les conditions de section
tax_summaryarrayLignes de résumé des taxes par taux
has_tax_summarybooleanCondition de commodité pour tax_summary
paymentsarrayLignes de paiement
refundsarrayEnregistrements de remboursements appliqués à la commande
fiscalobjectChamps d'instantané fiscal alimentés par les intégrations fiscales
presentation_hintsobjectIndications de formatage et de rendu
i18nobjectLibellés traduits pour les modèles intégrés et personnalisés

order

ChampTypeExemple / description
order.idnumber1234
order.numberstringNuméro de commande visible par le client, par ex. "10045"
order.currencystringCode devise ISO, par ex. "USD"
order.customer_notestringNote du client / de la commande
order.wc_statusstringSlug brut du statut WooCommerce, par ex. "processing"
order.status_labelstringLibellé de statut localisé, y compris les statuts personnalisés
order.created_viastringSource / canal, par ex. "woocommerce-pos"
order.needs_paymentbooleanIndique si une section de paiement doit être affichée
order.payment_urlstringURL de paiement de la commande lorsque disponible
order.createdobjet dateDate de création de la commande
order.paidobjet dateDate de paiement, chaînes vides si non payée
order.completedobjet dateDate de finalisation, chaînes vides si non finalisée
order.printedobjet dateHorodatage d'impression/réimpression au moment du rendu

boutique

ChampTypeExemple / description
store.idnumberID de la boutique, ou ID historique pour les boutiques supprimées
store.namestringNom d'affichage de la boutique
store.address.address_1stringAdresse ligne 1
store.address.address_2stringComplément d'adresse
store.address.citystringVille/localité
store.address.statestringÉtat/région
store.address.postcodestringCode postal
store.address.countrystringCode pays ISO
store.address_linesarrayLignes d'adresse préformatées ; recommandé pour la plupart des modèles
store.tax_idsarrayIdentifiants fiscaux structurés ; parcourir ce tableau plutôt que d'utiliser un seul identifiant fiscal
store.phonestringTéléphone de la boutique
store.emailstringE-mail de la boutique
store.logostring/nullURL ou URI de données du logo de la boutique
store.opening_hoursstring/nullHoraires d'ouverture en format compact
store.opening_hours_verticalstring/nullHoraires d'ouverture sur plusieurs lignes
store.opening_hours_inlinestring/nullHoraires d'ouverture séparés par des virgules
store.opening_hours_notesstring/nullNotes en texte libre sur les horaires d'ouverture
store.personal_notesstring/nullNote personnelle / pied de page du reçu
store.policies_and_conditionsstring/nullTexte de remboursement, retours ou conditions générales
store.footer_imprintstring/nullMentions légales en pied de page

Objets d'identifiant fiscal

store.tax_ids et customer.tax_ids contiennent des objets de même structure :

ChampTypeDescription
typestringIdentifiant tel que eu_vat, de_steuernummer, au_abn, br_cpf, us_ein ou other
valuestringValeur de l'identifiant fiscal à imprimer
countrystring/nullCode pays ISO lorsqu'il est connu
labelstring/nullLibellé d'affichage localisé, résolu avant le rendu

Exemple :

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

cashier

ChampTypeExemple / description
cashier.idnumberIdentifiant utilisateur WordPress, 0 si inconnu
cashier.namestringNom d'affichage du caissier

customer

ChampTypeExemple / description
customer.idnumber/nullIdentifiant du client, ou null pour les invités
customer.namestringNom d'affichage du client, ou libellé invité
customer.billing_address.*objectChamps d'adresse de facturation WooCommerce
customer.shipping_address.*objectChamps d'adresse de livraison WooCommerce
customer.tax_idsarrayIdentifiants fiscaux du client capturés depuis la commande

Les clés d'adresse courantes incluent first_name, last_name, company, address_1, address_2, city, state, postcode, country, email et phone.

lines

Boucler avec {{#lines}}...{{/lines}}.

ChampTypeDescription
keystringClé stable de ligne / identifiant d'article de commande
skustringSKU du produit
namestringNom d'affichage du produit ou de la ligne
qtynumberQuantité vendue
qty_refundednumberQuantité remboursée pour cette ligne
unit_subtotal / _incl / _exclnumberPrix unitaire avant remise
unit_price / _incl / _exclnumberPrix unitaire après remise
line_subtotal / _incl / _exclnumberSous-total de la ligne avant remise
discounts / _incl / _exclnumberMontant de la remise en valeur positive
line_total / _incl / _exclnumberTotal final de la ligne
total_refundednumberTotal remboursé pour cette ligne en valeur positive
taxesarrayLignes de taxe par taux pour cette ligne
metaarrayMétadonnées de l'article de commande sous forme de paires {key, value}
attributesarrayAttributs du produit/de la variation sous forme de paires {key, value}

Les variantes formatées incluent unit_subtotal_display, unit_price_display, line_subtotal_display, discounts_display, line_total_display, ainsi que les variantes _display TTC/HT.

frais et expédition

Itérer avec {{#fees}}...{{/fees}} et {{#shipping}}...{{/shipping}}.

ChampTypeDescription
labelstringLibellé du frais ou nom de la méthode de livraison
method_idstringID de la méthode de livraison (livraison uniquement)
total / _incl / _exclnumberTotaux côté affichage, TTC et HT
taxesarrayLignes de taxe par taux
metaarrayPaires de métadonnées {key, value}

Variantes formatées : total_display, total_incl_display et total_excl_display.

remises

Boucle avec {{#discounts}}...{{/discounts}}.

ChampTypeDescription
labelstringDescription du coupon ou code par défaut
codestringCode du coupon
codesstringValeur de repli héritée/affichage pour les codes concaténés
total / _incl / _exclnumberMontant de la remise en valeur positive

Variantes formatées : total_display, total_incl_display et total_excl_display. Ajoutez votre propre signe moins dans le modèle si vous souhaitez afficher les remises sous forme de lignes négatives.

totals

ChampTypeDescription
totals.subtotal / _incl / _exclnumberSous-total de la commande avant remises
totals.discount_total / _incl / _exclnumberTotal des remises de la commande en valeur positive
totals.tax_totalnumberMontant total des taxes
totals.total / _incl / _exclnumberTotal général de la commande
totals.paid_totalnumberMontant payé/appliqué
totals.change_totalnumberMonnaie rendue au client
totals.refund_totalnumberTotal remboursé en valeur positive
totals.net_totalnumbertotal - refund_total, limité à zéro
totals.total_qtynumberSomme des quantités des lignes d'articles
totals.line_countnumberNombre de lignes de produits

Les variantes formatées incluent subtotal_display, discount_total_display, tax_total_display, total_display, paid_total_display, change_total_display, refund_total_display et net_total_display, ainsi que les variantes TTC/HT le cas échéant.

tax et tax_summary

Utilisez tax pour les conditions d'affichage et tax_summary pour les lignes détaillées par taux.

Champ de taxeTypeDescription
tax.displaystringincl ou excl
tax.display_inclbooleanVrai lorsque les prix sont affichés toutes taxes comprises
tax.display_exclbooleanVrai lorsque les prix sont affichés hors taxes
tax.breakdownstringhidden, single ou itemized
tax.breakdown_hiddenbooleanVrai lorsque les lignes de taxe doivent être masquées
tax.breakdown_singlebooleanVrai lorsqu'un total de taxe unique est préféré
tax.breakdown_itemizedbooleanVrai lorsque les lignes par taux sont préférées
has_tax_summarybooleanVrai lorsque tax_summary contient des lignes

Boucler sur tax_summary avec {{#tax_summary}}...{{/tax_summary}}.

ChampTypeDescription
codestringIdentifiant/code du taux de taxe
ratenumber/nullPourcentage du taux lorsqu'il est résolu
labelstringLibellé du taux de taxe
compoundbooleanIndique si le taux est composé
taxable_amount_exclnumber/nullBase imposable hors taxe
tax_amountnumberTaxe collectée
taxable_amount_inclnumber/nullBase imposable TTC

Variantes formatées : taxable_amount_excl_display, tax_amount_display et taxable_amount_incl_display.

payments

Boucle avec {{#payments}}...{{/payments}}.

ChampTypeDescription
method_idstringIdentifiant du moyen de paiement
method_titlestringNom affiché du moyen de paiement
amountnumberMontant appliqué à la commande
transaction_idstringID de transaction de la passerelle
tenderednumberMontant en espèces remis, le cas échéant
changenumberMonnaie rendue, le cas échéant

Variantes formatées : amount_display, tendered_display et change_display.

remboursements

Boucle avec {{#refunds}}...{{/refunds}}. Les montants de remboursement sont des valeurs absolues positives ; les modèles décident s'il faut ajouter un signe moins ou afficher un bloc distinct pour les articles retournés.

ChampTypeDescription
idnumberID de l'enregistrement de remboursement
datedate objectDate de création du remboursement
amountnumberTotal du remboursement
subtotalnumberSous-total de la ligne remboursée
tax_totalnumberTaxe remboursée
shipping_totalnumberMontant de livraison remboursé
shipping_taxnumberTaxe de livraison remboursée
reasonstringMotif du remboursement
refunded_by_idnumber/nullID de l'utilisateur ayant effectué le remboursement
refunded_by_namestringNom d'affichage de l'utilisateur ayant effectué le remboursement
refunded_paymentbooleanIndique si le paiement a été remboursé via la passerelle
destinationstringoriginal_method, cash ou manual
gateway_idstringID de la passerelle utilisée pour le remboursement
gateway_titlestringTitre d'affichage de la passerelle
processing_modestringMode de traitement fournisseur/manuel
linesarrayLignes de produits remboursés
feesarrayLignes de frais remboursés
shippingarrayLignes de livraison remboursées

Les champs des lignes de remboursement incluent name, sku, qty, total, total_incl, total_excl, line_total, unit_total et taxes. Les lignes de frais et de livraison remboursés utilisent label, total, total_incl, total_excl et taxes. Des variantes d'affichage sont ajoutées pour les totaux et les montants de taxe.

fiscal

Les champs fiscaux sont vides par défaut et alimentés par les intégrations fiscales ou l'enrichissement d'instantané de WCPOS Pro.

ChampTypeDescription
fiscal.immutable_idstringIdentifiant fiscal immuable
fiscal.receipt_numberstringNuméro de reçu fiscal
fiscal.sequencenumber/nullCompteur de séquence
fiscal.hashstringValeur de hachage/signature
fiscal.qr_payloadstringDonnées QR pour la vérification fiscale
fiscal.tax_agency_codestringCode de l'autorité fiscale
fiscal.signed_atstringHorodatage de la signature fiscale
fiscal.signature_excerptstringSignature tronquée pour l'affichage
fiscal.document_labelstringLibellé du document, par ex. Facture fiscale
fiscal.is_reprintbooleanIndique si ce rendu est une réimpression
fiscal.reprint_countnumberNombre de réimpressions
fiscal.extra_fieldsarray/objectValeurs spécifiques à la juridiction

presentation_hints

Ces champs sont principalement utilisés par le moteur de rendu et le formateur. Ils sont disponibles dans les modèles si nécessaire.

ChampTypeDescription
presentation_hints.display_taxstringincl, excl, hidden, itemized ou single
presentation_hints.prices_entered_with_taxbooleanIndique si les prix du catalogue incluent la taxe
presentation_hints.rounding_modestringParamètre d'arrondi des taxes WooCommerce
presentation_hints.localestringLangue utilisée pour le formatage
presentation_hints.timezonestringFuseau horaire du reçu
presentation_hints.currency_positionstringPosition du symbole monétaire
presentation_hints.currency_symbolstringSymbole monétaire
presentation_hints.price_thousand_separatorstringSéparateur des milliers
presentation_hints.price_decimal_separatorstringSéparateur décimal
presentation_hints.price_num_decimalsnumberNombre de décimales
presentation_hints.price_display_suffixstringSuffixe d'affichage des prix WooCommerce
presentation_hints.order_barcode_typestringType de code-barres utilisé par les modèles de galerie

i18n

Utilisez les libellés i18n au lieu de coder le texte en dur lorsque c'est possible :

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

Les clés courantes incluent 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, ainsi que les clés de libellé d'identifiant fiscal telles que store_tax_id_label_eu_vat et customer_tax_id_label_other. Des clés supplémentaires peuvent être ajoutées par des extensions.