Crea una fattura in PDF
Creare una fattura in PDF compone un documento ordinato dai tuoi dati: intestazione, righe, IVA e totale. È il PDF presentabile da inviare o stampare. Attenzione: non è la fattura elettronica del Sistema di Interscambio (SDI); è un PDF, utile come copia di cortesia, pro forma o per chi non è tenuto al ciclo elettronico.
Esegui online
Esegui questo sui nostri server con il tuo account. Gli strumenti gratuiti girano nel tuo browser; questo viene addebitato sul tuo saldo KIT al prezzo indicato sopra.
Cosa genera (e cosa no)
Questo strumento produce un PDF di fattura leggibile e ben impaginato: dati di chi emette e di chi riceve, righe con descrizione e importi, IVA e totale. Non genera il file XML della fattura elettronica né lo invia al Sistema di Interscambio: quello, in Italia, è un obbligo che passa da altri canali. Il PDF qui serve come copia presentabile per il cliente, come pro forma prima dell'emissione, o per situazioni in cui il ciclo elettronico non è richiesto.
Come si compila
Inserisci i dati — emittente, cliente, partita IVA, righe, aliquota IVA, importi in euro — e il KIT li dispone in un PDF pulito in A4, con i totali calcolati e ordinati. Niente template da impaginare a mano: fornisci il contenuto, scarichi il documento. Lo usi dalla pagina web per una fattura singola, o via API se le emetti in serie da un gestionale. I dati vengono elaborati e poi eliminati.
Numeri e formati italiani
Il documento rispetta i formati che ti aspetti: importi in euro come 1.234,56 €, IVA al 22%, date nel formato 14/07/2026, partita IVA e codice fiscale al posto giusto. Puoi indicare numero e data della fattura, la descrizione delle righe e l'eventuale imponibile per aliquota. Il risultato è un PDF che il cliente apre e stampa senza sorprese, coerente con la contabilità che poi gestisci con il tuo commercialista.
Casi d'uso
Copia di cortesia per il cliente
Rossi & Figli S.r.l. emette la fattura elettronica dal proprio gestionale, ma manda al cliente anche una copia PDF leggibile e ben impaginata, con IVA al 22% e totale in euro, perché la ritrovi facilmente nella email.
Pro forma prima dell'emissione
Prima di emettere, Chiara Romano invia al cliente una pro forma in PDF con l'importo concordato: così conferma cifre e dati prima di procedere con la fattura vera e propria.
Cliente estero fuori dal ciclo SDI
Per un cliente estero, non soggetto al Sistema di Interscambio, Luca Esposito prepara una fattura in PDF con i suoi dati e gli importi, pronta da inviare via email.
Domande frequenti
È la fattura elettronica valida per l'Agenzia delle Entrate?
No. Questo strumento crea un PDF leggibile, non il file XML della fattura elettronica né il suo invio al Sistema di Interscambio. Per l'obbligo di fatturazione elettronica devi usare i canali previsti; il PDF qui è una copia di cortesia, una pro forma o per chi non è tenuto al ciclo SDI.
Posso mettere IVA, partita IVA e importi in euro?
Sì: inserisci aliquota IVA, partita IVA, codice fiscale e importi in euro (formato 1.234,56 €). Lo strumento calcola i totali e li dispone nel PDF con i formati italiani.
Posso personalizzare numero e data della fattura?
Sì, indichi numero, data (formato 14/07/2026), dati di emittente e cliente e le righe. Il documento esce impaginato in A4, pronto da inviare o stampare.
Quanto costa una fattura?
$0.040 a documento, prezzo pubblicato e a consumo. Nessun abbonamento: paghi solo le fatture che generi.
I dati della fattura restano riservati?
I dati vengono elaborati per comporre il PDF e poi eliminati dai server. Non li conserviamo e non li usiamo per altro. Non serve registrarsi.
Posso emetterle in serie dal gestionale?
Sì: via API generi le fatture in PDF automaticamente a partire dai dati del tuo gestionale, una dopo l'altra, senza comporle a mano ogni volta.
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/pdf/invoice \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"pdf":"https://ejemplo.com/documento.pdf"}'const res = await fetch("https://api.kit.forhosting.com/pdf/invoice", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"pdf": "https://ejemplo.com/documento.pdf"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/invoice",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"pdf": "https://ejemplo.com/documento.pdf"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/invoice", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"pdf":"https://ejemplo.com/documento.pdf"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"pdf":"https://ejemplo.com/documento.pdf"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/invoice", 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
{
"pdf": "https://ejemplo.com/documento.pdf"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.invoice",
"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.
Limiti
max_mb | 25 |
max_pages | 200 |
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. |
422 | task_failed | L'attività non è andata a buon fine: non ti viene addebitato nulla. |