Vai al contenuto principale
Portugal SAF-T (PT) File Checks

Avviare Portugal SAF-T (PT) File Checks in Odoo, raccontato con un caso pratico

Per avviare Portugal SAF-T (PT) File Checks devi capire tre cose: il modulo di configurazione ATCUD che crei da Invoicing, i campi che legano ogni record a un'azienda e a uno schema, e gli stati di ogni elenco, come Draft, Generated, Validated, Validation Failed e Submitted nella generazione dei file. Qui li vediamo con un'azienda inventata, dal primo giorno alla fine della prima settimana.

FlexigoTech · Responsabile: Víctor Gómez · Aggiornato il 4 novembre 2026

In breve

Versioni
Odoo 17, 18, 19 e 20
Verificato
nel codice del modulo, versione 20.0 · nelle fonti collegate in fondo
Lettura
5 min

Distribuzioni Ribeira, il filo del caso

Esempio Caso illustrativo: l'azienda e i suoi dati sono inventati per spiegare il flusso.

Distribuzioni Ribeira è un'azienda inventata che fattura in Portogallo da Odoo 18 e gestisce una seconda società nello stesso database. Marta, responsabile dell'amministrazione, deve mettere a punto Portugal SAF-T (PT) File Checks. Il caso non ha cifre: conta quali schermate apre, quali campi controlla e quali stati incontra.

Il modulo è pubblicato su Odoo Apps per 17.0, 18.0, 19.0 e 20.0, quindi Marta sceglie la scheda della sua versione. Costa 9 € per versione di Odoo, pagamento unico e IVA esclusa, in tutte e quattro le versioni, e poiché include un servizio locale di FlexigoTech Cloud si aggiunge l'abbonamento di 29 €/mese o 290 €/anno IVA esclusa (Pro: 58 €/mese o 580 €/anno).

Primo giorno: il modulo di configurazione ATCUD

Quando crea una nuova configurazione ATCUD da Invoicing, Marta trova un modulo diviso in sezioni: informazioni aziendali, ATCUD, e-mail e notifiche, e caricamento. È compilato solo l'URL dell'endpoint; il resto è vuoto.

Nuovo modulo di configurazione ATCUD in Fatturazione con le sezioni informazioni aziendali, ATCUD, e-mail e notifiche e caricamento
Configurazione ATCUD appena creata, ancora senza dati: c'è solo l'URL dell'endpoint e la parte inferiore della schermata è tagliata.

Marta scorre il modulo sezione per sezione, dall'alto in basso, compresa la parte che non entra nello schermo. Il fatto che l'URL dell'endpoint sia già scritto non le dice nulla sul resto, quindi non considera completa la configurazione finché non l'ha controllata tutta.

I campi che Marta guarda con attenzione

Prima di generare qualsiasi cosa, Marta ripassa i campi del modulo che la riguardano. Questi sono quelli che individua:

  • company_id: compare in diversi modelli del modulo come relazione con res.company. Con due società nello stesso database, Marta verifica a quale azienda appartiene ogni record.
  • schema_url, con l'etichetta SAF-T Schema URL: secondo la descrizione del campo, è l'URL da cui si ottiene lo schema XSD del SAF-T portoghese.
  • export_file_csv: un allegato (ir.attachment) descritto come Exported CSV format.
  • transaction_count, con l'etichetta Transaction Count: il numero di transazioni incluse nel SAF-T.
  • name, con l'etichetta Request ID.
  • submission_id: relazione con saft.submission, descritta come Related SAF-T submission if applicable.

Marta non attribuisce a questi campi altra funzione oltre a quella indicata dal nome o dalla descrizione. Se ti serve sapere come si collegano internamente, lo trovi in come funziona il modulo dall'interno.

Gli stati che può avere ogni record

Il secondo giorno Marta impara i valori di stato definiti dal modulo. Sono quattro gruppi distinti, ed è meglio non confonderli:

  • Campo state con Draft, Exported e Submitted.
  • Campo status con Draft, Processing, Approved e Denied.
  • Campo state con Draft, Generated, Validated, Validation Failed e Submitted. Sono quelli che vedi nell'elenco Generate SAF-T Files.
  • Campo state con Draft, Validated, Submitted, Accepted, Rejected, ATCUD Unreachable e Error.

