Para migrar de Excel o CONTPAQi a Odoo sin perder información, no se copia todo el pasado: se llevan los catálogos (clientes, proveedores, productos, cuentas contables) y los saldos abiertos a una fecha de corte (cuentas por cobrar, cuentas por pagar, existencias y saldos contables). Odoo importa archivos de Excel o CSV, permite probar cada archivo antes de cargarlo y avisa que las importaciones no se pueden deshacer. El sistema anterior se conserva para consulta, porque la ley pide guardar la contabilidad cinco años.
¿Qué información se migra de Excel o CONTPAQi a Odoo?
Lo que necesitas para operar desde el primer día: catálogos y saldos abiertos. No el detalle de cada movimiento de los últimos años. Con eso puedes facturar, cobrar, pagar y surtir desde el arranque, y tu contador puede comparar las cifras de cierre del sistema anterior con las de apertura en Odoo.
| Información | Qué conviene llevar | Qué suele quedarse en el sistema anterior |
|---|---|---|
| Clientes y proveedores | Los activos, con RFC, datos fiscales, contactos y condiciones de pago | Los que no han comprado ni vendido en años |
| Productos | Código, descripción, unidad, precio, costo y proveedor principal | Códigos descontinuados sin existencia |
| Cuentas por cobrar y por pagar | Cada factura que sigue abierta a la fecha de corte, con su saldo | Facturas ya pagadas |
| Inventario | Existencia por almacén y su costo a la fecha de corte | El historial de entradas y salidas |
| Contabilidad | Catálogo de cuentas y saldos iniciales | Las pólizas de ejercicios anteriores |
Si todavía estás decidiendo si te toca dar el salto, empieza por las señales de que tu empresa ya necesita un ERP.
¿Cómo importa datos Odoo?
Con archivos de Excel (.xlsx) o CSV, desde la lista de casi cualquier registro: contactos, productos, facturas, cuentas. La documentación oficial de Odoo 20 describe el mismo procedimiento para todos: subes el archivo, revisas que cada columna corresponda al campo correcto, das clic en Probar para validar los datos y, si no hay errores, en Importar.
Cinco detalles de esa documentación que evitan sustos:
- Hay plantillas. Odoo ofrece plantillas descargables para datos comunes, como contactos, ya preparadas para que las columnas coincidan con sus campos.
- El identificador externo evita duplicados. Si tu archivo trae una columna de ID externo, al volver a importarlo Odoo modifica los registros que ya existen en vez de crear otros nuevos. Puedes usar como ID el código de tu sistema anterior, lo que facilita la transición. Cada ID debe ser único.
- Odoo adivina con los primeros diez renglones. Deduce el tipo de cada columna a partir de las primeras diez filas. Si una columna no se reconoce, la asignas a mano durante la prueba.
- Los registros relacionados van primero. Para que una factura apunte a su cliente, el cliente ya debe existir en Odoo.
- No hay botón de deshacer. Odoo advierte que las importaciones son permanentes y que los archivos grandes conviene cargarlos en lotes más pequeños.
Lo que te cuesta no probar antes: cientos de registros duplicados o mal asignados que después hay que corregir uno por uno.
¿En qué orden se migran los datos?
De lo que no depende de nada a lo que depende de todo. Si cargas una factura antes que su cliente, o una existencia antes que su producto, la importación falla o crea registros incompletos.
- Configuración base: empresa, datos fiscales, almacenes, impuestos y unidades de medida.
- Catálogo de cuentas y su relación con el catálogo del SAT.
- Contactos: clientes y proveedores, con su ID externo.
- Productos y listas de precios.
- Existencias iniciales por almacén, con su costo. En Odoo se registran con un ajuste de inventario: capturas la cantidad contada y el sistema calcula la diferencia.
- Saldos abiertos: facturas por cobrar y por pagar pendientes a la fecha de corte.
- Saldos contables iniciales, que tu contador revisa contra la balanza del sistema anterior.
Cada paso se hace primero en una base de prueba, con el archivo completo, y solo cuando cuadra se repite en la base definitiva.
¿Cómo se elige la fecha de corte y cómo se comprueba que todo cuadró?
La fecha de corte es el último día en que el sistema anterior manda; al día siguiente, todo se registra en Odoo. Lo más sencillo es elegir un fin de mes, para que el cierre de ese mes salga completo del sistema anterior y la apertura del siguiente salga completa de Odoo.
Para saber si no perdiste nada, compara tres reportes del sistema anterior al corte contra los mismos en Odoo al arrancar:
| Qué comparar | Sistema anterior al corte | Odoo al arranque |
|---|---|---|
| Cuentas por cobrar y por pagar | Antigüedad de saldos por cliente y proveedor | El mismo total, cliente por cliente |
| Inventario | Existencia y valor por almacén | La misma cantidad y el mismo valor, producto por producto |
| Contabilidad | Balanza de comprobación | Saldos iniciales iguales, cuenta por cuenta |
Compara renglón por renglón, no solo el gran total: dos errores pueden compensarse y esconder un cliente con el saldo equivocado. La firma de este cuadre es de tu contador.
¿Qué pasa con el historial y las facturas ya timbradas?
Se quedan donde están, y se conservan. El Código Fiscal de la Federación pide guardar la contabilidad y su documentación durante cinco años, contados desde que se presentaron o debieron presentarse las declaraciones relacionadas. Por eso, el sistema anterior (o un respaldo que puedas abrir) y los XML de tus facturas deben seguir disponibles aunque ya operes en Odoo.
Las facturas que ya timbraste no se vuelven a emitir: ya existen ante el SAT. Lo que llevas a Odoo es el saldo pendiente de las que siguen abiertas, para poder cobrarlas y, cuando aplique, emitir desde Odoo el complemento de pago. Cómo funcionan las facturas y los complementos dentro de Odoo lo explicamos en CFDI 4.0 en Odoo y lo que cambia en el SAT.
¿Cuáles son los errores más comunes al migrar a Odoo?
Casi todos vienen de cargar datos sin limpiar o sin probar. Estos son los que conviene evitar:
- Clientes duplicados. El mismo cliente escrito de tres formas en Excel termina como tres clientes en Odoo, con tres saldos. Depura por RFC antes de importar.
- Datos fiscales incompletos. Si un cliente no trae RFC y datos fiscales correctos, el problema aparece el día que le quieres facturar. Valídalos contra su constancia antes de la carga.
- Productos sin unidad o con costo en cero. Un costo en cero arrastra márgenes falsos en cada venta. Revisa el costo de todo lo que tiene existencia.
- Importar sin ID externo. Sin él no puedes volver a cargar el mismo archivo corregido sin duplicar.
- Migrar directo a la base definitiva. Como la importación no se deshace, cualquier error se corrige a mano.
- Dejar el cuadre para después. Si nadie firma que los saldos coinciden antes de arrancar, las diferencias aparecen en el primer cierre de mes, cuando ya es difícil saber de dónde salieron.
Si ya migraste y los números no te cuadran, eso tiene arreglo: es parte de lo que hacemos en el rescate de Odoo.
¿Cuándo no conviene migrar todo el historial?
Casi siempre. Migrar años de movimientos multiplica el trabajo y el riesgo, y rara vez se usa: para consultar una venta de hace tres años basta con el sistema anterior o su respaldo. Lo que sí puede valer la pena es llevar a Odoo un resumen, por ejemplo las ventas por cliente y producto de los últimos doce meses, para que los reportes de comparación arranquen con contexto.
Al revés: si tu información está tan desordenada que no sabes cuánto te debe cada cliente, no migres todavía. Primero se depura, luego se migra. Y si estás calculando el esfuerzo total, revisa de qué depende el costo de implementar Odoo: la calidad de tus datos es uno de los factores que más lo mueve.
Glosario
- Fecha de corte
- El último día en que se registra en el sistema anterior. A partir del día siguiente, todo se captura en Odoo.
- Saldo abierto
- Lo que sigue pendiente a la fecha de corte: facturas por cobrar o por pagar, existencias y saldos de cuentas.
- ID externo
- Un código único por registro dentro del archivo de importación. Permite volver a importar sin duplicar y relacionar registros entre archivos.
- Balanza de comprobación
- Reporte contable con el saldo de cada cuenta a una fecha. Sirve para comprobar que los saldos iniciales en Odoo coinciden con los del sistema anterior.
- Base de prueba
- Copia de Odoo donde se ensaya la migración sin afectar la operación real.
Preguntas frecuentes
¿Odoo puede leer directamente mis archivos de CONTPAQi?
Odoo importa archivos de Excel (.xlsx) y CSV. La información de tu sistema anterior primero se exporta a esos formatos, se limpia y se acomoda a las columnas de Odoo.
¿Se puede deshacer una importación?
No. La documentación de Odoo advierte que las importaciones son permanentes. Por eso cada archivo se prueba primero, de preferencia en una base de prueba.
¿Tengo que migrar las facturas de años anteriores?
No. Se migran los saldos que siguen abiertos. El historial se queda en el sistema anterior o en un respaldo que puedas consultar, porque la contabilidad se debe conservar cinco años.
¿Puedo seguir usando el sistema anterior mientras tanto?
Sí, hasta la fecha de corte. Durante la preparación se trabaja en una base de prueba de Odoo y el día del corte se cargan los saldos finales.
¿Quién valida que los números quedaron bien?
Tu contador, comparando balanza, antigüedad de saldos e inventario del sistema anterior contra los de Odoo, renglón por renglón.
Fuentes: Odoo, «Export and import data», documentación de Odoo 20.0, consultada en noviembre de 2026 · Odoo, «Count products» (inventario físico), documentación de Odoo 20.0, consultada en noviembre de 2026 · Odoo, «Mexico», localización fiscal, documentación de Odoo 20.0, consultada en noviembre de 2026 · Código Fiscal de la Federación, artículo 30 (última reforma DOF 09-04-2026)
