---
title: "INTRASTAT: composizione e validazione delle sezioni"
method: POST
path: "/python/italian/intrastat/compose"
tags: ["Tool"]
---

# INTRASTAT: composizione e validazione delle sezioni

`POST /python/italian/intrastat/compose`

## Request

- Base URL: `https://imperioutils.com/api`
- URL: `https://imperioutils.com/api/python/italian/intrastat/compose`
- Auth: API key in header `X-API-Key`

Compone le SEZIONI dell'elenco riepilogativo INTRASTAT a partire dalle righe di operazione, assegnando ciascuna riga alla sezione corretta (INTRA-1bis cessioni di beni, 1ter rettifiche, 1quater servizi resi, 1quinquies rettifiche, 1sexies call-off stock; INTRA-2bis acquisti di beni, 2ter, 2quater servizi ricevuti, 2quinquies) e VALIDANDOLE: Stato membro ammesso (l'Irlanda del Nord XI vale solo per i BENI; San Marino e Regno Unito sono fuori ambito), partita IVA della controparte (formato per Stato membro + checksum per quelle italiane), nomenclatura combinata a 8 cifre (o il codice semplificato 99500000), formato della natura della transazione e campi obbligatori per sezione. Restituisce le sezioni popolate, i totali, la scadenza e un prospetto testuale di controllo. ⚠️ NON genera il file TELEMATICO per il Servizio Telematico Doganale (Intr@Web / ADM): il tracciato record ufficiale non è riproducibile da fonte pubblica verificabile, quindi non è stato inventato. Quello che ottieni è struttura-dati + prospetto, da riportare sul canale ufficiale. Nessun default silenzioso: un dato obbligatorio mancante produce un errore esplicito, mai un riempimento arbitrario. Le partite IVA sono validate OFFLINE (formato e checksum): per la verifica VIES live della controparte usa `verify_payee`. Determina prima la periodicità con `intrastat_periodicity`. Indicativo, non sostituisce il commercialista o il doganalista.

Costo: **0 crediti**. Autenticazione: header `X-API-Key` (una chiave gratuita si ottiene da https://imperioutils.com/signup e si rigenera da https://imperioutils.com/settings/profile).

La stessa operazione è provabile **senza account** su `POST /registry/demo/intrastat` con `action: "compose"`.

## Request body

- object
  - `anno` integer, required: Anno del periodo di riferimento (i modelli vigenti decorrono dal 2022).
  - `mese` integer, required: Mese del periodo di riferimento (1–12). Con periodicità trimestrale individua il trimestre.
  - `periodicita` 'mensile' | 'trimestrale' | 'nessun_obbligo': Periodicità dell'elenco — determinala con `intrastat_periodicity`. Con 'nessun_obbligo' la chiamata viene RIFIUTATA con una spiegazione: sotto soglia l'elenco non va presentato.
  - `partita_iva_dichiarante` string: Partita IVA italiana del soggetto obbligato (11 cifre, opzionale). Se fornita viene validata col checksum.
  - `righe` object[], required: Righe di operazione da riepilogare. Massimo 25 sulla superficie anonima (l'API autenticata non ha questo limite). Righe di flussi/categorie diversi possono coesistere: ognuna finisce nella sua sezione.
    - `flusso` 'cessioni' | 'acquisti', required: cessioni = INTRA-1 (attive) · acquisti = INTRA-2 (passive).
    - `categoria` 'beni' | 'servizi', required: Determina quali campi sono obbligatori: i campi BENI e i campi SERVIZI si escludono.
    - `rettifica` boolean: True se la riga rettifica un periodo PRECEDENTE → sezioni ter/quinquies. Richiede `anno_riferimento_rettifica`. Solo sulle rettifiche è ammesso un ammontare negativo.
    - `call_off_stock` boolean: Solo cessioni di BENI: regime call-off stock (art. 17-bis Dir. 2006/112/CE) → sezione INTRA-1sexies.
    - `paese_controparte` string, required: Codice ISO2 dello Stato membro della controparte (es. DE, FR, ES; EL per la Grecia, non GR). 'XI' (Irlanda del Nord) è ammesso SOLO per i beni. SM (San Marino) e GB sono fuori ambito e vengono rifiutati.
    - `partita_iva_controparte` string, required: Partita IVA della controparte, con o senza prefisso paese (es. DE123456789 o 123456789). Validata sul formato dello Stato membro; per le italiane anche col checksum. Nessuna interrogazione VIES.
    - `ammontare` number, required: Ammontare delle operazioni in EURO. Negativo ammesso solo se rettifica=true.
    - `nomenclatura_combinata` string: Solo BENI: codice NC a 8 cifre. Per spedizioni di valore inferiore a € 1.000 è ammesso il codice unico 99500000. Se ne valida il FORMATO, non l'esistenza nella NC dell'anno (la tabella NC è annuale e non è in repository).
    - `massa_netta_kg` number: Solo BENI: massa netta in kg.
    - `paese_origine` string: Solo BENI: paese di origine della merce (ISO2).
    - `paese_destinazione` string: Solo BENI: paese di destinazione/provenienza della merce (ISO2).
    - `natura_transazione` string: Solo BENI: codice natura della transazione — 1 cifra (colonna A) oppure 2 cifre (colonne A+B, obbligatorie oltre € 20.000.000 di scambi nell'anno precedente). Si valida SOLO il formato: le descrizioni dei codici sono l'Allegato XI alla Det. ADM 493869/RU/2021, non riproducibile da fonte testuale verificabile, e non vengono inventate.
    - `codice_servizio` string: Solo SERVIZI: codice CPA a 6 cifre. Validato nel formato, non l'esistenza in tabella CPA.
    - `modalita_erogazione` 'I' | 'R': Solo SERVIZI: 'I' istantanea · 'R' a più riprese.
    - `modalita_incasso` 'B' | 'A' | 'X': Solo SERVIZI: 'B' bonifico · 'A' accredito · 'X' altro.
    - `anno_riferimento_rettifica` integer: Obbligatorio se rettifica=true: anno del periodo rettificato.
    - `riferimento` string: Riferimento libero (es. numero fattura). Serve solo alla tua tracciabilità: non fa parte dell'elenco.

## Response `200`

Il JSON dello strumento, restituito così com'è.

## Other responses

- `401`: Nessuna credenziale o chiave rifiutata. Il corpo porta `details.header`, `details.docs` e `details.get_key`.
- `402`: Crediti esauriti.
- `429`: Tetto di richieste al minuto del piano superato.

---

[API](https://skmtc.dev/imperioutils/apis/imperio-utilities-api-fiscali-italiane.md) · [All operations](https://skmtc.dev/imperioutils/apis/imperio-utilities-api-fiscali-italiane/llms.txt) · [OpenAPI document](https://skmtc.dev/imperioutils/apis/imperio-utilities-api-fiscali-italiane/revisions/4b7a05d52f6c?raw)
