Nordlet

← Blog

Riconoscimento dei ricavi SaaS secondo l'IFRS 15, con registrazioni contabili pratiche

Ogni singola fase dell'IFRS 15 per un contratto SaaS, illustrata tramite registrazioni contabili con numeri reali e le chiamate API che le generano automaticamente.

Nordlet Team · · 13 min di lettura

Ai sensi dell'IFRS 15, un abbonamento SaaS costituisce un'obbligazione di fare adempiuta nel tempo: di conseguenza, i relativi ricavi vengono contabilizzati in modo uniforme lungo tutto il periodo di erogazione del servizio, mentre l'importo fatturato confluisce in una passività contrattuale fino alla sua maturazione. Il credito commerciale e l'IVA vengono registrati per intero nel giorno in cui viene emessa la fattura. Solo i ricavi seguono il criterio di competenza temporale.

Questa è la regola generale. Il resto dell'articolo mostra come si riflette nella contabilità generale, presentando dare e avere per i casi che un'azienda in abbonamento incontra realmente: un piano annuale, un bundle con sconto, un progetto fatturato a milestone, un rimborso previsto e un contratto modificato a metà percorso. Ogni registrazione utilizza il piano dei conti lituano predefinito di Nordlet, mentre l'ultima sezione mostra le chiamate API che inseriscono automaticamente queste registrazioni senza alcuno sforzo manuale.

Le cinque fasi applicate a un singolo contratto

Un cliente sottoscrive in data 1 gennaio 2026 un accesso alla piattaforma della durata di dodici mesi per un importo di 2.400 € IVA esclusa. L'IVA lituana al 21% aggiunge 504 €, portando la fattura a un totale lordo di 2.904 €.

Fase Applicazione a questo contratto
1. Contratto L'ordine accettato per dodici mesi di accesso
2. Obbligazioni di fare Una: accesso alla piattaforma dal 1 gennaio al 31 dicembre 2026
3. Prezzo dell'operazione 2.400 € (nessun corrispettivo variabile in questo primo esempio)
4. Allocazione Non necessaria; un'unica obbligazione assorbe l'intero prezzo
5. Riconoscimento Nel tempo, man mano che trascorrono i giorni di accesso

Lo stesso modello viene trattato dal punto di vista concettuale in Spiegazione della contabilità SaaS. Qui passiamo direttamente alle registrazioni contabili.

Caso 1: un piano annuale

All'emissione, 1 gennaio 2026. In questa data il credito e l'IVA sono effettivi. I ricavi no.

Conto Dare Avere
2410 Crediti commerciali 2.904,00
4492 IVA a debito 504,00
4910 Risconti passivi (passività contrattuale) 2.400,00

Nessun importo ha toccato un conto economico dei ricavi. L'IVA, tuttavia, è esigibile alla data di emissione secondo le modalità ordinarie; la liquidazione IVA di gennaio include i 504 € indipendentemente dal fatto che il servizio sia stato o meno erogato.

Al pagamento da parte del cliente.

Conto Dare Avere
2710 Banca 2.904,00
2410 Crediti commerciali 2.904,00

Alla fine di ciascun mese. La versione da manuale rilascia 200 € al mese. Un piano basato sul peso giornaliero, ovvero un metodo output basato sul tempo trascorso del tipo consentito dall'IFRS 15 §B15 per un servizio fruito ininterrottamente, assegna a ogni mese la sua quota dei 365 giorni:

Mese Giorni Tranche
Gennaio 31 203,84
Febbraio 28 184,11
Marzo 31 203,84
Aprile 30 197,26
…
Dicembre 31 203,81
Totale 365 2.400,00

L'ultima tranche assorbe gli arrotondamenti sui centesimi in modo che il piano corrisponda esattamente all'importo riscontato. Il rilascio di gennaio è:

Conto Dare Avere
4910 Risconti passivi 203,84
5001 Ricavi da servizi 203,84

Dopo dodici registrazioni di questo tipo, il saldo del conto 4910 per questa fattura si azzera e 2.400 € sono confluiti nei ricavi lungo tutto l'anno di competenza.

Caso 2: un bundle con sconto

Il medesimo cliente acquista l'abbonamento insieme a un servizio di configurazione iniziale (onboarding). La fattura espone l'abbonamento a 2.400 € e l'onboarding a 600 €, per un totale netto di 3.000 €. Venduti separatamente, l'abbonamento costa 3.000 € e l'onboarding 1.000 €, il che significa che il bundle include uno sconto di 1.000 €.

