Passa al contenuto

Il Modello account.move.line: Comprendere le Linee di Registrazione di Odoo

Una guida completa al modello di linea delle registrazioni contabili di Odoo per sviluppatori e consulenti funzionali
10 marzo 2026 di
Il Modello account.move.line: Comprendere le Linee di Registrazione di 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 di giornale, vive in un modello.


Comprendere i modelli di 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 di Odoo, le relazioni e la logica aziendale.

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

Cos'è il modello account.move.line


Il modello account.move.line rappresenta le singole righe di registrazione nel diario in Odoo. Ogni riga è un addebito o un accredito in una registrazione. Insieme, le righe di una registrazione devono bilanciarsi: il totale degli addebiti deve essere uguale al totale degli accrediti.


Questo modello in Odoo è utilizzato dal modulo Contabilità. È il figlio di account.move, che rappresenta la registrazione stessa (fatture, bollette, estratti conto bancari, registrazioni nel diario). Ogni registrazione ha una o più righe.


Il modello è definito nel modulo account. Altri moduli lo estendono attraverso l'ereditarietà dei modelli Odoo. Il modulo Vendite aggiunge dettagli sulle righe delle fatture. Il modulo Acquisti aggiunge dettagli sulle righe delle bollette. Il modulo Contabilità analitica aggiunge distribuzione analitica. Ogni modulo aggiunge ciò di cui ha bisogno senza duplicare la struttura di base.

Campi chiave nel modello


Ecco i campi più importanti del modello account.move.line in Odoo. Comprendere questi campi ti aiuterà a lavorare in modo efficace con le registrazioni e i dati contabili.


1. nome

Tipo: Char. Questo campo memorizza l'etichetta o la descrizione della riga. È obbligatorio e tipicamente visualizzato nelle viste e nei report delle registrazioni. Per le righe delle fatture, spesso proviene dal nome del prodotto o da una descrizione personalizzata.


2. move_id

Tipo: Many2one (account.move). Collega la riga alla sua registrazione genitore. Ogni riga appartiene esattamente a una registrazione. Questa è la relazione principale nel modello.


3. account_id

Tipo: Many2one (account.account). Il conto a cui questa riga è registrata. Obbligatorio. Deve essere un conto non di visualizzazione e non chiuso. Utilizzato per la reportistica e il raggruppamento del piano dei conti.


4. addebito

Tipo: Float. L'importo dell'addebito. Il valore predefinito è 0.0. Per ogni riga, viene impostato o l'addebito o l'accredito, non entrambi. Gli addebiti aumentano i conti attivi e di spesa.


5. credito

Tipo: Float. L'importo del credito. Il valore predefinito è 0.0. I crediti aumentano i conti di passività, patrimonio netto e ricavi. La somma di tutti i debiti deve essere uguale alla somma di tutti i crediti in un movimento.


6. saldo

Tipo: Float. Un campo calcolato: debito meno credito. Rappresenta l'effetto netto della riga. Positivo per i debiti, negativo per i crediti. Utilizzato nei report e nella riconciliazione.


7. partner_id

Tipo: Many2one (res.partner). Il cliente, fornitore o altra parte collegata a questa riga. Utilizzato per il monitoraggio dei crediti e debiti, report di scadenza e riconciliazione.


8. data

Tipo: Data. La data effettiva della riga. Di solito ereditata dal movimento genitore. Utilizzata per la chiusura dei periodi, reportistica e scadenza.


9. data_scadenza

Tipo: Data. La data di scadenza per il pagamento. Rilevante per i crediti e debiti. Utilizzata per report di scadenza e programmazione dei pagamenti.


10. currency_id

Tipo: Many2one (res.currency). La valuta della riga. Può differire dalla valuta aziendale per le voci in multi-valuta.


11. amount_currency

Tipo: Float. L'importo nella valuta della riga. Utilizzato quando la registrazione contabile è in una valuta estera. Insieme a currency_id, consente la contabilità in più valute.