Da questo elenco Marta annota i valori che vuole tenere sotto controllo ogni giorno: Validation Failed, Denied, Rejected, ATCUD Unreachable e Error. Non dà per scontata la causa di nessuno; quando ne compare uno, cerca il testo esatto dell'avviso nella guida ai messaggi di errore del modulo.

La prima settimana: cosa controlla ogni mattina

Con la configurazione fatta, nella prima settimana Marta apre ogni mattina le stesse schermate nello stesso ordine. Il giro è questo:

Giro tra gli elenchi Annual SAF-T Statistics, SAF-T Error Logs e Generate SAF-T Files in Fatturazione
Le statistiche annuali SAF-T con azienda, anno, documenti, valore e stato; i log degli errori con data, tipo, gravità, messaggio e la casella risolto non spuntata; e la generazione dei file con periodi in Draft, Generated, Validated, Validation Failed e Submitted, con dimensione e transazioni a zero.
  • In Invoicing › Annual SAF-T Statistics guarda le colonne Company, Year, Total Documents, Total Value e State, e verifica che ogni riga corrisponda alla società che si aspetta.
  • In SAF-T Error Logs legge data, tipo di errore, gravità e messaggio di ogni record, e nota quali hanno ancora la casella risolto non spuntata.
  • In Generate SAF-T Files controlla lo stato di ogni periodo, dall'inizio alla fine, insieme alla dimensione del file e alle transazioni.

Nel suo database, con due società, la colonna Company è la prima che Marta guarda. Lo stesso elenco ha il pulsante New e la barra di ricerca:

Elenco delle statistiche annuali SAF-T con righe per azienda, anno, totale documenti, valore totale e stato, con pulsante New e barra di ricerca
Lo stesso elenco delle statistiche annuali, con cinque righe in stato Borrador o Exportado.

Cosa insegna il caso Ribeira

  • Il nuovo modulo ATCUD si presenta quasi vuoto, con il solo URL dell'endpoint: controllalo sezione per sezione, compresa la parte che non entra nello schermo, prima di considerarlo completo.
  • company_id è presente in diversi modelli. Se hai più di una società, controlla l'azienda di ogni record prima di tutto il resto.
  • Ci sono quattro gruppi di stati diversi. Impara in quale elenco vedi ciascuno e quali valori vuoi tenere d'occhio.
  • I tre elenchi del giro (statistiche annuali, log degli errori e generazione dei file) sono la routine di Marta nella prima settimana.

Come ti aiuta FlexigoTech

FlexigoTech implementa Odoo 17, 18, 19 e 20 e sviluppa connettori e integrazioni su misura, quindi possiamo preparare con te la configurazione ATCUD e le società. Se acquisti il modulo dalla sua pagina su flexigotech.com, l'abbonamento include il modulo per le nuove versioni di Odoo; sull'Odoo App Store, invece, ogni versione si acquista lì (scheda su Odoo Apps). Senza abbonamento, o con il servizio sospeso, si ferma ciò che fornisce l'abbonamento, e i dati restano nel tuo Odoo. Se hai ancora dubbi sul fatto che faccia al caso tuo, leggi prima cosa copre e cosa serve prima di installarlo.

Continua a leggere

Come funziona Portugal SAF-T (PT) File Checks in Odoo, dall'internoI menu che Portugal SAF-T (PT) File Checks aggiunge a Fatturazione, i modelli dietro, gli stati delle sue liste e quale parte usa un servizio esterno.Errori di Portugal SAF-T (PT) File Checks: quando compare ogni messaggio e cosa fareOgni messaggio di errore di Portugal SAF-T (PT) File Checks parola per parola: quando compare, cosa significa e cosa fare in Odoo, dalla generazione all'invio ATCUD.Portugal SAF-T (PT) File Checks: cosa copre, cosa ti serve prima e per quale versione di OdooCosa copre Portugal SAF-T (PT) File Checks secondo il README, cosa ti serve prima di installarlo (NIF, ATCUD, e-mail) e per quali versioni di Odoo esiste.
Verificato nel codice del modulo (versione 20.0) e nelle fonti collegate

Fonti