I paragrafi da §76 a §80 dell'IFRS 15 impongono che lo sconto sia ripartito tra le obbligazioni in proporzione ai loro prezzi di vendita autonomi (standalone selling prices), senza lasciarlo dove casualmente allocato dal team commerciale.

Riga Prezzo indicato Prezzo di vendita autonomo Quota Allocato
Abbonamento (nel tempo) 2.400 3.000 75 % 2.250,00
Onboarding (in un determinato momento) 600 1.000 25 % 750,00
Totale 3.000 4.000 3.000,00

L'IVA rimane calcolata sui prezzi di riga indicati, poiché la fattura costituisce il documento IVA: il 21% di 3.000 € è pari a 630 €. L'allocazione modifica unicamente la ripartizione dell'importo netto tra i ricavi immediati e quelli differiti.

All'emissione.

Conto Dare Avere
2410 Crediti commerciali 3.630,00
4492 IVA a debito 630,00
5001 Ricavi da servizi (onboarding, erogato) 750,00
4910 Risconti passivi (abbonamento) 2.250,00

L'onboarding genera 750 € di ricavi al momento dell'emissione, anziché i 600 € stampati sulla riga. Per l'abbonamento vengono riscontati 2.250 € e la sua quota di gennaio risulta pari a 2.250 × 31 ÷ 365 = 191,10 €.

Senza l'allocazione, la registrazione avrebbe evidenziato 600 € di ricavi e 2.400 € di importi riscontati. La differenza consiste in 150 € di ricavi imputati all'esercizio errato.

Caso 3: un progetto fatturato a milestone

Un progetto di implementazione viene fatturato per 10.000 € netti (12.100 € lordi) suddivisi in tre milestone: progettazione 30%, sviluppo 50%, go-live 20%. Ciascuna milestone rappresenta il momento in cui una specifica fase del lavoro viene accettata, circostanza comprovata da un verbale di consegna.

All'emissione.

Conto Dare Avere
2410 Crediti commerciali 12.100,00
4492 IVA a debito 2.100,00
4910 Risconti passivi 10.000,00

Alla firma del verbale di progettazione.

Conto Dare Avere
4910 Risconti passivi 3.000,00
5001 Ricavi da servizi 3.000,00

La data prevista per una milestone costituisce un'informazione di pianificazione. I ricavi si movimentano quando l'evento si verifica effettivamente, non quando il calendario stabilisce che dovrebbe accadere.

Caso 4: un rimborso previsto

Supponiamo che i dati storici indichino che il 5% dei piani annuali venga rimborsato nel corso del primo mese. I paragrafi da §55 a §58 dell'IFRS 15 considerano i rimborsi attesi come corrispettivi variabili: essi vengono esclusi dal prezzo dell'operazione e iscritti come passività per rimborso fino alla risoluzione dell'incertezza.

Consideriamo la vendita una tantum di un prodotto pari a 1.000 € netti (1.210 € lordi) con una stima di rimborso del 5%, i cui ricavi sono riconosciuti in un determinato momento.

All'emissione.

Conto Dare Avere
2410 Crediti commerciali 1.210,00
4492 IVA a debito 210,00
4450 Passività per rimborsi 50,00
5001 Ricavi da servizi 950,00

**Un cliente riceve un rimborso netto di 40 €. ** Il rimborso è documentato da una nota di credito, che rettifica l'IVA e il credito commerciale, attingendo alla passività anziché ridurre i ricavi.

Conto Dare Avere
4450 Passività per rimborsi 40,00
4492 IVA a debito 8,40
2410 Crediti commerciali 48,40

La finestra di rimborso si chiude. Poiché è stato utilizzato solo un importo di 40 € rispetto ai 50 € stimati, i restanti 10 € vengono rilasciati a conto economico come ricavi.

Conto Dare Avere
4450 Passività per rimborsi 10,00
5001 Ricavi da servizi 10,00

Per una riga che gestisce anche un piano di riconoscimento in sospeso, l'ordine di utilizzo è il seguente: prima i risconti passivi (il piano in sospeso viene ridotto partendo dalla scadenza più lontana), poi la passività per rimborsi e infine i ricavi.

Caso 5: la modifica del contratto

A metà del piano annuale descritto nel Caso 1, il cliente negozia un'estensione di sei mesi senza costi aggiuntivi. Sei mesi sono già stati contabilizzati (1.200 € calcolati con quote mensili costanti per semplicità di lettura; il motore di calcolo utilizza invece i giorni effettivi) e 1.200 € rimangono riscontati.

