# Dati dell'azienda cliente (cessionario) per l'autofattura

> Per il partner (Recivu). Cosa deve avere **l'azienda cliente** — il soggetto IT che
> ha ricevuto la fattura estera e deve auto-emettere l'autofattura — perché l'XML
> FatturaPA sia valido per SDI.

## Chi è "l'azienda" in un'autofattura

Quando un'azienda italiana compra un servizio/bene da un fornitore estero (Anthropic,
OpenAI, AWS, …), **non** riceve una fattura elettronica via SDI. Deve quindi
**auto-emettere** un documento di integrazione/autofattura (TD17 / TD18 / TD19) in cui:

| Ruolo nell'XML | Chi è | Da dove arriva |
|---|---|---|
| **CedentePrestatore** | il fornitore **estero** | estratto dal PDF (OCR/AI) — non lo configuri tu |
| **CessionarioCommittente** | **l'azienda italiana** (il tuo cliente) | **devi fornirlo tu** |

Quindi i dati che l'azienda deve avere configurati sono quelli del
**CessionarioCommittente**. Sono gli stessi dati che metterebbe su una sua fattura.

## Come fornire i dati dell'azienda — 2 modi

### Modo A — `cessionario` esplicito nella call (consigliato per Recivu)

Passi l'oggetto `cessionario` direttamente in `POST /v1/autofatture:process` (o
`POST /v1/autofatture`). È il modo più diretto: **non dipendi da una config lato Optlyx**,
i dati dell'azienda li hai già tu.

```jsonc
{
  "studioId": "<id-tenant>",
  "fileBase64": "<PDF base64>",
  "mimeType": "application/pdf",
  "fileName": "anthropic.pdf",
  "cessionario": {
    "denominazione": "Rossi Costruzioni S.r.l.",   // ragione sociale (o nome+cognome se ditta individuale)
    "partitaIva": "12345678903",                    // P.IVA italiana — 11 cifre, SENZA "IT"
    "codiceFiscale": "12345678903",                 // CF (per le società di solito = P.IVA)
    "regimeFiscale": "RF01",                         // RF01 ordinario, RF19 forfettario, ecc.
    "sede": {
      "indirizzo": "Via Roma 12",
      "cap": "00185",
      "comune": "Roma",
      "provincia": "RM",                             // sigla 2 lettere
      "nazione": "IT"
    },
    "pec": "rossicostruzioni@pec.it"                 // opzionale
  }
}
```

### Modo B — config tenant lato Optlyx

Se preferisci, l'azienda può essere registrata come tenant (identificata dal suo `studioId`) con i
campi anagrafici, e ometti `cessionario` nella call: il motore lo costruisce dalla config.
Gli stessi campi del Modo A (denominazione, piva/partitaIva, codiceFiscale, regimeFiscale,
sede.{indirizzo,cap,comune,provincia,nazione}, pec). **Se mancano, l'XML esce con
"N/A" / placeholder e viene scartato da SDI.**

## Campi: obbligatori vs opzionali

| Campo | Obbligatorio? | Note |
|---|---|---|
| **partitaIva** (`partitaIva`/`piva`) | ✅ **Sì** | 11 cifre, senza prefisso `IT`. È l'`IdFiscaleIVA` dell'XML. |
| **denominazione** | ✅ **Sì** | Ragione sociale per le società. Per ditta individuale/persona fisica usa invece `nome` + `cognome`. |
| **sede.indirizzo** | ✅ Sì | Via e civico. |
| **sede.cap** | ✅ Sì | 5 cifre. |
| **sede.comune** | ✅ Sì | |
| **sede.provincia** | ✅ Sì (sede IT) | Sigla 2 lettere (es. `MI`, `RM`). |
| **sede.nazione** | ✅ Sì | `IT`. |
| **codiceFiscale** | ⚠️ Consigliato | Per le società coincide con la P.IVA. Per persone fisiche è il CF a 16 char. |
| **regimeFiscale** | ⚠️ Consigliato | Default `RF01` se assente. Forfettari → `RF19`. |
| **pec** | ⬜ Opzionale | Recapito dell'azienda. |
| **codiceDestinatario** | — | **Ignorato**: nell'autofattura è sempre `0000000` (auto-fatturazione, l'azienda è destinataria di sé stessa). |

### Ditta individuale / persona fisica

Se l'azienda è una ditta individuale o un professionista, al posto di `denominazione`:

```jsonc
"cessionario": {
  "nome": "Mario",
  "cognome": "Rossi",
  "partitaIva": "01234567890",
  "codiceFiscale": "RSSMRA80A01H501U",   // CF 16 caratteri
  "regimeFiscale": "RF19",                // es. forfettario
  "sede": { "indirizzo": "...", "cap": "...", "comune": "...", "provincia": "...", "nazione": "IT" }
}
```

## Cosa NON serve configurare lato azienda

- **Canale SDI / credenziali di trasmissione** — l'invio a SDI lo fa **Recivu**, non l'azienda né Optlyx.
- **Firma digitale** — la firma (`.p7m`) è a carico vostro.
- **Dati del fornitore estero** — estratti automaticamente dal PDF.
- **Numero protocollo autofattura** — assegnato automaticamente (serie progressiva per
  tenant/anno/tipo). Puoi forzarlo passando `numeroOverride` se l'azienda usa una sua numerazione.

## Errori tipici se i dati azienda mancano/sono errati

| Sintomo | Causa | Fix |
|---|---|---|
| XML con `<Denominazione>N/A` | manca `denominazione` (o `nome`+`cognome`) | fornisci la ragione sociale |
| SDI scarta: P.IVA cedente/cessionario non valida | `partitaIva` assente o con prefisso `IT`/spazi | 11 cifre pulite |
| SDI scarta: provincia/CAP non validi | `sede.provincia` non è 2 lettere o `cap` ≠ 5 cifre | normalizza la sede |
| Regime fiscale errato | `regimeFiscale` non in formato `RFxx` | usa il codice corretto (RF01/RF19/…) |

## In sintesi

L'azienda cliente di Recivu deve avere, per ogni autofattura, **i propri dati fiscali
da cessionario**: P.IVA, ragione sociale, sede legale completa (indirizzo, CAP, comune,
provincia, nazione IT), e idealmente CF e regime fiscale. Li passi nell'oggetto
`cessionario` della call, oppure li registri come tenant lato Optlyx. Tutto il resto
(fornitore estero, TD, numerazione, conversione valuta) è automatico.