12. quantity

Tipo: Float. Quantità opzionale. Utilizzato per righe basate su prodotti (fatture, bollette). Consente reportistica basata sulla quantità e calcoli del prezzo unitario.


13. product_id

Tipo: Many2one (product.product). Il prodotto collegato a questa riga. Popolato quando la riga proviene da un ordine di vendita, un ordine di acquisto o una riga di fattura.


14. product_uom_id

Tipo: Many2one (uom.uom). L'unità di misura per la quantità. Utilizzato con product_id per una corretta visualizzazione e conversione della quantità.


15. price_unit

Tipo: Float. Il prezzo unitario. Utilizzato con la quantità per calcolare gli importi sulle righe di fattura e bolletta.


16. tax_ids

Tipo: Many2many (account.tax). Tasse applicate a questa riga. Odoo crea righe aggiuntive per gli importi delle tasse durante la registrazione. Utilizzato per calcoli IVA e altre tasse.


17. tax_line_id

Tipo: Many2one (account.tax). Per le righe fiscali, questo fa riferimento all'imposta che ha generato la riga. Distingue le righe fiscali dalle righe contabili regolari.


18. analytic_account_id

Tipo: Many2one (account.analytic.account). Il conto analitico per il monitoraggio dei costi e dei ricavi. Utilizzato quando la contabilità analitica è abilitata.


19. analytic_distribution

Tipo: Json o Testo. Memorizza la distribuzione analitica su più conti analitici. Sostituisce analytic_account_id nelle versioni più recenti di Odoo quando si utilizzano piani analitici.


20. ref

Tipo: Char. Di solito correlato al movimento genitore. Riferimento esterno o memo. Visualizzato nei report e utilizzato per il matching nella riconciliazione.


21. narration

Tipo: Testo. Di solito correlato al movimento genitore. Nota interna o memo. Non stampato sui documenti destinati ai clienti per impostazione predefinita.


22. journal_id

Tipo: Many2one (account.journal). Il giornale del movimento genitore. Utilizzato per filtrare e riportare per giornale.


23. company_id

Tipo: Many2one (res.company). L'azienda. In configurazioni multi-azienda, ogni riga appartiene a un'azienda. Influisce sulla visibilità dei record e sulla consolidazione.


24. reconciled

Tipo: Booleano. Indica se la riga è stata completamente riconciliata. Utilizzato per filtrare gli elementi non riconciliati nelle viste di riconciliazione.


25. full_reconcile_id

Tipo: Many2one (account.full.reconcile). Collega tutte le righe che sono state riconciliate insieme. Abilita il tracciamento dei gruppi di riconciliazione.


26. payment_id

Tipo: Many2one (account.payment). Per le righe di pagamento, collega al record di pagamento. Utilizzato quando si riconciliano fatture con pagamenti.


27. statement_id

Tipo: Many2one (account.bank.statement). Per le righe di estratto conto bancario, collega all'estratto conto. Utilizzato nella riconciliazione bancaria.


28. statement_line_id

Tipo: Many2one (account.bank.statement.line). Collega alla specifica riga dell'estratto conto bancario. Utilizzato quando si abbinano movimenti a transazioni bancarie.


29. display_type

Tipo: Selezione. Può essere 'line_section' o 'line_note' per intestazioni di sezione e note nell'annotazione del diario. Queste righe non hanno addebiti o accrediti e sono solo per visualizzazione.


30. create_date

Tipo: Data e ora. Memorizza quando è stato creato il record. Gestito automaticamente da Odoo. Utile per la revisione.


31. write_date

Tipo: Data e ora. Memorizza quando il record è stato modificato per l'ultima volta. Gestito automaticamente. Aiuta a tenere traccia delle modifiche nel tempo.

Come viene utilizzato questo modello nei flussi di lavoro aziendali


1. Fatturazione Clienti

