Pular para o conteúdo

Odoo 19 Community: associar automaticamente pagamentos bancários a faturas – o nosso Bank Statement Matcher open source

14 de setembro de 2026 por
Odoo 19 Community: associar automaticamente pagamentos bancários a faturas – o nosso Bank Statement Matcher open source
Alexander Biringer | Biricon IT Services GmbH

Importar extratos bancários para o Odoo é apenas o primeiro passo. A verdadeira utilidade só surge quando um movimento bancário pode ser associado de forma fiável à fatura de venda, fatura de fornecedor, nota de crédito ou pagamento correto.

É precisamente neste ponto que falta ao Odoo 19 Community uma possibilidade cómoda na interface de utilizador. As linhas bancárias importadas ficam, por isso, inicialmente na conta transitória do banco e, para continuarem a ser processadas, têm de ser atribuídas a um lançamento em aberto.

Para a nossa própria instalação Odoo 19 Community, desenvolvemos por isso o Bank Statement Matcher. Como este problema não afeta apenas a nós, disponibilizamos o módulo gratuitamente no GitHub, sob a licença livre AGPL-3.

Ir para o projeto no GitHub:

Odoo 19 Bank Statement Matcher

Da importação do extrato bancário à fatura correta

Com o nosso projeto já publicado Odoo 19 Bank Statement Import, é possível ler diversos formatos de extrato bancário no Odoo 19 Community. Entre eles contam-se, nomeadamente, CAMT.053, CAMT.054, OFX e SWIFT MT940.

O novo Bank Statement Matcher complementa esta importação com o passo de trabalho decisivo seguinte:

Que movimento bancário importado pertence a que lançamento em aberto?

O módulo pesquisa créditos e dívidas em aberto, avalia possíveis correspondências e mostra aos utilizadores por que motivo é proposta uma determinada associação. A proposta pode ser verificada, confirmada, corrigida ou substituída por uma seleção manual.

Surge assim, para o Odoo 19 Community, um fluxo de trabalho contínuo:

  1. Importar o extrato bancário

  2. identificar possíveis associações

  3. verificar as propostas em conjunto

  4. aceitar as correspondências inequívocas

  5. tratar manualmente os casos pouco claros

O que o Odoo 19 Bank Statement Matcher consegue fazer

O módulo foi desenvolvido para utilização prática na contabilidade. Suporta, entre outras, as seguintes funções:

  • pesquisa de faturas, faturas de fornecedor, notas de crédito e pagamentos correspondentes

  • determinação automática de propostas de associação ao criar uma linha bancária

  • apresentação compreensível da regra de associação utilizada e do seu grau de segurança

  • nova pesquisa numa data posterior

  • associação individual ou tratamento conjunto de várias linhas bancárias

  • seleção manual de um lançamento em aberto, quando nenhuma proposta é adequada

  • anulação de uma associação já efetuada

  • deteção de várias correspondências equivalentes sem decisão arbitrária

  • indicações sobre propostas comerciais ou encomendas para as quais ainda não existe lançamento em aberto

  • transferência direta opcional da importação de extratos bancários OCA para a vista de associação

  • tradução alemã com código-fonte em inglês

A vista geral central está acessível no Odoo em Contabilidade → Contabilidade → Associação de linhas bancárias. Aí, as linhas bancárias ainda em aberto podem ser pesquisadas e tratadas em conjunto.

Associação rastreável em vez de caixa negra

Em dados financeiros, não basta propor uma correspondência qualquer. Os utilizadores têm de poder perceber por que motivo um movimento bancário deverá corresponder a um determinado documento.

Por isso, o Bank Statement Matcher trabalha com regras claramente definidas e diferentes níveis de confiança:

ConfiançaRegraSignificado
100ReferênciaFoi encontrado no texto do lançamento um número de documento, uma referência de pagamento ou uma referência de origem.
80Parceiro e montanteO parceiro comercial e o montante em aberto coincidem.
60Montante inequívocoO montante corresponde exatamente a apenas um lançamento em aberto.
30ParceiroO parceiro coincide, mas o montante não; trata-se apenas de uma indicação.

Para cada diário, é possível definir a partir de que nível de confiança uma proposta inequívoca pode ser aceite através da ação em lote. As correspondências mais fracas permanecem visíveis, mas têm de ser verificadas e confirmadas individualmente.

O importante aqui é: o módulo não lança nada sozinho, sem supervisão, em segundo plano. Cria propostas. Uma associação só ocorre através de uma ação deliberada do utilizador – individualmente ou através do processamento em lote controlado.

Também são consideradas referências bancárias difíceis

Os bancos nem sempre transmitem as referências de pagamento de forma uniforme. Um número de fatura pode estar combinado com nomes, algarismos ou outras indicações. Os separadores podem faltar ou ser apresentados de forma diferente do documento original.

Por isso, o Matcher normaliza os valores de comparação e considera também as transições entre letras e algarismos. Assim, as referências podem ser reconhecidas, por exemplo, mesmo quando foram anexadas diretamente a outros conteúdos no texto bancário.

