Pular para o conteúdo

O Modelo account.move: Compreendendo Faturas e Lançamentos no Odoo

Um guia completo sobre o modelo de contabilidade central do Odoo para desenvolvedores e consultores funcionais
10 de março de 2026 por
O Modelo account.move: Compreendendo Faturas e Lançamentos no Odoo
Dasolo
| Nenhum comentário ainda

Introdução


No Odoo, os modelos definem como os dados são estruturados e armazenados no banco de dados. Cada pedaço de dados empresariais com o qual você trabalha, desde pedidos de venda até faturas e lançamentos contábeis, reside em um modelo.


Compreender os modelos do Odoo é essencial tanto para desenvolvedores quanto para consultores funcionais. Os modelos são a base da arquitetura de dados do Odoo. Eles definem os campos do Odoo, relacionamentos e lógica de negócios.

Este artigo foca em um dos modelos mais importantes na Contabilidade do Odoo: account.move. Seja você construindo relatórios personalizados, integrando sistemas externos ou configurando fluxos de trabalho de faturamento, você trabalhará com este modelo.

O que é o modelo account.move


O modelo account.move representa lançamentos contábeis no Odoo. No Odoo 13 e versões posteriores, unificou o que costumava ser modelos separados: faturas de clientes, faturas de fornecedores, notas de crédito e lançamentos manuais. Hoje, todos eles estão no account.move.


Este modelo no Odoo é utilizado pelo módulo de Contabilidade. É o pai de account.move.line, que contém as linhas de débito e crédito individuais. Cada fatura, conta ou lançamento é um registro account.move com uma ou mais linhas.


O modelo é definido no módulo de conta. Outros módulos o estendem através da herança de modelos do Odoo. O módulo de Vendas adiciona a criação de faturas a partir de pedidos. O módulo de Compras adiciona a criação de faturas. Cada módulo adiciona o que precisa sem duplicar a estrutura central.

Campos Chave no Modelo


Aqui estão os campos mais importantes do Odoo no modelo account.move. Compreender estes ajudará você a trabalhar de forma eficaz com faturas, contas e lançamentos.


1. name

Tipo: Char. Este campo armazena o número ou nome do lançamento contábil. Geralmente é gerado automaticamente a partir da sequência do diário. Exibido em visualizações de lista e em documentos impressos.


2. move_type

Tipo: Seleção. Determina o tipo de movimento: entrada (lançamento contábil manual), out_invoice (fatura de cliente), out_refund (nota de crédito de cliente), in_invoice (fatura de fornecedor), in_refund (nota de crédito de fornecedor). Este campo determina quais visualizações e fluxos de trabalho se aplicam.


3. state

Tipo: Seleção. O estado do fluxo de trabalho: rascunho, postado ou cancelado. Movimentos em rascunho podem ser editados. Movimentos postados estão bloqueados e afetam o livro razão. Cancelar reverte o efeito.


4. date

Tipo: Data. A data do documento. Usada para relatórios, envelhecimento e fechamento de períodos. Para faturas, esta é frequentemente a data da fatura.


5. journal_id

Tipo: Many2one (account.journal). O diário ao qual este movimento pertence. Os diários de Vendas, Compras, Bancário e Diversos têm os seus próprios. O diário determina a sequência e as contas padrão.


6. company_id

Tipo: Many2one (res.company). Em configurações de múltiplas empresas, isto indica a qual empresa o movimento pertence. Afeta a visibilidade dos registros e a consolidação.


7. partner_id

Tipo: Many2one (res.partner). O cliente ou fornecedor. Necessário para faturas e contas a pagar. Usado para relatórios de envelhecimento, correspondência de pagamentos e cabeçalhos de documentos.


8. currency_id

Tipo: Many2one (res.currency). A moeda do movimento. Os montantes são armazenados nesta moeda. Movimentos em múltiplas moedas usam a moeda da empresa para relatórios.


9. amount_total

Tipo: Monetário. O montante total do movimento. Para faturas, este é o montante devido. Calculado a partir das linhas.


10. amount_residual

Tipo: Monetário. O montante não pago. Para faturas pagas, este é zero. Usado para envelhecimento e fluxos de trabalho de pagamento.


11. estado_pagamento

