Passa al contenuto

Il Modello account.move: Comprendere Fatture e Registrazioni in Odoo

Una guida completa al modello contabile centrale di Odoo per sviluppatori e consulenti funzionali
10 marzo 2026 di
Il Modello account.move: Comprendere Fatture e Registrazioni in Odoo
Dasolo
| Ancora nessun commento

Introduzione


In Odoo, i modelli definiscono come i dati sono strutturati e memorizzati nel database. Ogni pezzo di dati aziendali con cui lavori, dagli ordini di vendita alle fatture fino alle registrazioni contabili, vive in un modello.


Comprendere i modelli Odoo è essenziale sia per gli sviluppatori che per i consulenti funzionali. I modelli sono la base dell'architettura dei dati di Odoo. Definiscono i campi Odoo, le relazioni e la logica aziendale.

Questo articolo si concentra su uno dei modelli più importanti nella contabilità di Odoo: account.move. Che tu stia creando report personalizzati, integrando sistemi esterni o configurando flussi di lavoro per la fatturazione, lavorerai con questo modello.

Cos'è il modello account.move


Il modello account.move rappresenta le registrazioni contabili in Odoo. In Odoo 13 e versioni successive, ha unificato quelli che erano modelli separati: fatture clienti, fatture fornitori, note di credito e registrazioni manuali. Oggi, tutti vivono in account.move.


Questo modello in Odoo è utilizzato dal modulo Contabilità. È il genitore di account.move.line, che contiene le singole righe di addebito e accredito. Ogni fattura, bolletta o registrazione è un record account.move con una o più righe.


Il modello è definito nel modulo account. Altri moduli lo estendono attraverso l'ereditarietà dei modelli Odoo. Il modulo Vendite aggiunge la creazione di fatture dagli ordini. Il modulo Acquisti aggiunge la creazione di fatture. Ogni modulo aggiunge ciò di cui ha bisogno senza duplicare la struttura di base.

Campi chiave nel modello


Ecco i campi Odoo più importanti nel modello account.move. Comprendere questi campi ti aiuterà a lavorare in modo efficace con fatture, bollette e registrazioni.


1. name

Tipo: Char. Questo campo memorizza il numero o il nome della registrazione contabile. È tipicamente generato automaticamente dalla sequenza del giornale. Visualizzato nelle viste elenco e sui documenti stampati.


2. move_type

Tipo: Selezione. Determina il tipo di registrazione: entry (registrazione contabile manuale), out_invoice (fattura cliente), out_refund (nota di credito cliente), in_invoice (fattura fornitore), in_refund (nota di credito fornitore). Questo campo determina quali viste e flussi di lavoro si applicano.


3. state

Tipo: Selezione. Lo stato del flusso di lavoro: bozza, pubblicato o annullato. Le registrazioni in bozza possono essere modificate. Le registrazioni pubblicate sono bloccate e influenzano il libro mastro generale. Annullare inverte l'effetto.


4. date

Tipo: Data. La data del documento. Utilizzata per la reportistica, l'invecchiamento e la chiusura del periodo. Per le fatture, questa è spesso la data della fattura.


5. journal_id

Tipo: Many2one (account.journal). Il giornale a cui appartiene questo movimento. I giornali di Vendita, Acquisto, Banca e Vari hanno ciascuno il proprio. Il giornale determina la sequenza e i conti predefiniti.


6. company_id

Tipo: Many2one (res.company). In configurazioni multi-azienda, questo indica a quale azienda appartiene il movimento. Influisce sulla visibilità dei record e sulla consolidazione.


7. partner_id

Tipo: Many2one (res.partner). Il cliente o fornitore. Richiesto per fatture e bollette. Utilizzato per report di scadenza, abbinamento pagamenti e intestazioni dei documenti.


8. currency_id

Tipo: Many2one (res.currency). La valuta del movimento. Gli importi sono memorizzati in questa valuta. I movimenti in valuta estera utilizzano la valuta dell'azienda per la reportistica.


9. amount_total

Tipo: Monetario. L'importo totale del movimento. Per le fatture, questo è l'importo dovuto. Calcolato dalle righe.


10. amount_residual

Tipo: Monetario. L'importo non pagato. Per le fatture pagate, questo è zero. Utilizzato per flussi di lavoro di scadenza e pagamento.


11. stato_pagamento

Tipo: Selezione. Stato del pagamento: non_pagato, in_pagamento, pagato, parziale, annullato, o fatturazione_legacy. Guida ai promemoria di pagamento e alla reportistica.


