Importar extractos bancarios en Odoo es solo el primer paso. El verdadero beneficio solo aparece cuando un movimiento bancario puede asignarse de forma fiable a la factura de venta, factura de proveedor, nota de crédito o pago correctos.
Precisamente en este punto Odoo 19 Community carece de una posibilidad cómoda en la interfaz de usuario. Por ello, las líneas bancarias importadas permanecen en un primer momento en la cuenta transitoria del banco y, para su posterior procesamiento, deben asignarse a un apunte contable abierto.
Para nuestra propia instalación de Odoo 19 Community hemos desarrollado por eso el Bank Statement Matcher. Como este problema no nos afecta solo a nosotros, ponemos el módulo gratuitamente a disposición en GitHub bajo la licencia libre AGPL-3.
Ir al proyecto en GitHub:
Odoo 19 Bank Statement Matcher
De la importación del extracto bancario a la factura correcta
Con nuestro proyecto ya publicado Odoo 19 Bank Statement Import pueden leerse en Odoo 19 Community distintos formatos de extractos bancarios. Entre ellos figuran CAMT.053, CAMT.054, OFX y SWIFT MT940.
El nuevo Bank Statement Matcher complementa esta importación con el siguiente paso decisivo:
¿Qué movimiento bancario importado corresponde a qué partida abierta?
El módulo busca entre las cuentas a cobrar y a pagar abiertas, valora las posibles coincidencias y muestra a los usuarios por qué se propone una asignación concreta. La propuesta puede revisarse, confirmarse, corregirse o sustituirse por una selección manual.
Así se obtiene para Odoo 19 Community un flujo de trabajo continuo:
Importar el extracto bancario
determinar posibles asignaciones
revisar las propuestas en bloque
aceptar las coincidencias inequívocas
tratar manualmente los casos poco claros
Qué puede hacer el Odoo 19 Bank Statement Matcher
El módulo se ha desarrollado para el uso práctico en contabilidad. Admite, entre otras, las siguientes funciones:
búsqueda de facturas, facturas de proveedor, notas de crédito y pagos adecuados
determinación automática de propuestas de asignación al crear una línea bancaria
visualización comprensible de la regla de asignación utilizada y de su fiabilidad
nueva búsqueda en un momento posterior
asignación individual o tratamiento conjunto de varias líneas bancarias
selección manual de una partida abierta cuando ninguna propuesta encaja
deshacer una asignación ya realizada
detección de varias coincidencias equivalentes sin decidir de forma arbitraria
avisos sobre presupuestos o pedidos para los que todavía no existe ningún apunte contable abierto
traspaso directo opcional de la importación de extractos bancarios de la OCA a la vista de asignación
traducción al alemán con código fuente en inglés
La vista general central está disponible en Odoo en Contabilidad → Contabilidad → Asignación de líneas bancarias. Allí pueden buscarse y tratarse conjuntamente las líneas bancarias aún abiertas.
Asignación trazable en lugar de una caja negra
Con datos financieros no basta con proponer una coincidencia cualquiera. Los usuarios deben poder ver por qué un movimiento bancario debería corresponder a un documento determinado.
Por ello el Bank Statement Matcher trabaja con reglas claramente definidas y distintos niveles de confianza:
| Confianza | Regla | Significado |
|---|---|---|
| 100 | Referencia | Se ha encontrado en el concepto contable un número de documento, una referencia de pago o una referencia de origen. |
| 80 | Contacto e importe | El socio comercial y el importe pendiente coinciden. |
| 60 | Importe inequívoco | El importe coincide exactamente con una sola partida abierta. |
| 30 | Contacto | El contacto coincide, pero el importe no; esto es solo una indicación. |
Para cada diario puede establecerse a partir de qué nivel de confianza puede aceptarse una propuesta inequívoca mediante la acción en bloque. Las coincidencias más débiles siguen siendo visibles, pero deben revisarse y confirmarse una por una.
Es importante: el módulo no contabiliza de forma desatendida en segundo plano. Crea propuestas. Una asignación solo se produce mediante una acción deliberada del usuario, de forma individual o mediante el procesamiento en bloque controlado.
También se tienen en cuenta las referencias bancarias difíciles
Los bancos no siempre transmiten las referencias de pago de forma uniforme. Un número de factura puede ir combinado con nombres, cifras u otros datos. Los separadores pueden faltar o representarse de forma distinta a la del documento original.
Por ello el Matcher normaliza los valores de comparación y tiene en cuenta también las transiciones entre letras y cifras. Así, las referencias pueden reconocerse, por ejemplo, incluso cuando en el texto bancario se han pegado directamente a otro contenido.
La búsqueda se realiza deliberadamente desde el documento de Odoo hacia el texto bancario. Así se evita que secuencias de cifras cortas y genéricas del concepto contable generen un gran número de coincidencias inadecuadas.
Las reglas no se limitan a un banco concreto, ni a un país determinado, ni a un esquema de numeración fijo. Esto hace que el módulo resulte interesante también para otras instalaciones de Odoo 19 Community.
Por qué es importante una nueva búsqueda
No todos los pagos bancarios pueden asignarse ya en el momento de la importación. En la práctica, un pago puede llegar antes de que la factura correspondiente se haya creado o contabilizado en Odoo. También una factura de proveedor o una nota de crédito pueden registrarse más tarde.
Por eso las líneas bancarias pueden revisarse de nuevo en un momento posterior con “Buscar de nuevo”. En cuanto existe la partida abierta adecuada, un movimiento bancario antes no asignable puede convertirse en una coincidencia inequívoca.
Si el texto bancario menciona, por ejemplo, un presupuesto o un pedido para el que todavía no existe ninguna factura y, por tanto, ninguna partida abierta, el módulo ofrece una indicación útil. En lugar de mostrar simplemente “sin coincidencias”, advierte de que quizá primero deba crearse la factura.
La seguridad es lo primero
Una asignación automática errónea puede causar en contabilidad más trabajo que una línea bancaria abierta. Por eso el Bank Statement Matcher se ha diseñado deliberadamente con cautela:
Las coincidencias con la misma valoración no se resuelven de forma arbitraria.
Las propuestas débiles se muestran, pero no se aceptan mediante la acción en bloque.
Antes de asignar se vuelve a comprobar si la partida abierta sigue disponible.
Una partida que entretanto ha sido conciliada por otro usuario no se procesa de nuevo.
Cada línea bancaria se procesa dentro de su propio punto de guardado (savepoint) de la base de datos.
Un error en una línea bancaria no impide el procesamiento de todas las demás líneas.
Por precaución, se excluyen los datos antiguos incompletos sin fecha contable válida.
De este modo, el módulo respalda la automatización donde ahorra tiempo y exige una decisión manual donde los datos no son lo bastante inequívocos.
Interacción con nuestro Bank Statement Import
El repositorio consta de dos módulos:
| Módulo | Función |
|---|---|
| account_statement_matcher | Proporciona la búsqueda, la valoración, la comprobación y la asignación propiamente dichas. Solo necesita el módulo de Odoo account. |
| account_statement_matcher_import_oca | Puente opcional hacia la importación de extractos bancarios de la OCA. Tras una importación se abre directamente la vista de asignación con las líneas recién importadas. |
El puente opcional se instala automáticamente cuando están presentes tanto el Matcher como el módulo OCA account_statement_import_file. De este modo, la importación de extractos bancarios y la asignación posterior encajan directamente.
Encontrará más información sobre la importación de los formatos bancarios admitidos en nuestra entrada:
Odoo 19 Bank Statement Import – nuestras extensiones para Odoo Community
Instalación en Odoo 19 Community
La instalación se realiza como la de cualquier módulo adicional de Odoo:
Copiar las carpetas de los módulos en una ruta de addons de Odoo configurada.
Actualizar la lista de aplicaciones en Odoo.
Instalar el módulo Bank Statement Matcher.
Establecer para cada diario bancario si deben buscarse propuestas durante la importación.
Seleccionar el valor mínimo deseado para la asignación en bloque controlada.
El módulo se ha desarrollado y probado para Odoo 19.0 Community. Antes de utilizarlo con otras versiones de Odoo deben revisarse especialmente los cambios en las funciones internas de contabilidad y conciliación.
Como con cualquier extensión en el ámbito contable, recomendamos probar primero la instalación en un entorno de pruebas con una copia de la propia base de datos y extractos bancarios típicos.
Gratuito y de código abierto para la comunidad de Odoo
En Biricon IT Services GmbH desarrollamos soluciones en primer lugar para necesidades concretas de nuestra propia empresa. Si de ello surge un módulo de uso general, no queremos esconderlo en una única instalación.
Por eso el Odoo 19 Bank Statement Matcher está disponible gratuitamente como proyecto de código abierto. El código fuente puede consultarse, revisarse, adaptarse y seguir desarrollándose en el marco de la licencia AGPL-3.
Nuestro objetivo no es automatizar a ciegas el mayor número posible de decisiones contables. Queremos reducir el trabajo recurrente y, al mismo tiempo, garantizar que las asignaciones financieras sigan siendo trazables y controlables.
Así entendemos un desarrollo de código abierto con sentido: resolver un problema real, documentar la solución de forma transparente y ponerla después a disposición de la comunidad.
Proyecto, código fuente y colaboración
El código fuente completo, las instrucciones de instalación y la documentación técnica están disponibles en GitHub:
Abrir Odoo 19 Bank Statement Matcher en GitHub
Agradecemos las experiencias prácticas, los informes de errores, las sugerencias de mejora y las contribuciones de la comunidad de Odoo.
Gratuito. Trazable. Código abierto. Para Odoo 19 Community.