Quando confermi una fattura, Odoo crea record account.move.line. Le righe di entrate vanno ai conti di reddito. Le righe di crediti vanno al conto crediti clienti. Le righe fiscali vengono create per ogni tassa. Il partner_id si collega al cliente per l'invecchiamento e la riconciliazione.


2. Fatture Fornitori

Le fatture creano righe per spese, IVA a credito e debiti. Ogni riga ha un account_id, addebito o accredito, e partner_id. La struttura rispecchia le fatture dei clienti ma con tipi di conto diversi.


3. Riconciliazione Bancaria

Le righe dell'estratto conto bancario sono abbinate alle righe di movimento tramite statement_line_id. Quando riconcili, Odoo collega le righe tramite full_reconcile_id. Il campo riconciliato è impostato su True.


4. Registrazioni Manuali

Gli utenti creano registrazioni con più righe. Ogni riga ha un conto, un addebito o un accredito, e un partner opzionale. Odoo impone che gli addebiti siano uguali agli accrediti prima della registrazione.



5. Reporting Analitico e di Costo

Quando la contabilità analitica è abilitata, le righe portano analytic_account_id o analytic_distribution. I report raggruppano per conto analitico per mostrare costi e ricavi per progetto, dipartimento o altra dimensione.

Come gli sviluppatori estendono questo modello


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


Ereditarietà del Modello

Usa _inherit = 'account.move.line' 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à. Fai attenzione con i campi calcolati e le loro dipendenze.


Estensioni Python

Sovrascrivi create, write o unlink per aggiungere logica. Usa super() per chiamare l'originale. Evita di rompere l'invariante che gli addebiti siano uguali agli accrediti. Il modello API in Odoo espone questi metodi per integrazioni esterne.


Odoo Studio

Odoo Studio ti consente di aggiungere campi a account.move.line senza codice. Ottimo per personalizzazioni rapide come etichette o tag extra. Per logiche complesse o regole di riconciliazione, i moduli personalizzati sono più manutenibili.

Migliori pratiche


  • Non creare o modificare righe di movimento direttamente senza passare attraverso il movimento. Utilizza l'API del movimento (ad es. line_ids) affinché Odoo possa mantenere la coerenza ed eseguire tutti i controlli.
  • Quando costruisci report, filtra per move_id.state = 'posted' per escludere bozze e voci annullate.
  • Utilizza account_id con il giusto tipo di conto (da incassare, da pagare, ecc.) per un corretto comportamento di invecchiamento e riconciliazione.
  • Quando integri tramite API, crea prima il movimento, poi aggiungi le righe. Assicurati che i debiti siano uguali ai crediti prima di pubblicare.
  • Per campi personalizzati, utilizza il prefisso x_ o un prefisso di modulo per evitare conflitti con le future versioni di Odoo.

Errori comuni


  • Impostare sia il debito che il credito sulla stessa riga. Ogni riga dovrebbe avere o il debito o il credito, non entrambi.
  • Creare movimenti sbilanciati. La somma dei debiti deve essere uguale alla somma dei crediti. Odoo convalida questo al momento della pubblicazione.
  • Modificare righe pubblicate senza utilizzare il corretto flusso di lavoro di inversione o aggiustamento. Le voci pubblicate dovrebbero essere aggiustate tramite nuovi movimenti, non modifiche dirette.
  • Dimenticare di impostare partner_id su righe da incassare e da pagare. Questo interrompe i report di invecchiamento e la riconciliazione.
  • Sovrascrivere metodi core senza chiamare super(). Questo può interrompere la riconciliazione, il blocco o altri moduli.

Conclusione


Il modello account.move.line è centrale per la contabilità di Odoo. Memorizza ogni debito e credito nelle registrazioni contabili, fatture e bollette. 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 flussi di lavoro contabili o uno sviluppatore che crea report e integrazioni personalizzate, una solida comprensione di account.move.line 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.line.


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.line: Comprendere le Linee di Registrazione di Odoo
Dasolo 10 marzo 2026
Condividi articolo
Accedi per lasciare un commento