A pesquisa é feita deliberadamente do documento Odoo para o texto bancário. Deste modo, evita-se que sequências de algarismos curtas e genéricas do texto do lançamento originem um grande número de correspondências inadequadas.

As regras não se limitam a um banco específico, a um país específico nem a um esquema de numeração fixo. Isto torna o módulo interessante também para outras instalações Odoo 19 Community.

Porque é importante uma nova pesquisa

Nem todos os pagamentos bancários podem ser associados logo na importação. Na prática, um pagamento pode chegar antes de a respetiva fatura ser criada ou lançada no Odoo. Também uma fatura de fornecedor ou nota de crédito pode ser registada apenas mais tarde.

Por isso, as linhas bancárias podem voltar a ser verificadas mais tarde com “Pesquisar novamente”. Assim que o lançamento em aberto correspondente existir, um movimento bancário anteriormente impossível de associar pode transformar-se numa correspondência inequívoca.

Se o texto bancário mencionar, por exemplo, uma proposta comercial ou uma encomenda para a qual ainda não existe fatura e, portanto, nenhum lançamento em aberto, o módulo fornece uma indicação útil. Em vez de mostrar apenas “sem correspondência”, alerta para o facto de, possivelmente, ser necessário criar primeiro a fatura.

A segurança tem prioridade

Uma associação automática errada pode dar mais trabalho na contabilidade do que uma linha bancária em aberto. O Bank Statement Matcher foi, por isso, deliberadamente concebido com prudência:

  • As correspondências com a mesma avaliação não são resolvidas arbitrariamente.

  • As propostas fracas são apresentadas, mas não aceites através da ação em lote.

  • Antes da associação, verifica-se novamente se o lançamento em aberto continua disponível.

  • Um lançamento entretanto regularizado por outro utilizador não é processado novamente.

  • Cada linha bancária é processada dentro de um ponto de salvaguarda (savepoint) de base de dados próprio.

  • Um erro numa linha bancária não impede o processamento de todas as outras linhas.

  • Por precaução, são excluídos dados antigos incompletos, sem data de lançamento válida.

Assim, o módulo apoia a automatização onde esta poupa tempo e exige uma decisão manual onde os dados não são suficientemente claros.

Interação com o nosso Bank Statement Import

O repositório é composto por dois módulos:

MóduloFunção
account_statement_matcherDisponibiliza a pesquisa, avaliação, verificação e associação propriamente ditas. Requer apenas o módulo Odoo account.
account_statement_matcher_import_ocaPonte opcional para a importação de extratos bancários OCA. Após uma importação, é aberta diretamente a vista de associação com as linhas recém-importadas.

A ponte opcional instala-se automaticamente quando existem, em simultâneo, o Matcher e o módulo OCA account_statement_import_file. Assim, a importação de extratos bancários e a associação subsequente encaixam diretamente uma na outra.

Encontra mais informações sobre a importação dos formatos bancários suportados na nossa publicação:

Odoo 19 Bank Statement Import – as nossas extensões para a Odoo Community

Instalação no Odoo 19 Community

A instalação é feita como num módulo adicional Odoo habitual:

  1. Copiar as pastas dos módulos para um caminho de addons do Odoo configurado.

  2. Atualizar a lista de aplicações no Odoo.

  3. Instalar o módulo Bank Statement Matcher.

  4. Definir, para cada diário bancário, se devem ser procuradas propostas durante a importação.

  5. Selecionar o valor mínimo pretendido para a associação em lote controlada.

O módulo foi desenvolvido e testado para o Odoo 19.0 Community. Antes de o utilizar com outras versões do Odoo, é necessário verificar, em especial, as alterações às funções internas de contabilidade e de reconciliação.

Como em qualquer extensão na área da contabilidade, recomendamos verificar primeiro a instalação num ambiente de teste, com uma cópia da base de dados própria e extratos bancários típicos.

Gratuito e open source para a Odoo Community

Na Biricon IT Services GmbH, desenvolvemos soluções, em primeiro lugar, para requisitos concretos da nossa própria operação. Quando daí resulta um módulo de utilização geral, não queremos escondê-lo numa única instalação.

O Odoo 19 Bank Statement Matcher está, por isso, disponível gratuitamente como projeto open source. O código-fonte pode ser consultado, verificado, adaptado e desenvolvido no âmbito da licença AGPL-3.

O nosso objetivo não é automatizar às cegas o maior número possível de decisões de lançamento. Queremos reduzir o trabalho recorrente e, ao mesmo tempo, garantir que as associações financeiras permanecem rastreáveis e controláveis.

É assim que entendemos um desenvolvimento open source com sentido: resolver um problema real, documentar a solução de forma transparente e, depois, disponibilizá-la à comunidade.

Projeto, código-fonte e colaboração

O código-fonte completo, as instruções de instalação e a documentação técnica estão disponíveis no GitHub:

Abrir o Odoo 19 Bank Statement Matcher no GitHub

Agradecemos experiências práticas, relatórios de erros, sugestões de melhoria e contributos da Odoo Community.

Gratuito. Rastreável. Open source. Para o Odoo 19 Community.