I pagamenti vengono trasmessi in payments[] sull'operazione di fattura. L'array accetta da 1 a 10 elementi. I campi da valorizzare dipendono dal fatto che la fattura sia già stata saldata oppure no.
Pagamento già incassato
Si seleziona il tipo di pagamento applicabile — CASH, CARD, ONLINE, VOUCHER o OTHER — e si valorizza details.amount. Alcuni tipi richiedono campi aggiuntivi:
| Tipo | Campi aggiuntivi richiesti |
| CASH | — |
| CARD | number, kind |
| VOUCHER | number, kind |
| ONLINE | name |
| OTHER | — (name è facoltativo) |
Facoltativamente, details può contenere anche date, discount e properties. La currency del primo pagamento dell'array determina la valuta dell'intera fattura ed EUR è l'unico valore accettato.
I pagamenti di questi tipi risultano già incassati e riducono l'importo che l'acquirente deve ancora corrispondere sulla fattura. Gli scenari possibili sono 2:
- Se coprono il totale della fattura, non serve altro.
- Se non lo coprono, si aggiunge un pagamento
OUTSTANDINGper l'importo residuo; in caso contrario la fattura viene rifiutata perché gli importi non quadrano.
Pagamento ancora da incassare
Si utilizza payments[].type: "OUTSTANDING". payments[].concept è richiesto e indica se l'importo residuo riguarda un GOOD, un SERVICE o una INVOICE.
OUTSTANDING prevede un oggetto details:
details.amountè richiesto e contiene l'importo ancora dovuto.- anche
details.dateè richiesto e imposta la data di scadenza del pagamento: un pagamento da incassare privo di data di scadenza viene rifiutato.
Se viene inviato più di un pagamento OUTSTANDING, viene considerato solo il primo. Gli altri vengono ignorati e sul record della fattura viene registrato un avviso.
Istruzione di pagamento
L'oggettoinstructionè facoltativo. Si aggiunge quando sulla fattura si vuole indicare all'acquirente come effettuare il pagamento: nel caso di un bonifico bancario contiene l'IBAN sul quale l'acquirente invia il denaro.Se viene omesso, la fattura viene comunque accettata e trasmessa. In questo caso fiskaly riporta la modalità di pagamento come bonifico bancario, senza alcun dato di conto. Si include quindi un'
instructionquando si vogliono riportare in fattura i propri dati di conto, oppure quando l'acquirente paga in altro modo (ad esempio con addebito diretto SEPA).Quando
instructionviene fornito,instruction.typeèCREDIT_TRANSFERoppureDIRECT_DEBIT. Un'istruzione priva di uno di questi campi viene rifiutata:CREDIT_TRANSFERrichiedetype,account,nameepayment_service_provider: tutti e quattro. L'IBAN va inaccount, in formato ISO 13616 (15–34 caratteri).payment_service_providerè il codice BIC/SWIFT della banca (ad es. BCITITMM): il nome della banca non viene accettato.DIRECT_DEBITrichiedetype,mandate_reference,creditor_idedebited_account, con l'IBAN indebited_account.Si noti che
creditor_idè un oggetto e non una stringa —{ "type": "SEPA", "identifier": "IT05ZZZ12345678901" }— e che l'identificativo è da indicare nel formato dell'identificativo creditore SEPA (9–35 caratteri), in cui il carattere successivo al codice business di tre lettere è una cifra.Entrambe le varianti accettano inoltre i campi facoltativi
texteproperties.propertiesha una struttura diversa a seconda di dove compare: sudetailsè un oggetto con un massimo di 16 voci i cui valori sono stringhe fino a 64 caratteri, mentre suinstructionè una singola stringa fino a 128 caratteri.
Nota: instruction.type: "UNKNOWN" non è supportato per l'Italia. Esiste per consentire text e properties senza un bonifico o un addebito diretto ed è rilevante per gli altri paesi E-INVOICE. Il suo invio per l'Italia restituisce un errore di validazione che richiede l'estensione it-sdi-payment-means.
Esempio di pagamento da incassare tramite bonifico bancario
{
"payments": [
{
"type": "OUTSTANDING",
"concept": "INVOICE",
"details": {
"amount": "122.00",
"date": "2026-09-30"
},
"instruction": {
"type": "CREDIT_TRANSFER",
"account": "IT60X0542811101000000123456",
"name": "Officina Rossi S.r.l.",
"payment_service_provider": "BCITITMM"
}
}
]
}
| Campo | Nell'esempio |
| details.amount | L'importo ancora dovuto, non il totale della fattura |
| details.date | La data di scadenza del pagamento, non la data di emissione |
| account | Il proprio IBAN, il conto sul quale arriva il denaro |
| name | L'intestatario di quel conto, ovvero l'emittente della fattura |
| payment_service_provider | Il codice BIC/SWIFT della propria banca, non il suo nome |
Nota: ModalitaPagamento non è un campo da valorizzare. Viene derivata dall'istruzione di pagamento presente sul pagamento da incassare, oppure impostata per default a MP05 quando non viene fornita alcuna istruzione. Sono coperti il bonifico bancario e l'addebito diretto SEPA. Assegno e Riba al momento non sono supportati: in caso di necessità si contatti il supporto fiskaly per registrare il requisito.
Esempio di pagamento da incassare tramite addebito diretto SEPA
Rispetto all'esempio con bonifico riportato sopra cambia solo l'oggetto instruction; type, concept e details restano invariati.
{
"instruction": {
"type": "DIRECT_DEBIT",
"mandate_reference": "MANDATE-2026-0042",
"creditor_id": {
"type": "SEPA",
"identifier": "IT05ZZZ12345678901"
},
"debited_account": "IT60X0542811101000000123456"
}
}
| Campo | In questo esempio |
|---|---|
mandate_reference | Il proprio riferimento del mandato SEPA sottoscritto dall'acquirente |
creditor_id.identifier | Il proprio identificativo creditore SEPA, in quanto l'incasso è a proprio favore |
debited_account | L'IBAN dell'acquirente, il conto che viene addebitato |
Si noti la direzione: in un bonifico l'IBAN è il proprio e il denaro viene inviato dall'acquirente; in un addebito diretto l'IBAN è quello dell'acquirente e il denaro viene prelevato da chi emette la fattura.