Buoni monouso: emissione e utilizzo
Quando un buono monouso viene venduto o emesso, l’IVA viene applicata immediatamente, poiché la tipologia dei beni o dei servizi e la relativa natura IVA sono già noti. La tassazione, quindi, avviene al momento dell’emissione e non al riscatto.
Dal punto di vista tecnico, l’approccio corretto per gestire l’emissione e il riscatto dei buoni monouso con SIGN IT lite è il seguente:
Emissione del buono
-
Assegnare un nome al buono in
entries[].data.text -
Indicare l’aliquota IVA in
entries[].data.vat
{ "content": { "type": "TRANSACTION", "record": { "id": "{{recordIntentionIdA}}" }, "operation": { "type": "RECEIPT", "document": { "number": "INV-123456", "total_vat": { "amount": "18.03278689", "exclusive": "81.96721311", "inclusive": "100.00" } }, "entries": [ { "type": "SALE", "details": { "concept": "GOOD" }, "data": { "type": "ITEM", "text": "Voucher for service XYZ - Nr. 2345", "unit": { "quantity": "1", "price": "100.00" }, "value": { "base": "81.96721311" }, "vat": { "type": "VAT_RATE", "code": "STANDARD", "percentage": "22.00", "exclusive": "81.96721311", "inclusive": "100", "amount": "18.03278689" } } } ], "customer": { "type": "EXTERNAL" }, "payments": [ { "type": "CASH", "details": { "amount":"100.00" } } ] } }}**Riscatto del buono **
Il tipo di pagamento VOUCHER non è abilitato in SIGN IT lite. Tuttavia, dal punto di vista tecnico, è possibile registrare il buono monouso come sconto a livello di riga.
Scenario 1 – Il buono copre parte dell’acquisto
Esempio 1A Buono da €100 utilizzato per l’acquisto di un bene da €200 → i restanti €100 vengono pagati con un altro metodo di pagamento.
-
Specificare il bene acquistato.
-
Indicare l’aliquota IVA in
entries[].data.vat -
Registrare il buono come sconto a livello di riga. In questo modo, l’IVA viene calcolata esclusivamente sulla base imponibile residua (
vat.exclusive), al netto dell’importo del buono. L’IVA relativa alla quota coperta dal buono è stata già assolta al momento dell’emissione del buono stesso.
{ "content": { "type": "TRANSACTION", "record": { "id": "{{intentionId}}" }, "operation": { "type": "RECEIPT", "document": { "number": "INV-12345", "total_vat": { "exclusive": "81.96721311", "inclusive": "100", "amount": "18.03278689" } }, "entries": [ { "type": "SALE", "details": { "concept": "GOOD" }, "data": { "type": "ITEM", "text": "Prodotto XYZ", "unit": { "quantity": "1", "price": "200.00" }, "value": { "base": "163.93442623", "discount": "100.00" }, "vat": { "type": "VAT_RATE", "code": "STANDARD", "percentage": "22.00", "exclusive": "81.96721311", "inclusive": "100", "amount": "18.03278689" } } } ], "customer": { "type": "EXTERNAL" }, "payments": [ { "type": "CASH", "details": { "amount": "100.00" } } ] } }}Esempio 1B Buono da €100 utilizzato per l’acquisto di un bene da €90 e di un bene da €20 → i restanti €10 vengono pagati con un altro metodo di pagamento.
-
Specificare i beni acquistati.
-
Indicare l’aliquota IVA in
entries[].data.vat -
Distribuire il buono come sconto a livello di riga tra le due voci, mantenendo ciascuno sconto al di sotto del
unit.price.
Nota: il portale AdE non consente che value.discount sia uguale o superiore all’importo totale della riga (unit.price x unit.quantity), altrimenti restituisce un Validation Error. Per evitare questo problema, una possibile rappresentazione tecnica per questo esempio è la seguente:
- Per la voce da €90, inserire €89.99 come
value.discount - Per la voce da €20, inserire €10.01 come
value.discount
{ "content": { "type": "TRANSACTION", "record": { "id": "{{intentionId}}" }, "operation": { "type": "RECEIPT", "document": { "number": "INV-12345", "total_vat": { "exclusive": "8.19672131", "inclusive": "10.00", "amount": "1.80327869" } }, "entries": [ { "type": "SALE", "details": { "concept": "GOOD" }, "data": { "type": "ITEM", "text": "Prodotto A", "unit": { "quantity": "1", "price": "90.00" }, "value": { "base": "73.77049180", "discount": "89.99" }, "vat": { "type": "VAT_RATE", "code": "STANDARD", "percentage": "22.00", "exclusive": "0.00819672", "inclusive": "0.01", "amount": "0.00180328" } } }, { "type": "SALE", "details": { "concept": "GOOD" }, "data": { "type": "ITEM", "text": "Prodotto B", "unit": { "quantity": "1", "price": "20.00" }, "value": { "base": "8.18032787", "discount": "10.01" }, "vat": { "type": "VAT_RATE", "code": "STANDARD", "percentage": "22.00", "exclusive": "8.18852459", "inclusive": "9.99", "amount": "1.80147541" } } } ], "customer": { "type": "EXTERNAL" }, "payments": [ { "type": "CASH", "details": { "amount": "10.00" } } ] } }}Scenario 2 – Il buono copre l’intero importo dell’acquisto Esempio: buono da €100 utilizzato per l’acquisto di un bene da €100 → nessun pagamento aggiuntivo richiesto.
-
Specificare il bene acquistato.
-
Indicare l’aliquota IVA in
entries[].data.vat -
Registrare il buono come sconto a livello di riga.
Nota: il portale AdE non consente che value.discount sia uguale o superiore all’importo totale della riga (unit.price x unit.quantity), altrimenti restituisce un Validation Error. Per evitare questo problema, se il voucher copre esattamente l’intero prezzo della riga — come in questo scenario —, è possibile utilizzare il seguente workaround tecnico per soddisfare la validazione del portale:
- Aggiungere €0.01 a
unit.priceOPPURE ridurrevalue.discountdi €0.01, così da creare una piccola differenza tra i due valori. - Recuperare poi quel centesimo applicando uno sconto di €0.01 a livello di pagamento tramite
details.discount. In questo modo, l’importo netto addebitato al cliente rimane corretto, soddisfacendo al contempo la validazione del portale.
{ "content": { "type": "TRANSACTION", "record": { "id": "{{intentionId}}" }, "operation": { "type": "RECEIPT", "document": { "number": "INV-12345", "total_vat": { "exclusive": "0.00819672", "inclusive": "0.01", "amount": "0.00180328" } }, "entries": [ { "type": "SALE", "details": { "concept": "GOOD" }, "data": { "type": "ITEM", "text": "Prodotto XYZ", "unit": { "quantity": "1", "price": "100.01" }, "value": { "base": "81.97540984", "discount": "100.00" }, "vat": { "type": "VAT_RATE", "code": "STANDARD", "percentage": "22.00", "exclusive": "0.00819672", "inclusive": "0.01", "amount": "0.00180328" } } } ], "customer": { "type": "EXTERNAL" }, "payments": [ { "type": "CASH", "details": { "amount": "0.00", "discount": "0.01" } } ] } }}Nota: L’aggiustamento di €0.01 introdotto per soddisfare la validazione del portale AdE nello Scenario 2 comporta che venga riportato un importo IVA piccolo ma non nullo, anche quando il voucher copre interamente l’acquisto. Se ciò non è desiderabile, è possibile utilizzare VAT_EXEMPTION come alternativa tecnica a VAT_RATE, ottenendo un’IVA pari a zero. In entrambi i casi, poiché questa scelta ha implicazioni sulla dichiarazione IVA, si raccomanda di verificare l’approccio più corretto con il proprio consulente fiscale.
Nota:
fiskaly non è autorizzata a fornire consulenza fiscale. Per domande di natura fiscale, rivolgiti al tuo consulente fiscale, revisore o avvocato.
Was this page helpful?