Tipo: Seleção. Estado do pagamento: não_pago, em_pagamento, pago, parcial, revertido, ou faturamento_legado. Impulsiona lembretes de pagamento e relatórios.


12. linhas_ids

Tipo: Um_para_muitos (account.move.line). As linhas da entrada do diário. Cada linha tem uma conta, débito e crédito. A soma dos débitos deve ser igual à soma dos créditos.


13. linhas_fatura_ids

Tipo: Um_para_muitos (account.move.line). Para faturas e contas, estas são as linhas de produto ou serviço. Cada linha gera uma ou mais linhas de entrada do diário quando postada.


14. data_fatura

Tipo: Data. A data da fatura. Usada para faturamento e períodos fiscais. Pode diferir da data do movimento em algumas configurações.


15. data_vencimento_fatura

Tipo: Data. A data de vencimento do pagamento. Calculada a partir das condições de pagamento ou definida manualmente. Usada para envelhecimento e cobrança.


16. ref

Tipo: Char. Referência externa ou número da fatura do fornecedor. Útil para corresponder pagamentos e reconciliar com documentos externos.


17. invoice_origin

Tipo: Char. O documento de origem. Para faturas de pedidos de venda, armazena o número do pedido de venda. Permite a rastreabilidade do pedido à fatura.


18. create_date

Tipo: Datetime. Armazena a data e hora em que o registro foi criado. Gerido automaticamente pelo Odoo.


19. write_date

Tipo: Datetime. Armazena a data e hora da última modificação. Também gerido automaticamente.


20. narration

Tipo: Texto. Notas internas ou memorando. Exibido em lançamentos de diário impressos. Não mostrado aos clientes nas faturas.


21. fiscal_position_id

Tipo: Many2one (account.fiscal.position). A posição fiscal para regras de imposto. Determina quais impostos se aplicam com base no parceiro e no país.


22. invoice_payment_term_id

Tipo: Many2one (account.payment.term). Condições de pagamento (por exemplo, Líquido 30). Usado para calcular invoice_date_due e dividir pagamentos.


23. invoice_user_id

Tipo: Many2one (res.users). O vendedor ou utilizador responsável pela fatura. Usado para comissões e relatórios.


24. reversed_entry_id

Tipo: Many2one (account.move). Para lançamentos revertidos, isto liga ao movimento de reversão. Permite o rastreamento de auditoria de correções.


25. to_check

Tipo: Booleano. Sinalizador para movimentos que precisam de revisão. Usado na reconciliação bancária e fluxos de trabalho de exceção.


26. active

Tipo: Booleano. Sinalizador de exclusão suave. Quando Falso, o registro é arquivado. Movimentos cancelados são tipicamente definidos como active=False.


27. sequence_number

Tipo: Inteiro. O número de sequência do diário. Usado para ordenação e exibição. Gerido pelo mixin de sequência.


28. amount_untaxed

Tipo: Monetário. O subtotal antes de impostos. Para faturas, este é a soma dos valores das linhas antes de impostos.


29. amount_tax

Tipo: Monetário. O montante total do imposto. Calculado a partir das linhas da fatura e da configuração do imposto.


30. invoice_source_email

Tipo: Char. Para faturas de fornecedores criadas a partir de e-mail, armazena o endereço de e-mail de origem. Usado para a ingestão automatizada de faturas.

Como Este Modelo É Usado em Fluxos de Trabalho Empresariais


1. Faturação de Clientes

Quando um pedido de venda é entregue, o Odoo cria um account.move com move_type out_invoice. Os invoice_line_ids vêm das linhas do pedido. A publicação do movimento cria as linhas de lançamento no diário e atualiza as contas a receber.


2. Faturas de Fornecedores

Os pedidos de compra podem gerar faturas, ou as faturas são inseridas manualmente. Cada fatura é um account.move com move_type in_invoice. O partner_id é o fornecedor. A publicação atualiza as contas a pagar.


3. Reconciliação de Pagamentos

Os pagamentos são correspondidos às faturas usando os campos amount_residual e payment_state. O processo de reconciliação liga os movimentos de pagamento aos movimentos de fatura e limpa o residual.


4. Lançamentos Manuais no Diário

Os contadores criam movimentos com move_type entry para ajustes, acréscimos ou correções. Eles adicionam manualmente line_ids com contas, débitos e créditos. O movimento deve equilibrar antes da publicação.


