Calcolatore IVA
100 al 21% diventa 121, con 21 di imposta, e 121 al 21% torna a 100: aggiunga l'IVA a un prezzo netto o la scorpori da un totale che la comprende, e ottenga sempre imponibile, imposta e lordo. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Modalità di calcolo
- Aggiungi imposta
- Quantità
- 100
- Aliquota fiscale
- 21
- Importo netto
- 100
- Importo dell’imposta
- 21
- Importo lordo
- 121
Restituisce netto, imposta e lordo.
Aggiungere l'imposta e scorporarla
Quando si aggiunge, l'importo inserito è il prezzo netto. L'imposta è il netto per l'aliquota e il lordo è il netto più l'imposta, quindi 100 al 21% dà 21 di imposta e 121 in totale. L'aliquota si scrive come semplice percentuale: 21 significa 21%. Lo scorporo funziona al contrario: tratta l'importo come totale IVA inclusa, lo divide per uno più l'aliquota per trovare l'imponibile e lascia la differenza come imposta, così 121 al 21% restituisce 100 e 21. È quello che serve per separare l'imposta dal totale di uno scontrino o da una riga di fattura IVA inclusa. Un'aliquota pari a zero è ammessa e dà semplicemente imposta zero.
L'arrotondamento e l'errore classico
L'errore più comune è togliere l'aliquota dal totale. Poiché l'aliquota si applica all'imponibile, così si toglie troppo; dividere per uno più l'aliquota è l'operazione inversa corretta. La seconda trappola è l'arrotondamento. Qui le tre cifre vengono arrotondate separatamente: quando si aggiunge, l'imposta si calcola dall'imponibile già arrotondato e il lordo si arrotonda dopo, così ogni riga resta coerente in contabilità invece di dipendere da una frazione nascosta. Senza questo, con aliquote insolite, imponibile più imposta può differire dal lordo di un centesimo. Può scegliere da 0 a 8 decimali: di più per valute o prezzi unitari che ne hanno bisogno, oppure 0 per unità intere.
Aggiungere rispetto a scorporare
Il campo rate è una percentuale (21 significa 21%) convertita internamente in r = rate / 100. Lo scorporo è l'inverso dell'aggiunta ed è ciò che usa per estrarre la quota di imposta da un totale di uno scontrino o da una riga di fattura lorda. Ogni ramo restituisce la terna completa di netto, imposta e lordo più la modalità e l'aliquota fornite.
Arrotondare ogni componente in modo indipendente
Poiché i tre componenti vengono arrotondati separatamente, add calcola l'imposta dal netto arrotondato e poi arrotonda il lordo, il che mantiene ogni riga coerente con se stessa per la contabilità anziché derivata da un valore intermedio non arrotondato. Questo rileva ad alta precisione o con aliquote insolite, dove una singola frazione nascosta potrebbe altrimenti far apparire netto più imposta in disaccordo con il lordo di un centesimo. Scelga più decimali per le valute o i prezzi unitari che li richiedono, oppure 0 per la visualizzazione a unità intere.
Domande frequenti
Come si fornisce l'aliquota?
Come numero percentuale, quindi 21 significa 21%. Deve essere finita e non negativa; lo zero è ammesso e produce imposta zero.
Come vengono arrotondati gli importi?
netto, imposta e lordo vengono arrotondati half-up ciascuno in modo indipendente ai decimali impostati (da 0 a 8, predefinito 2), così che le righe restino coerenti con se stesse.
Come si aggiunge il 21% di IVA a un prezzo?
Scelga di aggiungere l'imposta e inserisca il prezzo netto e l'aliquota in percentuale, 21 per il 21%. Un prezzo netto di 100 dà 21 di imposta e un totale lordo di 121.
Come si scorpora l'IVA da un totale che la comprende?
Scelga lo scorporo e inserisca il totale IVA inclusa e l'aliquota. L'imponibile è il totale diviso per uno più l'aliquota: 121 al 21% restituisce un imponibile di 100 e un'imposta di 21.
Perché non basta togliere il 21% dal totale?
Perché l'aliquota si applica all'imponibile, non al totale. Togliere il 21% da 121 sottrae più dei 21 di imposta contenuti; dividere 121 per 1,21 dà l'imponibile corretto di 100.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/dev/vat-calculator \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"mode":"add","amount":100,"rate":21}'const res = await fetch("https://api.kit.forhosting.com/dev/vat-calculator", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"mode": "add",
"amount": 100,
"rate": 21
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/vat-calculator",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"mode": "add",
"amount": 100,
"rate": 21
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/vat-calculator", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"mode":"add","amount":100,"rate":21}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"mode":"add","amount":100,"rate":21}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/vat-calculator", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"mode": "add",
"amount": 100,
"rate": 21
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.vat_calculator",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Calcola l'imposta sul valore aggiunto o sulle vendite in due modi. mode=add tratta l'importo come netto e vi aggiunge sopra un'aliquota percentuale; mode=extract tratta l'importo come lordo comprensivo di imposta e ricava il netto e l'imposta già contenuta.
Aggiungere rispetto a scorporare
In mode=add l'importo è il prezzo netto: netto è uguale ad amount, imposta è uguale a netto per r, e lordo è uguale a netto più imposta, quindi 100 al 21% restituisce netto 100, imposta 21, lordo 121. In mode=extract l'importo è il lordo comprensivo di imposta: netto è uguale a lordo diviso (1 + r), e imposta è uguale a lordo meno netto, quindi 121 al 21% recupera netto 100 e imposta 21.
Intervalli, validazione ed errori tipizzati
mode, amount e rate sono tutti obbligatori. mode deve essere esattamente add o extract. amount e rate devono essere ciascuno un numero finito non negativo, e le loro grandezze sono limitate a 1e12 per mantenere i risultati significativi; un'aliquota pari a zero è ammessa e produce semplicemente imposta zero. decimals deve essere un intero entro 0..8. Qualsiasi violazione, o un input non-oggetto, solleva un errore tipizzato invalid_input che nomina il problema anziché un crash non tipizzato, e extract si protegge da un'aliquota di -100% che renderebbe 1 + r uguale a zero.
Casi di integrazione
Prezzare con l'imposta in aggiunta
Usi mode=add per trasformare un prezzo di catalogo netto in un prezzo lordo per il cliente alla sua aliquota IVA o d'imposta sulle vendite locale.
Riconciliare scontrini e fatture
Usi mode=extract per suddividere un totale comprensivo di imposta nelle sue parti netta e d'imposta per la contabilità e le dichiarazioni.
Sistemi di checkout e fatturazione
Richiami l'API per calcolare netto, imposta e lordo in modo coerente in un carrello e-commerce o in una pipeline di fatturazione a qualsiasi aliquota.
Domande tecniche
Qual è la differenza tra add ed extract?
add tratta amount come netto e vi mette l'imposta sopra (lordo = netto + imposta). extract tratta amount come lordo comprensivo di imposta e ricava netto = lordo / (1 + rate/100) e l'imposta contenuta.
Cosa provoca un errore?
Un errore tipizzato invalid_input per una mode errata, un amount o rate negativo o non finito, grandezze superiori a 1e12, decimals fuori da 0..8, o un'aliquota di -100% in extract.
È gratuito e quanto costa l'API?
Il widget del browser è gratuito; l'API usa saldo KIT prepagato a partire da $0.002, e le attività fallite non vengono addebitate.