API pubblica di Calcola Impresa
L'endpoint pubblico restituisce lo stesso calcolo deterministico del sito, prodotto dalla stessa identica funzione di calcolo. Non richiede autenticazione, non salva dati e non richiede dati personali.
Endpoint
| Proprietà | Valore |
|---|---|
| URL | https://calcolaimpresa.com/api/v1/calculate |
| Metodo | POST (più OPTIONS per il preflight CORS) |
| Content-Type richiesto | application/json |
| Content-Type risposta | application/json |
| Versione motore | 2026.09.10-rc11 |
| Anno delle regole | 2026 |
| Autenticazione | nessuna |
| CORS | aperto (Access-Control-Allow-Origin: *) |
Dati accettati
Il corpo della richiesta è un oggetto JSON validato con lo stesso schema usato dal sito. Campi non previsti vengono rifiutati.
| Campo | Tipo / valori ammessi | Forme | Obbligatorio |
|---|---|---|---|
| form | "professionista_piva_gestione_separata" | "ditta_individuale_commerciante" | "ditta_individuale_artigiana" | "snc" | "sas" | "srl" | "srls" | tutte | sì |
| professionalCassa | boolean | professionista | sì |
| inpsReduction35Active | boolean | ditta individuale (commercio, artigianato) | no |
| cciaaSection | "special" | "ordinary" | "unknown" | ditta individuale commerciante | no |
| specialCase | "affittacamere" | "produttore_assicurazione" | ditta individuale commerciante | no |
| seatInSicily | boolean | "unknown" | tutte tranne professionista | no |
| workingPartners | { inps: "merchant" | "artisan" | "uncertain" }[] | SNC | sì |
| nonWorkingPartners | integer >= 0 | SNC | no |
| accomandatari / accomandanti | { worksOperationally: boolean, inps?: "merchant" | "artisan" | "uncertain" }[] | SAS | sì |
| shareholders | { worksOperationally: boolean, inps?: "merchant" | "artisan" | "uncertain" }[] | SRL, SRLS | sì |
| isAdmin | boolean | SRL, SRLS | sì |
| adminCompensation | number >= 0 | SRL, SRLS | no |
| adminOtherCompulsoryCoverage | "si" | "no" | "unknown" | SRL, SRLS | no |
| capital | number > 0 | SRL | no |
| activity | "software_saas" | SRL, SRLS | no |
| startupInnovativaBenefitsActive | boolean | SRL, SRLS | no |
Non esistono valori inventati d'ufficio: i campi facoltativi omessi seguono il comportamento documentato del motore (per esempio, sezione camerale sconosciuta produce un intervallo che copre entrambe le sezioni).
Esempio di richiesta
curl -X POST https://calcolaimpresa.com/api/v1/calculate \
-H "Content-Type: application/json" \
-d '{"form":"srl","shareholders":[{"worksOperationally":true,"inps":"merchant"}],"isAdmin":true,"adminCompensation":20000,"adminOtherCompulsoryCoverage":"unknown","capital":10000}'Esempio di risposta
La risposta contiene i valori numerici grezzi del motore, senza arrotondamenti di presentazione. Il sito applica separatamente la formattazione a euro interi nei riepiloghi. Nell'esempio alcuni elenchi sono abbreviati.
{
"calculator": "Calcola Impresa",
"engine_version": "2026.09.10-rc11",
"rules_year": 2026,
"methodology_url": "https://calcolaimpresa.com/metodologia",
"sources_url": "https://calcolaimpresa.com/fonti",
"inputs": {
"form": "srl",
"shareholders": [
{
"worksOperationally": true,
"inps": "merchant"
}
],
"isAdmin": true,
"adminCompensation": 20000,
"adminOtherCompulsoryCoverage": "unknown",
"capital": 10000
},
"assumptions": [
"Una sola PEC di amministratore rilevante secondo la gerarchia normativa (amministratore unico; altrimenti amministratore/consigliere delegato; in mancanza presidente CdA)."
],
"warnings": [
{
"level": "warning",
"text": "Il calcolo non include eventuali effetti fiscali delle regole sulle società non operative ('di comodo'), che dipendono dagli asset posseduti e possono generare imposizione anche con ricavi molto bassi o nulli."
},
{
"level": "info",
"text": "L'eventuale INAIL dipende dall'attività concretamente svolta e dal rischio assicurato; nessun premio viene stimato senza classificazione."
},
{
"level": "info",
"text": "Per l'amministratore retribuito l'INAIL dipende dall'attività concretamente svolta e dal rischio assicurato; nessun premio viene stimato senza classificazione."
},
{
"level": "info",
"text": "L'aliquota dipende dall'eventuale altra previdenza obbligatoria dell'amministratore: il calcolo mostra l'intervallo tra aliquota ridotta e aliquota piena."
}
],
"sources": [
{
"key": "CCIAA_TURIN_MUI",
"publisher": "Camera di Commercio di Torino",
"title": "Approfondimento normativo imposta di bollo tramite MUI",
"url": "https://www.to.camcom.it/approfondimento-normativo-imposta-di-bollo-tramite-mui-0",
"date": null
},
"… altre fonti"
],
"results": {
"form": "srl",
"rulesetVersion": "2026.09.10-rc11",
"opening_one_off_min": 2276,
"opening_one_off_max": 4106,
"annual_fixed_min": 2557.37,
"annual_fixed_max": 4167.37,
"inps_min": 9411.64,
"inps_max": 11617.64,
"inps_status": "determined",
"inail_status": "conditional",
"annual_total_min": 11969.01,
"annual_total_max": 15785.01,
"first_year_12m_min": 14245.01,
"first_year_12m_max": 19891.01,
"totalsCompleteness": "complete",
"lines": [
{
"id": "opening.SRL_MUI_STAMP",
"ruleId": "SRL_MUI_STAMP",
"label": "Imposta di bollo atto costitutivo",
"bucket": "opening",
"classification": "statutory_exact",
"amount": {
"kind": "numeric",
"min": 156,
"max": 156,
"state": "numeric"
},
"includedInTotals": true,
"valueSource": "statutory",
"sources": [
{
"key": "CCIAA_TURIN_MUI",
"publisher": "Camera di Commercio di Torino",
"title": "Approfondimento normativo imposta di bollo tramite MUI",
"url": "https://www.to.camcom.it/approfondimento-normativo-imposta-di-bollo-tramite-mui-0",
"date": null
},
{
"key": "CCIAA_TURIN_STARTUP_CONSTITUTION_2026",
"publisher": "Camera di Commercio di Torino",
"title": "Start-up costituita con atto notarile: iscrizione nella sezione speciale contestuale all'iscrizione dell'atto costitutivo",
"url": "https://www.to.camcom.it/start-iscrizione-nella-sezione-speciale-del-ri-di-societa-di-nuova-costituzione",
"date": "2026-05-11"
}
],
"modifierTargets": [
"eligible_register_impresa_stamp_tax"
],
"meta": {
"conditions": [
"atto_societario_non_immobiliare_registrato_telematicamente_da_notaio"
]
}
},
"… altre voci di costo"
],
"openingDetail": "…",
"annualDetail": "…",
"inpsDetail": "…",
"inailDetail": "…",
"possibleAdditional": "…",
"notDeterminable": "…",
"excludedMandatory": "…",
"warnings": "…",
"assumptions": "…"
}
}Errori
| Stato | Significato |
|---|---|
| 400 | Corpo non valido: risposta JSON con `error`, `message` e l'elenco `issues`. |
| 405 | Metodo non supportato. |
| 413 | Corpo della richiesta troppo grande. |
| 415 | Content-Type diverso da application/json. |
Specifica OpenAPI
Avvertenza
I risultati sono stime dei costi strutturali obbligatori a ricavi zero, basate sulle informazioni inviate e sulle assunzioni dichiarate nella risposta. Non sono consulenza fiscale o legale.
Versione leggibile da programmi: /api.md