5. Notas de Crédito e Reembolsos

Notas de crédito são movimentos com move_type out_refund ou in_refund. Elas revertem o efeito da fatura ou conta original. O reversed_entry_id liga de volta à original para auditoria.

Como os Desenvolvedores Estendem Este Modelo


Os desenvolvedores estendem account.move usando vários padrões. A herança de modelo do Odoo é o principal mecanismo.


Herança de Modelo

Use _inherit = 'account.move' para estender o modelo. Adicione novos campos do Odoo, sobrescreva métodos ou adicione restrições. O modelo herdado no Odoo mantém suas alterações em um módulo separado para atualizações fáceis.


Adicionando Campos

Defina novos campos do Odoo em seu modelo herdado. Use o tipo de campo correto: Char, Many2one, Boolean, Integer, Text, Selection. Considere campos dependentes da empresa para multi-empresa. Para campos específicos de fatura, use um domínio em move_type.


Extensões Python

Sobrescreva create, write, _post, ou button_draft para adicionar lógica. Use super() para chamar o original. Tenha cuidado com campos computados e suas dependências. O modelo API nos decoradores do Odoo (@api.model, @api.depends) controla quando os métodos são executados.


Odoo Studio

O Odoo Studio permite que você adicione campos sem código. Bom para personalizações rápidas, como campos de referência adicionais. Para lógica complexa, validação ou ações automatizadas, módulos personalizados são mais fáceis de manter.


Nota: account.move é um modelo regular, não um modelo abstrato do Odoo ou um modelo transitório do Odoo. Modelos abstratos são usados como templates e não criam tabelas de banco de dados. Modelos transitórios são temporários e usados para assistentes. account.move armazena dados contábeis permanentes.

Melhores Práticas


  • Sempre filtre por move_type ao construir relatórios ou integrações. Diferentes tipos têm campos e comportamentos obrigatórios diferentes.
  • Use o diário correto para cada tipo de movimento. Misturar diários pode quebrar sequências e relatórios.
  • Ao criar movimentos via API, assegure-se de que os line_ids estejam equilibrados (débito = crédito) antes de postar. Movimentos desequilibrados falharão na validação.
  • Para a criação de faturas a partir de sistemas externos, mapeie seus tipos de documentos para move_type corretamente. out_invoice para vendas, in_invoice para compras.
  • Use o prefixo x_ para campos personalizados para evitar conflitos com versões futuras do Odoo.

Erros Comuns


  • Postando movimentos sem linhas equilibradas. O Odoo rejeitará a postagem. Sempre verifique se os totais de débito e crédito correspondem.
  • Modificando movimentos postados diretamente. Movimentos postados estão bloqueados. Use uma reversão e crie um novo movimento em vez disso.
  • Esquecendo de definir partner_id em movimentos de clientes ou fornecedores. Muitos relatórios e fluxos de trabalho dependem disso.
  • Usando o move_type errado. Um out_refund não é o mesmo que uma out_invoice negativa. Use o tipo correto para reembolsos e notas de crédito.
  • Substituindo métodos principais sem chamar super(). Isso pode quebrar outros módulos ou futuras atualizações.

Conclusão


O modelo account.move é central para a Contabilidade do Odoo. Ele representa faturas, contas a pagar e lançamentos contábeis em uma estrutura unificada. Compreender seus campos e como os módulos o estendem ajudará você a configurar, personalizar e integrar o Odoo de forma eficaz.


Seja você um consultor funcional mapeando processos de negócios ou um desenvolvedor construindo módulos personalizados, uma compreensão sólida do account.move economizará tempo e evitará erros.

Precisa de Ajuda com a Sua Implementação do Odoo?


A Dasolo ajuda empresas a implementar, personalizar e otimizar o Odoo. Especializamo-nos em integrações de API e desenvolvimento Odoo. A nossa equipa tem uma vasta experiência com a arquitetura de dados do Odoo e modelos como account.move.

Se precisar de ajuda com a sua implementação do Odoo, módulos personalizados ou integrações, estamos aqui para ajudar. Agende uma demonstração para discutir o seu projeto.

O Modelo account.move: Compreendendo Faturas e Lançamentos no Odoo
Dasolo 10 de março de 2026
Compartilhar esta publicação
Iniciar sessão para deixar um comentário