I paragrafi §20 e §21 dell'IFRS 15 offrono due trattamenti contabili a seconda che i servizi residui siano o meno distinti da quelli già erogati.

Prospettico (§21(a)). I beni o servizi residui sono distinti, pertanto i 1.200 € non ancora riconosciuti vengono spalmati sulla nuova durata residua di dodici mesi: 100 € al mese. Non viene registrata alcuna scrittura di conguaglio; la rata successiva risulta semplicemente di importo inferiore.

Conguaglio cumulativo (§21(b)). L'obbligazione è trattata come un'unica entità parzialmente soddisfatta, per cui i ricavi vengono ricalcolati come se il contratto avesse avuto una durata di diciotto mesi sin dall'inizio: 2.400 € ÷ 18 = 133,33 € al mese, per un totale di 800 € maturati al 30 giugno. Poiché sono già stati riconosciuti 1.200 €, viene stornata la differenza di 400 €:

Conto Dare Avere
5001 Ricavi da servizi 400,00
4910 Risconti passivi 400,00

I restanti 1.600 € vengono quindi rilasciati a un ritmo di 133,33 € al mese lungo la nuova durata residua.

L'accesso alla piattaforma fornito giorno per giorno costituisce solitamente una serie di servizi distinti, rendendo il trattamento prospettico la soluzione più comune. La scelta del criterio applicabile rappresenta una valutazione contabile; il sistema contabile deve essere in grado di registrare entrambi gli scenari.

Variazioni di prezzo. Una diminuzione di prezzo si traduce in una nota di credito a storno della fattura originaria e segue l'ordine di imputazione descritto in precedenza. Un aumento di prezzo genera una nuova fattura dotata di un proprio piano di riconoscimento, il quale risulta intrinsecamente prospettico.

Le stesse registrazioni tramite API

Ciascuna delle registrazioni sopra descritte viene generata dal modulo di riconoscimento dei ricavi di Nordlet a partire dai dati ordinari di fatturazione. Il metodo di riconoscimento viaggia direttamente sulla riga della fattura.

Caso 1. Creare la fattura inserendo una riga a maturazione temporale (ratable), quindi emetterla. L'emissione movimenta il credito, l'IVA e i risconti passivi, generando il piano a dodici tranche.

POST /v1/sales/invoices/create
Authorization: Bearer <api key with sales:write>
Idempotency-Key: <your order id>

{
  "partnerId": "<customer id>",
  "lines": [
    {
      "description": "Platform subscription 2026",
      "unitPriceExclVat": "2400.0000",
      "vatRatePercent": "21.00",
      "recognition": { "method": "ratable", "startDate": "2026-01-01", "endDate": "2026-12-31" }
    }
  ]
}
POST /v1/sales/invoices/issue
{ "id": "<invoice id>" }

Caso 2. Aggiungere il campo standaloneSellingPrice a ogni riga della fattura. L'allocazione viene calcolata al momento dell'emissione; la riga di onboarding adotta il metodo predefinito point_in_time.

Caso 3. Assegnare alla riga il parametro "recognition": { "method": "milestone", "milestones": [ { "percent": 30, "description": "Design", "expectedDate": "2026-02-28" }, … ] }. L'emissione di un verbale di consegna tramite l'endpoint sales/acts/issue associato alla fattura riconosce le tranche di milestone in sospeso alla data del verbale.

Caso 4. Impostare refundEstimatePercent sulla riga. Le note di credito attingono alla passività secondo l'ordine descritto; una chiamata a sales/refund-liability/true-up con un valore estimatedTotal aggiornato registra il rilascio o l'integrazione. Un rimborso emesso dal provider di pagamento e riconciliato con la fattura viene registrato sulla passività ed emette un webhook refund_liability.actual, ma non incide direttamente sulla passività stessa, poiché la rettifica dei ricavi e dell'IVA a debito richiede la nota di credito quale documento fiscale valido.

Caso 5.

POST /v1/sales/recognition/modify
{ "invoiceLineId": "<line id>", "approach": "prospective", "newEndDate": "2027-06-30" }

È sufficiente sostituire prospective con cumulative_catch_up per applicare il secondo trattamento; lo storno di 400 € viene registrato immediatamente e la parte rimanente viene ricalcolata.

