L'Agenzia delle Entrate richiede l'inserimento di unit.quantity, unit.price, vat.type/code/percentage e value.discount per calcolare gli altri valori. Per questi campi sono consentite solo 2 cifre decimali.
Livello di riga (entry)
vat.amountevat.inclusivevengono arrotondati all'ottava cifra decimale.
value.baseevat.exclusivenon sono mappati al portale AdE, ma si consiglia di calcolarli in modo coerente con la logica descritta sopra per garantire l'accuratezza del calcolo divat.amount.
Livello totali documento
total_vat.amount: il valore fornito tramite SIGN IT lite viene ricalcolato e sovrascritto dal portale dell'Agenzia delle Entrate come somma degli importi IVA a livello delle singole entries. Tale valore viene arrotondato dall’AdE (in background) all’ottava cifra decimale.
payments[].amount,payments[].discountetotal_vat.inclusivesono arrotondati a 2 cifre decimali.
Il valore fornito tramite SIGN IT lite pertotal_vat.inclusiveviene ignorato dal portale AdE, in quanto calcolato internamente dall'Agenzia delle Entrate sulla base delle singole entries.
total_vat.exclusive: il valore fornito tramite SIGN IT lite viene ignorato dal portale AdE, in quanto calcolato internamente dall'Agenzia delle Entrate sulla base delle singole entries.
| Campo API | Definizione | Formula |
value.base | Importo totale della riga (IVA esclusa) prima degli sconti |
Nota: |
vat.inclusive | Importo totale della riga (IVA inclusa) dopo gli sconti, se applicabili |
Nota: |
vat.exclusive | Importo totale della riga (IVA esclusa) dopo gli sconti, se applicabili | vat.inclusive ÷ (1 + (vat.percentage ÷ 100)) |
vat.amount | Importo IVA | vat.inclusive - vat.exclusive |
Seguendo queste linee guida si evitano:
- Avvisi di validazione - WARNING
"Validation checks failed.. Reasons: Received total VAT amount XXX is not equal to Tax Agency computed total VAT amount XXX"
- Errori di trasmissione - ERROR
"Validation checks failed.. Reasons: La somma delle tipologie di pagamento non risulta uguale al Totale complessivo"
Esempio di payload
{
"content": {
"type": "TRANSACTION",
"record": {
"id": "{{recordIntentionIdA}}"
},
"operation": {
"type": "RECEIPT",
"document": {
"number": "INV-12346",
"total_vat": {
"amount": "1.15104322",
"exclusive": "9.19895678",
"inclusive": "10.35"
}
},
"entries": [
{
"type": "SALE",
"details": {
"concept": "GOOD"
},
"data": {
"type": "ITEM",
"text": "Prod A",
"unit": {
"quantity": "1.00",
"price": "9.00"
},
"value": {
"base": "8.18181818",
"discount": "1.00"
},
"vat": {
"type": "VAT_RATE",
"code": "REDUCED_1",
"percentage": "10.00",
"exclusive": "7.27272727",
"inclusive": "8.00",
"amount": "0.72727273"
}
}
},
{
"type": "SALE",
"details": {
"concept": "GOOD"
},
"data": {
"type": "ITEM",
"text": "Prod B",
"unit": {
"quantity": "2.00",
"price": "1.20"
},
"value": {
"base": "1.96721311",
"discount": "0.05"
},
"vat": {
"type": "VAT_RATE",
"code": "STANDARD",
"percentage": "22.00",
"exclusive": "1.92622951",
"inclusive": "2.35",
"amount": "0.42377049"
}
}
}
],
"customer": {
"type": "EXTERNAL"
},
"payments": [
{
"type": "CASH",
"details": {
"amount": "10.35"
}
}
]
}
}
}