12. linee_ids

Tipo: One2many (account.move.line). Le righe della registrazione contabile. Ogni riga ha un conto, un addebito e un accredito. La somma degli addebiti deve essere uguale alla somma degli accrediti.


13. righe_fattura_ids

Tipo: One2many (account.move.line). Per fatture e bollette, queste sono le righe di prodotto o servizio. Ogni riga genera una o più righe di registrazione contabile quando viene registrata.


14. data_fattura

Tipo: Data. La data della fattura. Utilizzata per la fatturazione e i periodi fiscali. Può differire dalla data di registrazione in alcune configurazioni.


15. data_scadenza_fattura

Tipo: Data. La data di scadenza del pagamento. Calcolata in base ai termini di pagamento o impostata manualmente. Utilizzata per l'invecchiamento e il sollecito.


16. rif

Tipo: Char. Riferimento esterno o numero della bolletta del fornitore. Utile per abbinare i pagamenti e riconciliare con documenti esterni.


17. invoice_origin

Tipo: Char. Il documento sorgente. Per le fatture provenienti da ordini di vendita, memorizza il numero dell'ordine di vendita. Consente la tracciabilità dall'ordine alla fattura.


18. create_date

Tipo: Datetime. Memorizza la data e l'ora in cui il record è stato creato. Gestito automaticamente da Odoo.


19. write_date

Tipo: Datetime. Memorizza la data e l'ora dell'ultima modifica. Anche questo gestito automaticamente.


20. narration

Tipo: Testo. Note interne o memo. Visualizzato sulle voci di giornale stampate. Non mostrato ai clienti sulle fatture.


21. fiscal_position_id

Tipo: Many2one (account.fiscal.position). La posizione fiscale per le regole fiscali. Determina quali tasse si applicano in base al partner e al paese.


22. invoice_payment_term_id

Tipo: Many2one (account.payment.term). Termini di pagamento (ad es. Net 30). Utilizzato per calcolare invoice_date_due e suddividere i pagamenti.


23. invoice_user_id

Tipo: Many2one (res.users). L'utente venditore o responsabile per la fattura. Utilizzato per commissioni e reportistica.


24. reversed_entry_id

Tipo: Many2one (account.move). Per le voci annullate, questo si collega al movimento di annullamento. Abilita la tracciabilità delle correzioni.


25. to_check

Tipo: Boolean. Flag per le voci che necessitano di revisione. Utilizzato nella riconciliazione bancaria e nei flussi di lavoro delle eccezioni.


26. active

Tipo: Boolean. Flag di cancellazione soft. Quando è False, il record è archiviato. I movimenti annullati sono tipicamente impostati su active=False.


27. sequence_number

Tipo: Integer. Il numero di sequenza dal giornale. Utilizzato per ordinare e visualizzare. Gestito dal mixin di sequenza.


28. amount_untaxed

Tipo: Monetario. Il subtotale prima delle tasse. Per le fatture, questo è la somma degli importi delle righe prima delle tasse.


29. amount_tax

Tipo: Monetario. L'importo totale delle tasse. Calcolato dalle righe della fattura e dalla configurazione fiscale.


30. invoice_source_email

Tipo: Char. Per le fatture dei fornitori create da email, questo memorizza l'indirizzo email di origine. Utilizzato per l'ingestione automatica delle fatture.

Come questo modello viene utilizzato nei flussi di lavoro aziendali


1. Fatturazione Clienti

Quando un ordine di vendita viene consegnato, Odoo crea un account.move con move_type out_invoice. Gli invoice_line_ids provengono dalle righe dell'ordine. La registrazione del movimento crea le righe di registrazione del giornale e aggiorna i crediti.


2. Fatture Fornitori

Gli ordini di acquisto possono generare fatture, oppure le fatture vengono inserite manualmente. Ogni fattura è un account.move con move_type in_invoice. Il partner_id è il fornitore. La registrazione aggiorna i debiti.


3. Riconciliazione dei Pagamenti

I pagamenti vengono abbinati alle fatture utilizzando i campi amount_residual e payment_state. Il processo di riconciliazione collega i movimenti di pagamento ai movimenti di fattura e cancella il residuo.


4. Registrazioni Manuali nel Giornale

I contabili creano movimenti con move_type entry per aggiustamenti, accantonamenti o correzioni. Aggiungono manualmente line_ids con conti, debiti e crediti. Il movimento deve bilanciarsi prima della registrazione.


5. Note di Credito e Rimborsi

