La contabilidad de dos países sobre el mismo Odoo, diagramada.
Mi empresa lleva sus cuentas en Odoo 19 Community: la parte ecuatoriana con las reglas del SRI y la colombiana con las de la DIAN, en una sola instalación multiempresa. Lo que instalo en la empresa de un cliente es esto mismo.
Tres vistas, de lo general a lo concreto: el mapa de las capas, el recorrido de un comprobante hasta que la autoridad lo autoriza, y qué de todo eso ya existía y qué tuve que portar o escribir.
Una sola base de datos, dos empresas con su plan de cuentas y su moneda, y tres capas de software encima. Ninguna cifra de esta página es una estimación: todas salen del repositorio o del registro de una corrida de pruebas.
1instalación de Odoo 19 Community para las dos empresas
32módulos de la OCA fijados por versión en la imagen
16módulos de localización instalados aquí que porté a la 19 o escribí
580pruebas en verde de los once módulos de la localización ecuatoriana
99pruebas de la retención colombiana, su puente y sus certificados
Las dos cifras de pruebas salen de la integración continua, no de una corrida a mano: cada envío al repositorio levanta una base desechable, instala la receta completa y solo da el visto bueno si el registro dice cero fallos y cero errores.
02
El mapa
Odoo 19 Community en el centro y tres capas alrededor: lo que trae el núcleo, lo que aporta la OCA y lo que puse yo. Ecuador y Colombia no son dos sistemas: son dos ramas de lo mismo sobre una sola base multiempresa.
Quién le habla a la instalación y qué le pide cada uno.Las tres capas, y las dos ramas que salen de ellas.Módulo por módulo, con su nombre técnico.
El acercamiento avanza solo; pase el cursor para detenerlo y elegir el nivel. Cada caja dice qué es, con qué módulo y para qué sirve: sin esa disciplina, un mapa necesita quien lo explique.
03
El recorrido de un comprobante
Lo mismo visto en carriles: quién hace cada paso y de qué capa sale. La etiqueta al pie de cada caja dice si el paso lo resuelve el núcleo de Odoo, un módulo de la OCA, uno que porté a la 19 o uno que escribí.
Ecuador, con el SRI
Del momento en que se confirma la factura al momento en que el cliente recibe su comprobante autorizado.
El XML se arma con su clave de acceso de 49 dígitos, se firma con el certificado de la compañía y se transmite al SRI; lo que el cliente recibe es el XML autorizado y el RIDE, su representación impresa.
Colombia, con la DIAN
El mismo trayecto del otro lado de la frontera, con otra norma y otro formato.
El documento va en UBL 2.1 y firmado con XAdES, emitido en modo software propio: no hay un proveedor tecnológico en medio. La DIAN lo recibe en el ambiente de habilitación o en el de producción, y de la respuesta sale la representación gráfica que lee el cliente.
Y la retención, que es donde está el trabajo propio
En Colombia el comprador retiene al vendedor, y es ahí donde la localización tenía huecos.
El tercero se describe una sola vez, en los campos del RUT. De ahí salen la posición fiscal que corresponde a su condición, el concepto con su cuantía mínima en UVT y la tarifa de ReteICA del municipio, buscada por su código DANE. En el documento electrónico cada retención viaja con su propio tributo, y al final del período el tercero recibe su certificado.04
Qué ya existía y qué puse yo
«Hacer la localización» muchas veces quiere decir instalarla. Aquí la cuenta va separada: de arriba abajo, lo que venía hecho y lo que hubo que hacer.
La fila del margen dice de dónde viene cada pieza. Las dos de abajo son las que no existían en la versión 19 cuando hicieron falta.
Odoo 19 Community
La contabilidad, el motor de impuestos y los dos planes de cuentas. l10n_ec trae el plan de la Superintendencia de Compañías con el código del SRI ya puesto en cada impuesto; l10n_co, el PUC de 378 cuentas con sus 65 impuestos, los tipos de identificación y las tarifas de retención.
La OCA, ya publicada en la 19
32 módulos de contabilidad fijados por versión en la imagen: conciliación, importación de extractos, informes financieros, estados con plantillas, cierre de ejercicio y activos. De Colombia, los datos de la DIAN, la factura electrónica en modo software propio y las autorretenciones en ventas.
Seis módulos portados a la 19
Cuatro de la facturación electrónica ecuatoriana, que la OCA había dejado en la rama 17.0, y dos de la retención colombiana, que se quedaron en la 18.0. Cada port vive en su propio taller, con su historia, sus pruebas y los controles de calidad de la OCA en verde.
Diez escritos desde cero
En Ecuador: guía de remisión, anexo transaccional, asistente de puesta en marcha y recepción de los comprobantes que emiten los proveedores. En Colombia: el puente entre la retención y la factura electrónica, los estados financieros por grupos del PUC, el borrador de los formularios 300 y 350 y la información exógena. Y los dos módulos de la casa, el del ámbito de cada gasto y el de los certificados de retención.
Ninguna pieza de terceros entra por otra puerta: los módulos de la OCA llegan como ruedas de PyPI fijadas por versión y por su huella, y los talleres propios por el commit completo. Subir de versión es cambiar el commit, leer el diff y desplegar.
05
Los dos lados, en la base de producción
Las dos localizaciones están instaladas en el Odoo de producción de la empresa, el mismo que lleva sus cuentas. No es un entorno de demostración.
Ecuador, instalada en producción
La localización ecuatoriana está instalada en el Odoo de producción de la empresa, con el certificado de firma de la compañía cargado y la configuración del SRI escrita en un guion que se puede repetir: régimen, obligación de llevar contabilidad, establecimiento y punto de emisión, diarios, formas de pago y numeración.
Colombia, instalada en producción
La retención en la fuente, el puente con la factura electrónica y los certificados están en la base de producción desde septiembre de 2026, con el valor de la UVT del año gravable y seis posiciones fiscales que se aplican solas con lo que declara el RUT del tercero. Desde octubre se suman los estados financieros, el borrador de los formularios 300 y 350 y la información exógena.
Ninguna configuración tributaria entra a ojo. Cada tarifa, cada concepto y cada cuantía mínima sale de su norma, con el acuerdo o la resolución anotada al lado; lo que no se puede citar se pregunta a la fuente antes de ponerlo.
06
Y en su empresa
Lo que corre aquí es lo que instalo: los mismos módulos fijados por commit, la misma configuración escrita en guiones repetibles y la misma batería de pruebas antes de tocar su base.