Ir al contenido principal
Versión: 1.x

Referencia de datos de recibos

Las plantillas HTML sin lógica de WCPOS y las plantillas XML térmicas se renderizan a partir de la misma carga útil canónica de recibos. Utilice rutas con puntos de Mustache como {{order.number}}, {{store.name}} y {{totals.total_display}}. Las matrices se renderizan mediante secciones:

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

El contrato canónico lo genera en el servidor el constructor de datos de recibos de WCPOS, y el renderizador de recibos sin conexión de la aplicación lo replica. Los recibos se abren de inmediato con datos locales y luego se actualizan con la respuesta del servidor cuando está disponible; por ello, las plantillas personalizadas deben usar los campos siguientes en lugar de los métodos de pedidos de PHP.

Datos de recibos v1.1 añade campos registrados de precio normal, precio de venta antes de aplicar cupones y ahorro para cada línea de producto. También proporciona totales de ahorro del pedido, incluido un valor de Total ahorrado que combina el ahorro sobre el precio normal con los descuentos de WooCommerce sin modificar los totales ni los informes del pedido.

Datos de recibos v1.2 añade discount_type a cada fila de descuento: el tipo de cupón de WooCommerce que origina el descuento.

El recibo, por secciones​

Cada parte de un recibo impreso procede de una sección del contrato de datos. Pase el cursor por cualquiera de los lados para ver la correspondencia; haga clic para ir a los campos de esa sección. Todos los ejemplos de esta página utilizan el mismo pedido de muestra.

Tareas habituales de las plantillas​

La mayoría de las modificaciones de plantillas corresponden a uno de estos tres casos. Cada tarjeta muestra primero el resultado impreso y, después, el marcado exacto: cópielo en cualquier plantilla HTML sin lógica o XML térmica. La tercera tarjeta muestra un pedido heredado anterior a v1.9, no el pedido de muestra anterior.

