# BR-O-08 L’imponibile non soggetto a IVA deve essere pari alla somma di righe e rettifiche

In una ripartizione IVA (BG-23) in cui il codice categoria IVA (BT-118) è « non soggetto a IVA » (O), l’imponibile della categoria (BT-116) deve essere pari alla somma degli importi netti delle righe (BT-131) meno la somma degli importi degli sconti a livello di documento (BT-92) più la somma degli importi degli oneri a livello di documento (BT-99) con categoria O.

## Descrizione del problema

> **ERRORE**: Regola EN 16931 sulla categoria IVA

## Contesto e significato

Questa regola EN16931 mantiene l’importo della ripartizione O coerente con righe, sconti e oneri di categoria O, affinché il riepilogo sia verificabile. In pratica la differenza compare quando uno sconto o un onere a livello di documento di categoria O non viene incluso in BT-116.

## Soluzione

Calcola BT-116 come Σ BT-131 − Σ BT-92 + Σ BT-99 limitato a righe, sconti e oneri di categoria O e inseriscilo nel TaxableAmount del TaxSubtotal O.

- [Valida XML](/it/xrechnung-validator?source=resource&rule=BR-O-08)
- [Converti fattura](/it/pdf-to-xrechnung?source=resource&rule=BR-O-08)

## Esempi validi

- Righe O nette 100,00, nessuno sconto od onere O → BT-116 = 100,00

## Esempi non validi

- Righe O nette 100,00 ma BT-116 indicato come 90,00

## Esempi di codice

### XML valido
```
<cac:TaxSubtotal>
  <cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount>
  <cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
  <cac:TaxCategory><cbc:ID>O</cbc:ID><cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme></cac:TaxCategory>
</cac:TaxSubtotal>
```

### XML non valido
```
<cac:TaxSubtotal>
  <cbc:TaxableAmount currencyID="EUR">90.00</cbc:TaxableAmount>
  <cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
  <cac:TaxCategory><cbc:ID>O</cbc:ID><cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme></cac:TaxCategory>
</cac:TaxSubtotal>
```

## Campi interessati

- [BT-116 Imponibile della categoria IVA](/resources/xrechnung/bt-116-vat-category-taxable-amount)
- [BT-131 Importo netto della riga di fattura](/resources/xrechnung/bt-131-invoice-line-net-amount)
- [BT-92 Importo dello sconto a livello di documento](/resources/xrechnung/bt-92-document-level-allowance-amount)
- [BT-99 Importo dell’onere a livello di documento](/resources/xrechnung/bt-99-document-level-charge-amount)

## Regole correlate

- [BR-O-01](/resources/kosit-validator-errors/br-o-01-not-subject-vat-breakdown-required)
- [BR-O-09](/resources/kosit-validator-errors/br-o-09-not-subject-tax-amount-zero)
- [BR-CO-18](/resources/kosit-validator-errors/br-co-18-vat-breakdown-required)

## Strumenti di validazione

- [Validatore KoSIT ufficiale](https://github.com/itplr-kosit/validator): Esegui il validatore ufficiale KoSIT con la configurazione XRechnung per controllare le regole EN 16931 e XRechnung.
- [Converti PDF in XRechnung](/pdf-to-xrechnung): Individua gli errori di validazione durante la conversione e verifica ogni correzione.

## Risorse correlate

- [Specifiche ufficiali](https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/)
- [Test suite](https://github.com/itplr-kosit/xrechnung-testsuite)
- [Tutti gli errori di validazione](/resources/kosit-validator-errors): Panoramica delle regole di validazione EN 16931, XRechnung e Peppol spiegate qui.