Rilasci. Il riconoscimento genera una registrazione contabile per ciascuna esecuzione. Viene attivato automaticamente in tre modalità senza necessità di polling: la chiusura di un periodo contabile riconosce preliminarmente tutti gli importi maturati fino alla fine del periodo, l'emissione di un verbale di consegna riconosce le tranche legate alle milestone, e un timer impostato sulla scadenza successiva registra le tranche temporali quando diventano esigibili. L'endpoint sales/recognition/compute offre un'anteprima di quanto verrebbe contabilizzato; sales/recognition/run effettua la registrazione effettiva; sales/recognition/summary riporta i dati maturati a oggi, i residui e la prossima data di scadenza per singola riga; sales/recognition-schedules/list mostra ogni singola tranche con il rispettivo stato.

Cosa non fa il modulo

I limiti documentati contano tanto quanto le funzionalità quando si pianifica la chiusura contabile:

  • I piani di ammortamento sono fissati in euro al tasso di cambio della data di emissione. I saldi riscontati non vengono rideterminati per effetto delle variazioni valutarie successive all'emissione.
  • L'allocazione richiede che sia presente il prezzo di vendita autonomo su tutte le righe o su nessuna. L'approccio residuale di cui al §79(c) non è implementato.
  • La passività per rimborsi è tracciata al netto dell'IVA a livello di fattura. L'attività corrispondente per il diritto di recuperare i beni restituiti (§B25) non è modellata.
  • Il conguaglio cumulativo si applica esclusivamente alle righe a maturazione temporale; la ripianificazione delle milestone è di tipo prospettico.
  • I componenti finanziari significativi (paragrafi da §60 a §65), i corrispettivi non monetari e i corrispettivi dovuti al cliente sono esclusi dall'ambito di applicazione.
  • Il conto per attività contrattuali (2910) è presente nel piano dei conti e come chiave di registrazione, ma il riconoscimento dei ricavi antecedente alla fatturazione richiede attualmente una registrazione manuale.

Il software è pienamente in grado di gestire i trattamenti previsti dall'IFRS 15 e dall'ASC 606. La scelta del metodo per ciascuna obbligazione, la stima dei prezzi di vendita autonomi e dei tassi di rimborso, nonché la valutazione circa la distinzione dei servizi residui rimangono decisioni di competenza dell'entità redigente il bilancio.

FAQ

Quando vengono riconosciuti i ricavi per un abbonamento SaaS ai sensi dell'IFRS 15?

Lungo tutto il periodo di erogazione del servizio, poiché l'accesso al software rappresenta un'obbligazione di fare adempiuta nel tempo. Per un piano annuale fatturato in anticipo, ciascun mese matura la propria quota parte di prezzo. La data della fattura determina il momento in cui vengono registrati il credito e l'IVA, non quello dei ricavi.

Qual è la registrazione contabile per i ricavi differiti?

All'emissione: in dare i crediti commerciali per l'importo lordo, in avere l'IVA a debito e in avere i risconti passivi (passività contrattuale) per l'importo netto. In ciascun periodo: in dare i risconti passivi e in avere i ricavi per la quota maturata. Il credito viene azzerato al momento del pagamento da parte del cliente.

L'IVA segue il piano dei ricavi?

No. L'IVA diviene esigibile nel momento in cui viene emessa la fattura o viene ricevuto il pagamento anticipato, in conformità alle regole ordinarie della Direttiva IVA e della normativa nazionale. Il piano dei risconti passivi e il debito IVA si muovono indipendentemente; è proprio per questo motivo che una fattura anticipata costituisce un documento IVA valido a tutti gli effetti, mentre una fattura proforma non lo è.

Come viene allocato lo sconto su un bundle ai sensi dell'IFRS 15?

In proporzione ai prezzi di vendita autonomi delle obbligazioni incluse nel bundle (§81). Uno sconto di 1.000 € applicato a un bundle del valore di 4.000 €, i cui componenti sono prezzati singolarmente a 3.000 € e 1.000 €, riduce ciascuna componente del 25%. L'IVA rimane calcolata sui prezzi di riga indicati in fattura.

Qual è la differenza tra il trattamento prospettico e il conguaglio cumulativo?

Il trattamento prospettico ripartisce la quota residua non ancora riconosciuta lungo le nuove condizioni a partire dalla data di modifica, senza alcuna rettifica sui ricavi passati. Il conguaglio cumulativo ricalcola i ricavi come se le nuove condizioni fossero state applicate fin dall'inizio e imputa immediatamente la differenza. La scelta tra i due metodi dipende dal fatto che i servizi residui siano o meno distinti da quelli già erogati.

Ulteriori letture