# BR-S-1 Le righe ad aliquota standard richiedono una corrispondente riga nella ripartizione IVA

Se una riga, uno sconto o un onere a livello documento è ad aliquota standard (codice categoria IVA "S"), la ripartizione IVA (BG-23) deve contenere almeno una riga con codice "S".

## Descrizione del problema

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

> **Dove viene controllata BR-S-01**
>
> Un validatore controlla una fattura elettronica per fasi. Prima il file deve essere XML ben formato e conforme allo schema UBL o CII (XSD). Poi si applicano le regole di business della EN 16931: regole di base BR, calcoli BR-CO, liste di codici BR-CL, decimali BR-DEC e regole per categoria IVA come BR-S. Seguono le regole nazionali o di rete selezionate da BT-24: BR-DE per XRechnung, PEPPOL-EN16931 per Peppol BIS Billing. Il report elenca ogni regola violata: un errore significa rifiuto, i soli avvisi significano comunque accettazione. BR-S-01: regola di categoria IVA EN 16931, fase «Regole EN 16931».

## Contesto e significato

Una riga ad aliquota standard senza ripartizione corrispondente lascia la base imponibile non dichiarata e l’IVA totale non riconducibile a una categoria. L’errore nasce tipicamente quando un onere a livello documento, come le spese di spedizione, riceve la categoria "S" ma il software genera le righe di ripartizione solo dalle righe di fattura, oppure quando la categoria di una riga viene modificata a mano dopo la generazione della ripartizione.

## Soluzione

Aggiungi una riga di ripartizione IVA (UBL: cac:TaxTotal/cac:TaxSubtotal; CII: ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax) con BT-118 = "S" per ogni aliquota usata (BT-119), con imponibile e imposta corrispondenti.

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

## Esempi validi

- Riga BT-151 = "S" più riga di ripartizione BT-118 = "S", BT-119 = 19
- Sconto documento BT-95 = "S" più riga di ripartizione corrispondente

## Esempi non validi

- Riga BT-151 = "S" ma la ripartizione contiene solo righe "Z"
- Onere documento BT-102 = "S" senza riga "S" nella ripartizione

## Esempi di codice

### XML valido
```
<cac:TaxTotal>
  <cbc:TaxAmount currencyID="EUR">19.00</cbc:TaxAmount>
  <cac:TaxSubtotal>
    <cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount>
    <cbc:TaxAmount currencyID="EUR">19.00</cbc:TaxAmount>
    <cac:TaxCategory>
      <cbc:ID>S</cbc:ID>
      <cbc:Percent>19</cbc:Percent>
      <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
    </cac:TaxCategory>
  </cac:TaxSubtotal>
</cac:TaxTotal>
<cac:InvoiceLine>
  <cbc:LineExtensionAmount currencyID="EUR">100.00</cbc:LineExtensionAmount>
  <cac:Item>
    <cac:ClassifiedTaxCategory>
      <cbc:ID>S</cbc:ID>
      <cbc:Percent>19</cbc:Percent>
      <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
    </cac:ClassifiedTaxCategory>
  </cac:Item>
</cac:InvoiceLine>
```

### XML non valido
```
<cac:TaxTotal>
  <cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
  <cac:TaxSubtotal>
    <cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount>
    <cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
    <cac:TaxCategory>
      <cbc:ID>Z</cbc:ID>
      <cbc:Percent>0</cbc:Percent>
      <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
    </cac:TaxCategory>
  </cac:TaxSubtotal>
</cac:TaxTotal>
<cac:InvoiceLine>
  <cbc:LineExtensionAmount currencyID="EUR">100.00</cbc:LineExtensionAmount>
  <cac:Item>
    <cac:ClassifiedTaxCategory>
      <cbc:ID>S</cbc:ID>
      <cbc:Percent>19</cbc:Percent>
      <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
    </cac:ClassifiedTaxCategory>
  </cac:Item>
</cac:InvoiceLine>
```

## Campi interessati

- [BT-118 Codice categoria IVA](/resources/xrechnung/bt-118-vat-category-code)
- [BT-151 Codice categoria IVA dell’articolo fatturato](/resources/xrechnung/bt-151-invoice-line-vat-category-code)
- [BT-95 Codice categoria IVA dello sconto a livello documento](/resources/xrechnung/bt-95-document-level-allowance-vat-category-code)
- [BT-102 Codice categoria IVA dell’onere a livello documento](/resources/xrechnung/bt-102-document-level-charge-vat-category-code)

## Regole correlate

- [BR-CO-4](/resources/kosit-validator-errors/br-co-4-each-invoice-line-must-have-vat-category-code)
- [BR-S-5](/resources/kosit-validator-errors/br-s-05-standard-rated-line-vat-rate-must-be-positive)
- [BR-S-8](/resources/kosit-validator-errors/br-s-08-standard-rated-taxable-amount-must-match-lines-charges-allowances)

## 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.