Le note di credito sono movimenti con move_type out_refund o in_refund. Esse annullano l'effetto della fattura o della bolletta originale. L'reversed_entry_id si collega all'originale per audit.

Come gli sviluppatori estendono questo modello


Gli sviluppatori estendono account.move utilizzando diversi modelli. L'ereditarietà dei modelli Odoo è il meccanismo principale.


Ereditarietà dei Modelli

Usa _inherit = 'account.move' per estendere il modello. Aggiungi nuovi campi Odoo, sovrascrivi metodi o aggiungi vincoli. Il modello ereditato in Odoo mantiene le tue modifiche in un modulo separato per aggiornamenti facili.


Aggiunta di Campi

Definisci nuovi campi Odoo nel tuo modello ereditato. Usa il tipo di campo corretto: Char, Many2one, Boolean, Integer, Text, Selection. Considera i campi dipendenti dalla società per multi-società. Per campi specifici della fattura, usa un dominio su move_type.


Estensioni Python

Sovrascrivi create, write, _post o button_draft per aggiungere logica. Usa super() per chiamare l'originale. Fai attenzione ai campi calcolati e alle loro dipendenze. I decoratori del modello API in Odoo (@api.model, @api.depends) controllano quando vengono eseguiti i metodi.


Odoo Studio

Odoo Studio ti consente di aggiungere campi senza codice. Ottimo per personalizzazioni rapide come campi di riferimento aggiuntivi. Per logica complessa, convalida o azioni automatizzate, i moduli personalizzati sono più manutenibili.


Nota: account.move è un modello regolare, non un modello astratto Odoo o un modello transitorio Odoo. I modelli astratti sono utilizzati come modelli e non creano tabelle di database. I modelli transitori sono temporanei e utilizzati per wizard. account.move memorizza dati contabili permanenti.

Migliori pratiche


  • Filtra sempre per move_type quando costruisci report o integrazioni. I diversi tipi hanno campi e comportamenti richiesti diversi.
  • Utilizza il giornale corretto per ogni tipo di movimento. Mescolare i giornali può interrompere le sequenze e la reportistica.
  • Quando crei movimenti tramite API, assicurati che line_ids siano bilanciati (debiti = crediti) prima di pubblicare. I movimenti non bilanciati falliranno la validazione.
  • Per la creazione di fatture da sistemi esterni, mappa i tuoi tipi di documento a move_type correttamente. out_invoice per le vendite, in_invoice per gli acquisti.
  • Utilizza il prefisso x_ per i campi personalizzati per evitare conflitti con le future versioni di Odoo.

Errori comuni


  • Pubblicare movimenti senza righe bilanciate. Odoo rifiuterà la pubblicazione. Verifica sempre che i totali di debito e credito corrispondano.
  • Modificare direttamente i movimenti pubblicati. I movimenti pubblicati sono bloccati. Utilizza una rettifica e crea un nuovo movimento invece.
  • Dimenticare di impostare partner_id sui movimenti di clienti o fornitori. Molti report e flussi di lavoro dipendono da questo.
  • Utilizzare il tipo di movimento sbagliato. Un out_refund non è lo stesso di una negativa out_invoice. Usa il tipo corretto per rimborsi e note di credito.
  • Sovrascrivere metodi core senza chiamare super(). Questo può interrompere altri moduli o futuri aggiornamenti.

Conclusione


Il modello account.move è centrale per la contabilità di Odoo. Rappresenta fatture, bollette e registrazioni di giornale in una struttura unificata. Comprendere i suoi campi e come i moduli lo estendono ti aiuterà a configurare, personalizzare e integrare Odoo in modo efficace.


Che tu sia un consulente funzionale che mappa i processi aziendali o uno sviluppatore che costruisce moduli personalizzati, una solida comprensione di account.move ti farà risparmiare tempo e prevenire errori.

Hai bisogno di aiuto con la tua implementazione di Odoo?


Dasolo aiuta le aziende a implementare, personalizzare e ottimizzare Odoo. Siamo specializzati in integrazioni API e sviluppo Odoo. Il nostro team ha una profonda esperienza con l'architettura dei dati di Odoo e modelli come account.move.

Se hai bisogno di aiuto con la tua implementazione di Odoo, moduli personalizzati o integrazioni, siamo qui per aiutarti. Prenota una demo per discutere del tuo progetto.

Il Modello account.move: Comprendere Fatture e Registrazioni in Odoo
Dasolo 10 marzo 2026
Condividi articolo
Accedi per lasciare un commento