2 × Granos de espresso29.00
34.00 · Ahorro −5.00
Tachar el precio normal
{{#lines}}
{{#line_savings}}
  <s>{{line_regular_total_display}}</s>
  {{i18n.savings}}: -{{line_savings_display}}
{{/line_savings}}
{{/lines}}
La condición de la sección oculta todo en los pedidos sin historial de precios registrado.
TOTAL59.97
Total ahorrado10.28
Añadir una fila de Total ahorrado
{{#totals.total_saved_complete}}
{{#totals.total_saved}}
  {{i18n.total_saved}}:
  {{totals.total_saved_display}}
{{/totals.total_saved}}
{{/totals.total_saved_complete}}
Hay dos condiciones: la fila desaparece si el historial de precios está incompleto o no se ha ahorrado nada.
1 × Granos de espresso14.50
17.00 Descuento −2.50
Reimprimir de forma segura un pedido anterior a v1.9
{{#lines}}
{{#line_savings}}
  {{^savings_in_discounts}}
    {{i18n.savings}}: -{{line_savings_display}}
  {{/savings_in_discounts}}
{{/line_savings}}
{{/lines}}
Los pedidos antiguos incluyen el ahorro dentro del descuento; esta condición evita que se imprima dos veces.

Ampliar los datos del recibo​

WCPOS mantiene el contrato anterior independiente del proveedor. Cuando un plugin necesita que el recibo incluya información que WooCommerce no modela, la añade mediante el filtro woocommerce_pos_receipt_data, del mismo modo que los plugins filtran los totales de pedido propios de WooCommerce. El filtro se ejecuta en cada recibo que genera el servidor: recibos en directo, instantáneas fiscales en el momento del pago, descargas PDF y plantillas PHP heredadas.

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 );

A continuación, una plantilla puede aplicar una condición a la nueva clave como a cualquier otra sección:

{{#discounts}}
{{#gift_card}}Gift Card{{/gift_card}}{{^gift_card}}{{i18n.discount}}{{/gift_card}}{{#label}}: {{label}}{{/label}}
{{/discounts}}

Las claves definidas en el esquema deben conservar los tipos documentados. Las claves añadidas no forman parte del esquema, por lo que no aparecen en el selector de campos del editor de plantillas; además, las instantáneas fiscales solo incluyen lo que añadió el filtro en el momento del pago del pedido. El filtro está disponible desde WCPOS 1.10.8.

Reglas de renderizado​

Campos monetarios​

Los campos monetarios numéricos se conservan como números y el renderizador añade campos _display adaptados a la configuración regional para usarlos en las plantillas:

Campo numéricoCampo de visualización
totals.totaltotals.total_display
lines[].line_totallines[].line_total_display
payments[].amountpayments[].amount_display
tax_summary[].tax_amounttax_summary[].tax_amount_display

Prefiera los campos _display al imprimir recibos. Utilice campos numéricos solo para secciones condicionales o salidas legibles por máquina.

Campos de visualización adaptados a impuestos​

Varios campos tienen variantes con impuestos incluidos y excluidos, además de un valor auxiliar para la visualización. Este valor sigue la configuración de visualización de impuestos del carrito de la tienda.

Campo auxiliarCampo con impuestos incluidosCampo con impuestos excluidos
lines[].regular_pricelines[].regular_price_incllines[].regular_price_excl
lines[].selling_pricelines[].selling_price_incllines[].selling_price_excl
lines[].unit_savingslines[].unit_savings_incllines[].unit_savings_excl
lines[].line_regular_totallines[].line_regular_total_incllines[].line_regular_total_excl
lines[].line_selling_totallines[].line_selling_total_incllines[].line_selling_total_excl
lines[].line_savingslines[].line_savings_incllines[].line_savings_excl
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.sale_savings_totaltotals.sale_savings_total_incltotals.sale_savings_total_excl
totals.total_savedtotals.total_saved_incltotals.total_saved_excl
totals.totaltotals.total_incltotals.total_excl

Objetos de fecha​

Los campos de fecha son objetos con varias variantes preformateadas. Así se evita dar formato a las fechas dentro de Mustache.

CampoDescripción
datetime, date, timeCadenas de fecha y hora predeterminadas
datetime_short, datetime_long, datetime_fullFormatos combinados adaptados a la configuración regional
date_short, date_long, date_fullFormatos de solo fecha adaptados a la configuración regional
date_ymd, date_dmy, date_mdyFormatos de fecha con orden fijo
weekday_short, weekday_longNombres de los días
day, month, month_short, month_long, yearPartes individuales de la fecha

Objetos de fecha disponibles: order.created, order.paid, order.completed, order.printed y refunds[].date. order.printed se actualiza en el momento del renderizado, lo que resulta útil para las reimpresiones.

Secciones de nivel superior​

SecciónTipoDescripción
orderobjetoIdentidad, estado, fechas, nota e información de la URL de pago del pedido
storeobjetoIdentidad de la tienda, dirección, datos de contacto, ID fiscales, logotipo, horario y texto de pie de página
cashierobjetoUsuario que procesó el pedido
customerobjetoNombre visible del cliente, direcciones e ID fiscales
linesmatrizLíneas de productos
feesmatrizFilas de tarifas
shippingmatrizFilas de envío
discountsmatrizFilas de cupones/descuentos
totalsobjetoTotales del pedido, totales de pago, resumen de reembolsos y cantidades de artículos
taxobjetoIndicadores del modo de visualización de impuestos para las condiciones de las secciones
tax_summarymatrizFilas de resumen de impuestos por tipo impositivo
has_tax_summarybooleanoCondición práctica para tax_summary
paymentsmatrizFilas de pagos
refundsmatrizRegistros de reembolsos aplicados al pedido
fiscalobjetoCampos de la instantánea fiscal rellenados por integraciones fiscales
presentation_hintsobjetoIndicaciones de formato y del renderizador
i18nobjetoEtiquetas traducidas para plantillas incluidas y personalizadas

Cómo se relacionan los precios​

Una línea de producto contiene varios precios, y sus nombres se entienden mejor al verlos aplicados al importe. Esta es la línea de espresso del pedido de muestra: un producto de $17.00 rebajado a $14.50, más un cupón del 10 %:

Granos de espresso — una unidad (el pedido contiene dos)
0precio normal 17.00
Lo que paga el clienteunit_price → 13.05 · line_total → 26.10
Descuento del cupón (SUMMER10)lines[].discounts → 2.90 en esta línea
Ahorro respecto al precio normalunit_savings → 2.50 · line_savings → 5.00
Ahorro por rebajas en todo el pedidototals.sale_savings_total = 5.00
Todos los descuentos de cupones del pedidototals.discount_total = 5.28
Ahorro + descuentos, sin solapamiento heredadototals.total_saved = 10.28

Los ahorros por rebajas y los descuentos de cupones son conceptos distintos: los ahorros por rebajas comparan el precio de venta con el precio normal registrado, mientras que discounts representa los cálculos de cupones propios de WooCommerce. Los totales e informes de pedidos de WooCommerce solo incluyen la parte correspondiente a los cupones; por eso existe total_saved, la cifra que se muestra al cliente y que combina ambos conceptos.

Referencia de campos​

La referencia completa de campos se organiza por secciones a continuación. Todo está contraído de forma predeterminada; expanda el grupo que necesite.

pedido — identidad, estado y fechas

pedido​

CampoTipoEjemplo / descripción
order.idnúmero1042
order.numbercadenaNúmero de pedido visible, por ejemplo, "1042"
order.currencycadenaCódigo de moneda ISO, por ejemplo, "USD"
order.customer_notecadenaNota del cliente/pedido
order.wc_statuscadenaSlug de estado sin procesar de WooCommerce, por ejemplo, "processing"
order.status_labelcadenaEtiqueta de estado traducida, incluidos los estados personalizados
order.created_viacadenaOrigen/canal, por ejemplo, "woocommerce-pos"
order.needs_paymentbooleanoIndica si se debe mostrar una sección de pago
order.payment_urlcadenaURL de pago del pedido, si está disponible
order.createdobjeto de fechaFecha de creación del pedido
order.paidobjeto de fechaFecha de pago; cadenas vacías si no se ha pagado
order.completedobjeto de fechaFecha de finalización; cadenas vacías si no se ha completado
order.printedobjeto de fechaMarca de tiempo de impresión/reimpresión durante el renderizado
tienda — identidad, dirección, contacto y horarios

tienda​

CampoTipoEjemplo / descripción
store.idnúmeroID de la tienda o ID histórico de tiendas eliminadas
store.namecadenaNombre visible de la tienda
store.address.address_1cadenaLínea 1 de la dirección postal
store.address.address_2cadenaLínea de apartamento/unidad
store.address.citycadenaCiudad/localidad
store.address.statecadenaEstado/región
store.address.postcodecadenaCódigo postal
store.address.countrycadenaCódigo de país ISO
store.address_linesmatrizLíneas de dirección preformateadas; recomendadas para la mayoría de las plantillas
store.tax_idsmatrizID fiscales empresariales estructurados; recorra esta matriz en lugar de usar un único ID fiscal
store.phonecadenaTeléfono de la tienda
store.emailcadenaCorreo electrónico de la tienda
store.logocadena/nuloURL del logotipo de la tienda o URI de datos
store.opening_hourscadena/nuloTexto compacto de los horarios de apertura
store.opening_hours_verticalcadena/nuloBloque de horarios de apertura en varias líneas
store.opening_hours_inlinecadena/nuloHorarios de apertura separados por comas
store.opening_hours_notescadena/nuloNotas de texto libre sobre los horarios de apertura
store.personal_notescadena/nuloNota personal o para el pie del recibo
store.policies_and_conditionscadena/nuloTexto sobre reembolsos, devoluciones o condiciones
store.footer_imprintcadena/nuloAviso legal del pie de página

Objetos de ID fiscal​

store.tax_ids y customer.tax_ids contienen objetos con la misma estructura:

CampoTipoDescripción
typecadenaIdentificador como eu_vat, de_steuernummer, au_abn, br_cpf, us_ein u other
valuecadenaValor del ID fiscal que se imprimirá
countrycadena/nuloCódigo de país ISO, si se conoce
labelcadena/nuloEtiqueta de visualización localizada, resuelta antes del renderizado

Ejemplo:

{{#store.tax_ids}}
{{label}}: {{value}}
{{/store.tax_ids}}
cajero — usuario que procesó el pedido

cajero​

CampoTipoEjemplo / descripción
cashier.idnúmeroID de usuario de WordPress; 0 cuando se desconoce
cashier.namecadenaNombre visible del cajero
cliente — nombre, direcciones e identificadores fiscales

cliente​

CampoTipoEjemplo / descripción
customer.idnúmero/nuloID del cliente o null si es un cliente invitado
customer.namecadenaNombre visible del cliente o etiqueta de cliente invitado
customer.billing_address.*objetoCampos de dirección de facturación de WooCommerce
customer.shipping_address.*objetoCampos de dirección de envío de WooCommerce
customer.tax_idsmatrizIdentificadores fiscales estructurados del cliente guardados como instantánea del pedido

Entre las claves de dirección habituales se incluyen first_name, last_name, company, address_1, address_2, city, state, postcode, country, email y phone.

líneas — artículos de productos

líneas​

Recorra los elementos con {{#lines}}...{{/lines}}. Los valores de ejemplo corresponden a la línea de espresso del pedido de ejemplo.

Cada campo monetario se proporciona en pareja: el número (úselo en las condiciones {{#…}} — cero y null ocultan la sección, y un campo null no tiene ninguna contraparte _display) y la cadena _display (úsela para mostrar el valor). Los campos marcados como incl/excl también incluyen variantes _incl y _excl, cada una con su propio _display.

keycadena
Clave de línea estable / ID del artículo del pedido.
key"412"
skucadena
SKU del producto.
sku"ESP-500"
namecadena
Nombre del producto o de la línea que se muestra.
name"Espresso Beans"
qtynúmero
Cantidad vendida.
qty2
qty_refundednúmero
Cantidad reembolsada de esta línea.
qty_refunded0
regular_pricenúmerodineroadmite nulosincl./excl.
Precio unitario normal registrado. null en pedidos sin historial de precios de POS — inclúyalo dentro de una sección.
regular_price17
regular_price_display"$17.00"
selling_pricenúmerodineroadmite nulosincl./excl.
Precio unitario de venta antes de los cupones — el precio registrado en POS cuando está disponible; de lo contrario, se calcula a partir del subtotal de línea almacenado.
selling_price14.5
selling_price_display"$14.50"
unit_savingsnúmerodineroadmite nulosincl./excl.
Precio normal menos precio de venta, con un mínimo de cero. Cero se evalúa como falso, por lo que las filas protegidas por una condición se ocultan.
unit_savings2.5
unit_savings_display"$2.50"
line_regular_totalnúmerodineroadmite nulosincl./excl.
Precio normal registrado multiplicado por la cantidad.
line_regular_total34
line_regular_total_display"$34.00"
line_selling_totalnúmerodineroadmite nulosincl./excl.
Precio de venta antes de los cupones multiplicado por la cantidad.
line_selling_total29
line_selling_total_display"$29.00"
line_savingsnúmerodineroadmite nulosincl./excl.
Ahorro total entre el precio normal y el precio de venta de esta línea.
line_savings5
line_savings_display"$5.00"
savings_in_discountsbooleano
Verdadero en pedidos anteriores a v1.9.0 cuyo ahorro ya está incluido en discounts — indicador para evitar el doble recuento.
savings_in_discountsfalse
unit_subtotalnúmerodineroincl./excl.
Valor unitario anterior a los descuentos de WooCommerce. No lo use como precio normal.
unit_subtotal14.5
unit_subtotal_display"$14.50"
unit_pricenúmerodineroincl./excl.
Valor unitario final después de los descuentos de WooCommerce.
unit_price13.05
unit_price_display"$13.05"
line_subtotalnúmerodineroincl./excl.
Subtotal de línea anterior a los descuentos de WooCommerce.
line_subtotal29
line_subtotal_display"$29.00"
discountsnúmerodineroincl./excl.
Descuento nativo de WooCommerce en la línea, expresado como valor positivo — solo cupones en los pedidos actuales.
discounts2.9
discounts_display"$2.90"
line_totalnúmerodineroincl./excl.
Total final de línea después de los cupones — el importe que se muestra en la columna de importe.
line_total26.1
line_total_display"$26.10"
total_refundednúmerodinero
Total reembolsado de esta línea, expresado como valor positivo.
total_refunded0
total_refunded_display"$0.00"
taxesmatriz
Filas de impuestos por tipo para esta línea.
—
metamatriz
Metadatos del artículo del pedido como pares {key, value}.
—
attributesmatriz
Atributos del producto/variación como pares {key, value}.
—

Mostrar el precio normal y los ahorros​

Para un diseño con precios unitarios, muestre el precio normal registrado, el precio de venta y el ahorro de esta forma:

{{#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}}

Use los campos de total de línea cuando la cantidad sea relevante:

{{#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 es el precio anterior a los cupones. Use unit_price o line_total para el importe final después de los descuentos de WooCommerce.

Reimpresión de pedidos creados antes de v1.9.0

Es posible que los pedidos antiguos de WCPOS ya incluyan en discounts la reducción del precio normal al precio de venta. Si su plantilla personalizada muestra tanto los ahorros de línea como los descuentos de línea, use savings_in_discounts para no mostrar dos veces la misma reducción:

{{#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}}

Si la plantilla no muestra una fila discounts por línea, siga mostrando line_savings aunque savings_in_discounts sea true. Las plantillas incluidas gestionan esta distinción automáticamente.

tarifas y envío

tarifas y envío​

Recorra los elementos con {{#fees}}...{{/fees}} y {{#shipping}}...{{/shipping}}.

CampoTipoDescripción
labelcadenaEtiqueta de la tasa o nombre del método de envío
method_idcadenaID del método de envío (solo para el envío)
total / _incl / _exclnúmeroTotales mostrados, con impuestos incluidos y con impuestos excluidos
taxesmatrizFilas de impuestos por tipo
metamatrizPares de metadatos {key, value}

Variantes con formato: total_display, total_incl_display y total_excl_display.

descuentos — filas de cupones/descuentos

descuentos​

Recorra los elementos con {{#discounts}}...{{/discounts}}.

CampoTipoDescripción
labelcadenaDescripción del cupón o código alternativo
codecadenaCódigo del cupón
discount_typecadenaIdentificador de tipo del cupón de WooCommerce, por ejemplo fixed_cart, percent o fixed_product. Está vacío si el cupón ya no existe.
total / _incl / _exclnúmeroImporte del descuento como valor positivo

Variantes con formato: total_display, total_incl_display y total_excl_display. Añada su propio signo menos en la plantilla si desea mostrar los descuentos como filas negativas.

discount_type se añadió en Receipt Data v1.2. Las instantáneas de recibos fiscales capturadas antes de esa versión no lo incluyen.

totales — totales del pedido, pago, reembolso y artículos

totales​

Los valores de ejemplo proceden del pedido de ejemplo, que posteriormente recibió un reembolso parcial de $7.25.

Los campos monetarios siguen el mismo formato en pareja que las líneas de artículos: un número sin sufijo para las condiciones y una cadena _display para mostrarlo, con variantes _incl/_excl cuando se indiquen.

subtotalnúmerodineroincl./excl.
Subtotal del pedido antes de los descuentos.
subtotal52.75
subtotal_display"$52.75"
discount_totalnúmerodineroincl./excl.
Descuento total del pedido como valor positivo — solo cupones en los pedidos actuales.
discount_total5.28
discount_total_display"$5.28"
sale_savings_totalnúmerodineroadmite nulosincl./excl.
Ahorro total registrado de precio normal a precio de venta en las líneas de producto, incluidas las rebajas del catálogo y los cambios de precio en caja.
sale_savings_total5
sale_savings_total_display"$5.00"
total_savednúmerodineroadmite nulosincl./excl.
Descuentos de WooCommerce y ahorros sobre el precio normal combinados, sin solapamientos heredados. Es la única cifra dirigida al cliente que refleja todo lo ahorrado.
total_saved10.28
total_saved_display"$10.28"
total_saved_completebooleano
Indica si el recibo contiene suficientes datos de precios registrados para calcular los ahorros totales completos.
total_saved_completetrue
tax_totalnúmerodinero
Importe total de impuestos.
tax_total0
tax_total_display"$0.00"
totalnúmerodineroincl./excl.
Total general del pedido.
total59.97
total_display"$59.97"
paid_totalnúmerodinero
Importe pagado/aplicado.
paid_total59.97
paid_total_display"$59.97"
change_totalnúmerodinero
Cambio devuelto al cliente.
change_total0
change_total_display"$0.00"
refund_totalnúmerodinero
Total reembolsado como valor positivo.
refund_total7.25
refund_total_display"$7.25"
net_totalnúmerodinero
Total menos reembolsos, con un mínimo de cero.
net_total52.72
net_total_display"$52.72"
total_qtynúmero
Suma de las cantidades de los artículos de línea.
total_qty4
line_countnúmero
Número de filas de líneas de producto.
line_count3

Use total_saved cuando necesite una única cifra dirigida al cliente que refleje todo lo ahorrado. No lo calcule sumando discount_total y sale_savings_total en la plantilla: es posible que los pedidos creados antes de v1.9.0 ya incluyan el ahorro de precio de POS en el total de descuentos de WooCommerce. El campo canónico total_saved detecta y elimina ese solapamiento.

Los totales de ahorro son null y total_saved_complete es false cuando alguna línea de producto no tiene suficientes datos de precios registrados para obtener un total fiable. Proteja la fila con total_saved_complete y, a continuación, use total_saved para ocultar un valor cero:

{{#totals.total_saved_complete}}
{{#totals.total_saved}}
<span>{{i18n.total_saved}}: {{totals.total_saved_display}}</span>
{{/totals.total_saved}}
{{/totals.total_saved_complete}}

Las plantillas incluidas que muestran precios usan la misma estructura de condiciones con las variantes que incluyen impuestos (total_saved_incl y total_saved_incl_display) y muestran Total ahorrado solo cuando el valor completo es superior a cero.

tax y tax_summary — condiciones de visualización y filas por tipo

tax y tax_summary​

Use tax para las condiciones del modo de visualización y tax_summary para las filas desglosadas por tipo.

Campo de impuestosTipoDescripción
tax.displaycadenaincl o excl
tax.display_inclbooleanoVerdadero cuando los precios se muestran con impuestos incluidos
tax.display_exclbooleanoVerdadero cuando los precios se muestran sin impuestos
tax.breakdowncadenahidden, single o itemized
tax.breakdown_hiddenbooleanoVerdadero cuando deben ocultarse las filas de impuestos
tax.breakdown_singlebooleanoVerdadero cuando se prefiere un único total de impuestos
tax.breakdown_itemizedbooleanoVerdadero cuando se prefieren filas por tipo impositivo
has_tax_summarybooleanoVerdadero cuando tax_summary contiene filas

Recorra tax_summary con {{#tax_summary}}...{{/tax_summary}}.

CampoTipoDescripción
codecadenaID/código del tipo impositivo
ratenúmero/nuloPorcentaje del tipo impositivo cuando se ha resuelto
labelcadenaEtiqueta del tipo impositivo
compoundbooleanoIndica si el tipo impositivo es compuesto
taxable_amount_exclnúmero/nuloBase imponible sin impuestos
tax_amountnúmeroImpuestos recaudados
taxable_amount_inclnúmero/nuloBase imponible con impuestos

Variantes formateadas: taxable_amount_excl_display, tax_amount_display y taxable_amount_incl_display.

payments — filas de pago

payments​

Recorra los elementos con {{#payments}}...{{/payments}}.

CampoTipoDescripción
method_idcadenaIdentificador del método de pago
method_titlecadenaTítulo visible del método de pago
amountnúmeroImporte aplicado al pedido
transaction_idcadenaID de transacción de la pasarela
tenderednúmeroImporte en efectivo entregado, si está disponible
changenúmeroCambio en efectivo devuelto, si está disponible

Variantes formateadas: amount_display, tendered_display y change_display.

refunds — registros de reembolso

refunds​

Recorra los elementos con {{#refunds}}...{{/refunds}}. Los importes de los reembolsos son magnitudes positivas; las plantillas deciden si anteponen un signo menos o muestran un bloque independiente para los artículos devueltos.

CampoTipoDescripción
idnúmeroID del registro de reembolso
dateobjeto de fechaFecha de creación del reembolso
amountnúmeroTotal del reembolso
subtotalnúmeroSubtotal de las líneas reembolsadas
tax_totalnúmeroImpuestos reembolsados
shipping_totalnúmeroImporte de envío reembolsado
shipping_taxnúmeroImpuestos de envío reembolsados
reasoncadenaMotivo del reembolso
refunded_by_idnúmero/nuloID del usuario que emitió el reembolso
refunded_by_namecadenaNombre visible del usuario que emitió el reembolso
refunded_paymentbooleanoIndica si el pago se reembolsó a través de la pasarela
destinationcadenaoriginal_method, cash o manual
gateway_idcadenaID de la pasarela utilizada para el reembolso
gateway_titlecadenaTítulo visible de la pasarela
processing_modecadenaModo de procesamiento del proveedor/manual
linesmatrizFilas de productos reembolsados
feesmatrizFilas de tarifas reembolsadas
shippingmatrizFilas de envío reembolsadas

Los campos de las líneas de reembolso incluyen name, sku, qty, total, total_incl, total_excl, line_total, unit_total y taxes. Las filas de tarifas y envíos reembolsados usan label, total, total_incl, total_excl y taxes. Se añaden variantes de visualización para los totales y los importes de impuestos.

fiscal — instantánea de integración fiscal

fiscal​

De forma predeterminada, los campos fiscales están vacíos y las integraciones fiscales o el enriquecimiento de instantáneas de WCPOS Pro los rellenan.

CampoTipoDescripción
fiscal.immutable_idcadenaIdentificador fiscal inmutable
fiscal.receipt_numbercadenaNúmero de recibo fiscal
fiscal.sequencenúmero/nuloContador de secuencia
fiscal.hashcadenaValor hash/firma
fiscal.qr_payloadcadenaContenido QR para la verificación fiscal
fiscal.tax_agency_codecadenaCódigo de la autoridad fiscal
fiscal.signed_atcadenaMarca de tiempo de firma fiscal
fiscal.signature_excerptcadenaFirma truncada para mostrar
fiscal.document_labelcadenaEtiqueta del documento, por ejemplo, Factura fiscal
fiscal.is_reprintbooleanoIndica si esta representación es una reimpresión
fiscal.reprint_countnúmeroNúmero de reimpresiones
fiscal.extra_fieldsmatriz/objetoValores específicos de la jurisdicción
presentation_hints — sugerencias de formato y representación

presentation_hints​

Estos campos los utilizan principalmente el renderizador y el formateador. Están disponibles para las plantillas cuando se necesitan.

CampoTipoDescripción
presentation_hints.display_taxcadenaincl, excl, hidden, itemized o single
presentation_hints.prices_entered_with_taxbooleanoIndica si los precios del catálogo incluyen impuestos
presentation_hints.rounding_modecadenaConfiguración de redondeo de impuestos de WooCommerce
presentation_hints.localecadenaConfiguración regional usada para el formato
presentation_hints.timezonecadenaZona horaria del recibo
presentation_hints.currency_positioncadenaPosición del símbolo de moneda
presentation_hints.currency_symbolcadenaSímbolo de moneda
presentation_hints.price_thousand_separatorcadenaSeparador de miles
presentation_hints.price_decimal_separatorcadenaSeparador decimal
presentation_hints.price_num_decimalsnúmeroNúmero de decimales
presentation_hints.price_display_suffixcadenaSufijo de visualización del precio de WooCommerce
presentation_hints.order_barcode_typecadenaTipo de código de barras usado por las plantillas de galería

Los campos monetarios con formato previo (los valores *_display, como totals.total_display) muestran los importes con el símbolo de moneda del pedido, usando la posición y los separadores anteriores; así, los recibos muestran $12.00, no USD 12.00. El campo sin formato order.currency sigue siendo el código ISO para cualquier lógica de la plantilla.

i18n — etiquetas traducidas

i18n​

Siempre que sea posible, use las etiquetas de i18n en lugar de codificar texto directamente:

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

Entre las claves habituales se incluyen 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 y las claves de etiquetas de ID fiscal, como store_tax_id_label_eu_vat y customer_tax_id_label_other. Las extensiones pueden añadir otras claves.