Los siguientes ejemplos en formato JSON ilustran el caso práctico de un ingreso o recarga en una tarjeta de cliente («vale multiuso») y el posterior canje de este crédito durante una venta.
1. Recarga de la tarjeta de cliente
El primer recibo muestra la recarga del vale multiuso. El importe se abona en efectivo y se contabiliza en la caja registradora como ingreso, sin Vat. Con esta recarga, aún no se produce ninguna operación sujeta a impuestos, ya que todavía no se ha determinado cómo se utilizará el crédito.
{
"ModelVersion": "1.4.0",
"UniqueClientId": "2a296a14-f644-4f3f-9ea2-d3f00a3b587c",
"fiscalDocumentNumber": "8",
"fiscalDocumentStartTime": 1743161079,
"fiscalDocumentRevision": 1,
"AdditionalFields": {},
"AutomaticVatCalculation": 0,
"DocumentGuid": "a5f35b65-b5fc-45c8-9b8f-10543c19fa68",
"DocumentId": "946398c5-d72c-450d-9cdd-8f4d49c5643d",
"CreateDate": "2025-03-28T12:26:28.4312186+01:00",
"BookDate": "2025-03-28T12:26:28.4322612+01:00",
"DocumentType": "[0] = Receipt",
"User": {
"Id": "123",
"Caption": "TestUser",
"firstName": "Test",
"lastName": "Test",
"dateOfEntry": "2020-01-01T08:00:00+01:00"
},
"Positions": [
{
"Type": "[0] = Item",
"ItemId": "MPV-0001",
"ItemCaption": "Deposit via Loyalty Card (MultiPurposeVoucher)",
"BusinessTransactionType": "[4] = MultiPurposeVoucher",
"Quantity": 1,
"VatIdentification": 5,
"VatPercent": 0.0,
"NetValue": 100.0,
"GrossValue": 100.00,
"TaxValue": 0.00,
"PositionNumber": 0,
"AdditionalFields": {
"VoucherId": "MPV-0001"
},
"ExternalIdentifier": []
}
],
"Payments": [
{
"Amount": 100.00,
"CurrencyIsoCode": "EUR",
"UniqueReadablePaymentIdentifier": "CASH",
"caption": "Cash+Euro",
"AdditionalFields": {},
"PaymentType": 0,
"ExternalIdentifier": []
}
],
"FiscalAdditionalFields": {}
}
En este ejemplo, la partida «Ingreso mediante tarjeta de fidelidad» se marca como un vale multiuso. El pago se realiza en efectivo (100 EUR) y no se aplica ningún tipo de Vat.
Los siguientes elementos son fundamentales:
| Elemento JSON | Significado |
| «BusinessTransactionType»: «[4] = MultiPurposeVoucher» |
Identifica la transacción comercial como la venta de un vale multiuso |
| «AdditionalFields»: { «VoucherId»: «MPV-0001» } | Establece la conexión técnica con el proceso de recarga original |
2. Canje mediante la tarjeta de cliente
El segundo recibo muestra la venta de bienes (por ejemplo, flores), que ahora se abonan en parte con el crédito recargado previamente y en parte en efectivo.
{
"UniqueClientId": "2a296a14-f644-4f3f-9ea2-d3f00a3b587c",
"AdditionalFields": {},
"DocumentGuid": "4dc6f469-4481-4ae3-9b7e-f9b729901698",
"DocumentId": "4dc6f469-4481-4ae3-9b7e-f9b729901698",
"CreateDate": "2025-03-28T12:32:28.4312186+01:00",
"BookDate": "2025-03-28T12:32:28.4322612+01:00",
"DocumentNumber": "001",
"DocumentType": "[0] = Receipt",
"User": {
"Id": "123",
"Caption": "TestUser"
},
"fiscalDocumentNumber": "9",
"fiscalDocumentStartTime": 1743161104,
"fiscalDocumentRevision": 1,
"Positions": [
{
"ItemCaption": "Flower green",
"ItemShortCaption": null,
"Discounts": [],
"Type": 0,
"UseSubItemVatCalculation": true,
"SubItems": null,
"InHouse": false,
"Quantity": 9.0,
"QuantityUnit": null,
"ItemId": "000714",
"BaseNetValue": 32.52,
"BaseGrossValue": 38.70,
"BaseTaxValue": 6.18,
"GTIN": null,
"BusinessTransactionType": 0,
"VatIdentification": 1,
"VatPercent": 19.0,
"NetValue": 32.52,
"GrossValue": 38.70,
"TaxValue": 6.18,
"AccountingIdentifier": null,
"PositionNumber": 0,
"PositionReference": null,
"CancellationPosition": false
},
{
"ItemCaption": "Wedding bouquet",
"ItemShortCaption": null,
"Discounts": [],
"Type": 0,
"UseSubItemVatCalculation": true,
"SubItems": null,
"InHouse": false,
"Quantity": 3.0,
"QuantityUnit": null,
"ItemId": "001180",
"BaseNetValue": 57.48,
"BaseGrossValue": 68.40,
"BaseTaxValue": 10.92,
"GTIN": "8718274490558",
"BusinessTransactionType": 0,
"VatIdentification": a1,
"VatPercent": 19.0,
"NetValue": 57.48,
"GrossValue": 68.40,
"TaxValue": 10.92,
"AccountingIdentifier": null,
"PositionNumber": 1,
"PositionReference": null,
"CancellationPosition": false
}
],
"Payments": [
{
"Amount": 100.00,
"PaymentType": "MultiPurposeVoucher",
"CurrencyIsoCode": "EUR",
"Caption": "Loyalty Card",
"UniqueReadablePaymentIdentifier": "MPV-0001",
"VatIdentification": 5,
"TaxValue": 0.0,
"VatPercent": 0.0,
"AdditionalFields": {
"VoucherId": "MPV-0001"
}
},
{
"Amount": 7.10,
"PaymentType": "cash",
"CurrencyIsoCode": "EUR",
"Caption": "Cash+Euro",
"UniqueReadablePaymentIdentifier": "CASH",
"ForeignAmount": 0.0,
"ForeignAmountExchangeRate": 0.0
}
]
}
Solo en este momento, al canjearlo mediante la compra de bienes, se produce la operación sujeta a impuestos y se devenga el Vat. El pago se realiza en parte mediante el vale multiuso (tarjeta de cliente) y en parte en efectivo. En este escenario, el importe recargado previamente (primer ejemplo) se utiliza ahora efectivamente, lo que resulta relevante a efectos del Vat en el momento del canje.
Los siguientes elementos son fundamentales:
| Elemento JSON | Significado |
| «PaymentType»: «[4] = “MultiPurposeVoucher”» | Identifica el pago como canje de un vale multiuso (p. ej., tarjeta de cliente) |
| «UniqueReadablePaymentIdentifier»: «MPV-0001» | Identificador único legible del método de pago, que en este caso identifica el vale multiuso |
| «VatIdentification»: 5 y «VatPercent»: 0,0 | Indica que no se aplica el Vat al canje del vale en sí |
| «AdditionalFields»: { «VoucherId»: «MPV-0001» } | Establece la conexión con el proceso de recarga original |
Notas importantes sobre la implementación
Al implementar vales multiuso o pagos con tarjetas de cliente en el sistema TPV, deben considerarse los siguientes puntos:
- Para recargar la tarjeta de cliente:
- La transacción comercial debe marcarse como un vale multiuso (BusinessTransactionType = 4)
- El ID del vale debe almacenarse en el campo «AdditionalFields» con la clave «VoucherId»
- Para canjear el crédito:
- Debe utilizarse el mismo ID de vale en el pago, tanto en «UniqueReadablePaymentIdentifier» como en «AdditionalFields»
- Se aplica el tipo de IVA a los productos vendidos
- El canje se marca como «PaymentType»: «[4] = MultiPurposeVoucher».
Este artículo ha sido traducido automáticamente.
Comentarios
0 comentarios
Inicie sesión para dejar un comentario.