SAFTCheck
Documentazione / currency-exchange
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 CurrencyVerdetto
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.

Altre regole

Usiamo un cookie di sessione per l'accesso, un cookie locale per la preferenza linguistica e Tawk.to per il widget di chat (che imposta i propri cookie quando apri la chat). Google Analytics (GA4) si carica solo dopo la tua accettazione, con anonimizzazione dell'IP; nessun tracker pubblicitario. Vedi la nostra Informativa sulla privacy.