# 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

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