invoice.currency.exchange
I documenti in valuta estera richiedono un blocco <Currency> completo
Quando un documento dichiara una valuta diversa da EUR, CurrencyCode + CurrencyAmount + ExchangeRate devono essere tutti presenti.
Cosa controlla
Quando un documento di vendita / pagamento / lavoro dichiara una valuta diversa da EUR tramite un blocco <Currency>, sono obbligatori tre figli:
CurrencyCode— ISO-4217 (es.USD,GBP,BRL).CurrencyAmount— importo lordo nella valuta estera.ExchangeRate— tasso numerico positivo verso EUR alla data del documento.
Se uno qualsiasi di questi è mancante, vuoto o non positivo, la regola scatta.
Perché interessa all'AT
Il motore fiscale dell'AT converte ogni documento in valuta estera in EUR per IVA e aggregati SAF-T. Senza un tasso di cambio non può fare la conversione e il documento viene rifiutato in ingresso. L'XSD impone la presenza di <Currency> solo quando l'elemento esiste — non impone che tutti e tre i figli siano insieme.
Esempi
| Blocco Currency | Verdetto |
|---|---|
USD / 100.00 / 0.92 | ✓ |
USD / 100.00 / 0 | ✗ ExchangeRate dev'essere > 0 |
USD / 100.00 / (mancante) | ✗ ExchangeRate mancante |
(nessun blocco Currency) | ✓ Documento in EUR, la regola non scatta |
Come correggere
Se il documento è effettivamente in valuta estera, modificalo nell'ERP per registrare il tasso di cambio del giorno (il Banco de Portugal pubblica tassi di riferimento giornalieri). Se il documento è in EUR, rimuovi l'elemento <Currency> spurio dall'esportazione.