# Cómo migrar a Odoo desde CONTPAQi, Aspel, SAP Business One, NetSuite o Business Central

> Migrar a Odoo desde otro sistema no es una actualización de versión: la documentación de Odoo 20 deja fuera de su servicio de actualización la migración desde otro ERP, así que se hace importando datos. Se llevan los catálogos, los saldos a la fecha de corte —balanza, facturas pendientes, inventario y bancos— y, en México, lo necesario para seguir emitiendo complementos de pago; el historial se queda en el sistema anterior como consulta. La migración está terminada cuando la balanza, la cartera y el inventario de Odoo cuadran con los del sistema anterior a la misma fecha.

- Autor: Fabio Soto, Business Analyst, Quantum Garage
- Publicada: 2026-10-17T00:00:00-06:00
- Actualizada: 2026-10-17T00:00:00-06:00
- Versión de Odoo: 20
- URL: https://web.quantumgarage.io/guias/migrar-a-odoo-desde-otro-sistema/

## Migrar es importar datos, no actualizar una versión

Cambiar de sistema y cambiar de versión de Odoo son trabajos distintos. La actualización convierte una base de Odoo en otra más nueva; la migración desde otro sistema reconstruye en Odoo los datos que la empresa necesita para seguir operando. La documentación de Odoo lo deja escrito al enumerar lo que su servicio de actualización no cubre:

> «An upgrade does not cover: \[…] Migrating from another ERP to Odoo»

Odoo, «Upgrade», documentación oficial de Odoo 20.0, consultada el 17 de octubre de 2026.

Por eso una migración desde CONTPAQi, Aspel, SAP Business One, NetSuite o Business Central se planea como parte de la implementación, con su fecha de corte y su cuadre. La guía [Cómo se implementa Odoo en una empresa mediana](https://web.quantumgarage.io/guias/implementar-odoo-en-empresa-mediana/) explica en qué momento del proyecto entra.

- **Sistema anterior**: El software donde la empresa registra hoy su operación y su contabilidad, y que deja de ser la fuente de verdad el día del corte.
- **Fecha de corte**: La fecha cuyos saldos se trasladan a Odoo como punto de partida.
- **Saldos iniciales**: La foto de la empresa a la fecha de corte: la balanza, lo que le deben, lo que debe, su inventario y sus bancos.
- **Cuenta puente**: Una cuenta que sostiene un importe mientras se carga su detalle, para que nada quede registrado dos veces; la documentación de Odoo la llama *clearing account*.
- **Identificador externo**: La clave con que Odoo reconoce un registro importado, que puede ser la misma que tenía en el sistema anterior.

## Qué se migra y qué se queda

La documentación contable de Odoo 20 pide preparar, del sistema anterior, cuatro conjuntos de datos: los saldos iniciales de las cuentas, las facturas de clientes pendientes con sus notas de crédito, las facturas de proveedores pendientes con sus devoluciones y el conteo inicial del inventario. Antes van los catálogos, porque todo lo demás depende de ellos.

Tabla: Qué se lleva a Odoo y cómo entra

| Dato                        | Qué incluye                                     | Cómo entra a Odoo                                                                                |
| --------------------------- | ----------------------------------------------- | ------------------------------------------------------------------------------------------------ |
| Plan de cuentas             | Las cuentas que la empresa usa, con su código   | Se renombran y recodifican las cuentas estándar equivalentes, y las demás se crean o se importan |
| Contactos                   | Clientes y proveedores con operación vigente    | Importación con la plantilla de contactos                                                        |
| Productos                   | Productos vigentes, con su categoría y su costo | Importación, con las categorías primero                                                          |
| Balanza al corte            | El saldo de cada cuenta a la fecha de corte     | Un asiento con la plantilla de operaciones varias                                                |
| Cartera y cuentas por pagar | Facturas pendientes, por lo que falta pagar     | Importación de facturas por su saldo, contra una cuenta puente                                   |
| Inventario                  | Cantidad contada por producto, ubicación y lote | Importación en el inventario físico                                                              |
| Bancos                      | El saldo de cada cuenta bancaria                | Saldo inicial del primer extracto                                                                |
| Historial                   | Facturas pagadas, pólizas y movimientos pasados | Se queda en el sistema anterior como consulta                                                    |

El historial se queda donde está. Un ejercicio completo de facturas pagadas no le sirve a la operación de mañana y multiplica lo que hay que cuadrar; la documentación de Odoo señala el cierre del ejercicio como el momento más sencillo para el cambio justamente porque minimiza los datos que hay que trasladar. El sistema anterior se conserva como consulta durante el plazo en que la empresa deba guardar su información, que conviene confirmar con su contador.

## Desde qué sistema vienes

El trabajo de fondo es el mismo desde cualquier origen; lo que cambia es cuántas fuentes hay que reunir. Cada fabricante organiza su producto a su manera, y conviene partir de cómo lo describe su propia documentación pública:

Tabla: Cómo organiza su información cada sistema de origen, según la documentación pública de su fabricante

| Sistema de origen                       | Cómo organiza su oferta                                                                                                                                            | Qué implica para la migración                                                                                                                        |
| --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| CONTPAQi                                | Soluciones especializadas por área: contabilidad y fiscal, nóminas, administración y comercial, punto de venta y tesorería                                         | Si la empresa usa varias, los datos salen de más de una fuente, y la cobranza del sistema comercial se cuadra contra la contabilidad antes del corte |
| Aspel                                   | Sistemas separados, entre ellos el contable (COI) y el administrativo (SAE), que va de la cotización al pago, además de los de nómina y punto de venta             | Igual que arriba: la cartera del sistema administrativo se cuadra contra la contable                                                                 |
| SAP Business One                        | Su portal de ayuda cubre en un mismo producto el inventario, la producción, la planeación de materiales y el cierre contable del año                               | Si toda la operación vive ahí, la fuente es una, y el trabajo está en llevar su estructura de catálogos a la de Odoo                                 |
| NetSuite                                | Su centro de ayuda reúne en un producto la contabilidad, la gestión de pedidos, la cadena de suministro y los empleados                                            | La misma tarea de mapeo, desde una sola fuente                                                                                                       |
| Microsoft Dynamics 365 Business Central | Microsoft lo describe como una solución de gestión para organizaciones pequeñas y medianas que abarca finanzas, manufactura, ventas, envíos, proyectos y servicios | Sus listas, como clientes o facturas, se exportan a Excel, que es el formato que leen las plantillas de Odoo                                         |

Hay casos en que el sistema actual sigue siendo la opción adecuada, o en que conviene esperar. Si la empresa sólo necesita contabilidad y facturación y su sistema las resuelve bien, el beneficio de integrar áreas es menor; si el cambio caería a mitad de un periodo fiscal, conviene esperar al siguiente cierre. La migración rinde cuando la empresa quiere que ventas, compras, inventario y contabilidad trabajen sobre los mismos datos.

## Cómo se importa a Odoo

La herramienta de importación de Odoo carga hojas de cálculo: la documentación habla de Excel y CSV, y el código de la versión 20 lee también el formato OpenDocument. Los datos más comunes traen su plantilla, y la documentación fija el orden: los registros relacionados se importan primero, desde su propio menú. Para que las relaciones sobrevivan, cada registro puede conservar como identificador externo la clave que tenía en el sistema anterior; la documentación pide que sea única entre todos los objetos y recomienda anteponerle el nombre de la tabla de origen, para que el cliente 1 y el producto 1 no choquen.

El recorrido, catálogo por catálogo, es éste:

1. Saca del sistema anterior cada catálogo y cada reporte de saldos a una hoja de cálculo.
2. Acomoda cada archivo a la plantilla de Odoo que le corresponde, con su identificador externo.
3. Carga en una base de prueba, en orden: primero los catálogos, después lo que depende de ellos.
4. Prueba cada archivo antes de importarlo: el código de Odoo 20 corre la importación completa con sus validaciones y deshace lo escrito, así que muestra los errores sin tocar la base.
5. Importa y compara conteos y totales contra el sistema anterior.
6. Repite el ensayo completo antes del corte y, el día del corte, carga sólo los saldos.

Dos advertencias de la documentación ordenan ese recorrido: una importación es permanente y no se puede deshacer, y un archivo muy grande puede agotar el tiempo de espera, lo que se resuelve importando por lotes.

## Cómo se cuadran los saldos

El riesgo de una migración contable es registrar dos veces lo mismo. Si la balanza dice que los clientes deben 1,000 y las facturas pendientes suman esos mismos 1,000, cargar las dos cosas sin más deja en Odoo una cartera de 2,000: 1,000 de la balanza más 1,000 de las facturas. La documentación de Odoo lo resuelve con cuentas puente. En la balanza que se importa, la cuenta de clientes se sustituye por una cuenta puente de clientes, y las facturas pendientes se cargan contra esa misma cuenta puente; al terminar, la cuenta puente queda en cero y la de clientes, con el saldo de las facturas. Lo mismo vale para proveedores.

Antes de cargar nada, la documentación pide cuatro comprobaciones. La primera dice así:

> «The sum of the opening trial balances of all receivable accounts must equal the sum of the open customer invoices minus credit notes.»

Odoo, «Get started», documentación oficial de Odoo 20.0 (Contabilidad), consultada el 17 de octubre de 2026.

Tabla: Qué debe cuadrar antes de cargar los saldos

| Cuenta de la balanza | Debe ser igual a                                                    |
| -------------------- | ------------------------------------------------------------------- |
| Clientes             | Las facturas de clientes pendientes, menos sus notas de crédito     |
| Proveedores          | Las facturas de proveedores pendientes, menos sus devoluciones      |
| Inventario           | La suma, producto por producto, de la cantidad contada por su costo |
| La balanza completa  | Sus propios cargos y abonos: debe estar cuadrada                    |

En inventario, la cuenta se hace a la vista: con 10 piezas de un producto a 250 y 8 de otro a 350, el inventario vale 2,500 más 2,800, es decir 5,300, y la cuenta de inventario de la balanza debe decir 5,300. Las facturas pendientes, por su parte, se cargan con una sola línea por el importe pendiente, como recomienda la documentación para no afectar dos veces las cuentas de impuestos. Al final, con las cuentas puente en cero, se pasan a fuera de balance para que dejen de aparecer en los reportes.

## México: facturas timbradas y complementos de pago

Las facturas emitidas en el sistema anterior ya están timbradas y no se vuelven a timbrar en Odoo. Lo que sí cruza el corte es su cobro. Cuando una factura se emitió con método de pago [PPD](https://web.quantumgarage.io/glosario/pue-ppd/) (pago en parcialidades o diferido), la guía de llenado del SAT pide un comprobante adicional por cada pago:

> «En este supuesto la clave del método de pago debe ser “PPD” (Pago en parcialidades o diferido) y cuando se reciba el pago total o parcial se debe emitir adicionalmente un CFDI al que se le incorpore el “Complemento para recepción de pagos” por cada pago que se reciba.»

SAT, Anexo 20, «Guía de llenado de los comprobantes fiscales digitales por Internet», consultada el 17 de octubre de 2026.

Odoo genera ese complemento sólo para facturas con política PPD, y lo envía con el botón de actualizar pagos cuando un pago conciliado corresponde a una factura con folio fiscal. Para las facturas emitidas en otro sistema, la localización mexicana de Odoo 20 trae un lector de XML: al subir el XML de una factura, Odoo la crea en borrador con su cliente y sus impuestos, y esas facturas pueden emitir [complementos de pago](https://web.quantumgarage.io/glosario/complemento-de-pago/). Si la factura ya se creó en borrador por importación, la documentación indica que su folio fiscal se recupera arrastrando el XML como nota en su historial.

Las dos vías tienen efectos contables distintos: el XML trae las líneas y los impuestos de la factura original, y la importación por saldo usa una sola línea contra la cuenta puente. Por eso la vía para las facturas PPD abiertas se decide con el contador y se prueba completa en la base de prueba antes del corte. La documentación advierte, además, que un XML creado en otro sistema puede traer totales distintos a los que calcula Odoo, y pide revisar siempre lo que se sube por esta vía.

El catálogo de clientes se limpia contra el SAT antes de migrar. En el [CFDI](https://web.quantumgarage.io/glosario/cfdi/) 4.0, el comprobante lleva del cliente su RFC, su nombre o razón social tal como está registrado en el RFC, el código postal de su domicilio fiscal y su régimen fiscal, y Odoo los pide en la ficha de cada contacto. Cada producto, además, necesita su clave del SAT para que la factura no falle al validarse.

## Qué cambia para el área contable

El plan de cuentas de la localización mexicana sigue el código agrupador del SAT. Se puede crear cualquier cuenta que respete esa estructura —`NNN.XX.YY`, `NNN.XX.YYY` o `NNN.XX.YYY.ZZ`—, y Odoo la valida al crearla. Las cuentas estándar que tienen equivalente en el plan de la empresa se renombran y se recodifican en lugar de borrarse, porque la documentación advierte que borrarlas o cambiar su tipo puede romper procesos básicos, como emitir una factura. Y el paquete de localización se elige antes del primer asiento: después de publicar uno, ya no se puede cambiar.

El trabajo diario también se mueve. En Odoo, cada factura es en sí misma un asiento contable —en el código de la versión 20, facturas, notas de crédito y asientos manuales son un mismo tipo de registro—, y Odoo crea los asientos de todas las facturas y los pagos. El contador pasa de capturar pólizas a revisar las que genera la operación, conciliar bancos y cerrar el mes, y la contabilidad electrónica sale del sistema: catálogo de cuentas, balanza de comprobación y pólizas, en XML.

## Qué cambia para la operación

Ventas, compras, inventario y contabilidad comparten una sola base. La factura se crea desde el pedido de venta —el código de Odoo 20 genera las facturas a partir de los pedidos— y su asiento nace con ella, de modo que lo que se vendió, lo que el almacén entregó y lo que se facturó se leen en el mismo sistema. Si antes había que pasar datos de un sistema a otro, ese traspaso desaparece.

Durante un tiempo, el equipo seguirá consultando el pasado en el sistema anterior. Conviene decidir desde el corte quién conserva el acceso y para qué, y que todo lo nuevo se capture sólo en Odoo.

## Antes del corte: la lista corta

1. Clientes y proveedores con RFC, razón social como está en el RFC, código postal fiscal y régimen fiscal.
2. Productos con su categoría, su costo y su clave del SAT.
3. Plan de cuentas con la estructura del código agrupador.
4. Balanza a la fecha de corte, cuadrada.
5. Cartera y cuentas por pagar que cuadran contra la balanza, con el folio fiscal de las facturas PPD abiertas.
6. Inventario contado a la fecha de corte, con su costo.
7. Saldo de cada banco a la fecha de corte.
8. Un ensayo completo en la base de prueba, con un complemento de pago probado.

## Preguntas frecuentes

### ¿Odoo puede importar directamente la base de datos de CONTPAQi, Aspel o SAP Business One?

La herramienta de importación de Odoo trabaja con hojas de cálculo —Excel, CSV u OpenDocument— y con plantillas para los datos más comunes. El puente es sacar los datos del sistema actual a esos formatos y acomodarlos a las plantillas, conservando la clave de cada registro como identificador externo.

### ¿Se puede migrar todo el historial a Odoo?

Se pueden importar asientos y documentos, pero lo que conviene llevar son los saldos a la fecha de corte y los documentos abiertos. La documentación de Odoo 20 señala el cierre del ejercicio como el momento más sencillo para el cambio porque minimiza los datos que hay que trasladar; el historial se consulta en el sistema anterior.

### ¿Qué pasa con las facturas que ya timbré en el sistema anterior?

Se quedan como están: ya están timbradas y no se vuelven a timbrar. Las que siguen pendientes de cobro entran a Odoo por su saldo, y si son PPD conviene traer su folio fiscal para emitir desde Odoo el complemento de pago cuando se cobren.

### ¿Cuándo conviene hacer el cambio de sistema?

Al cierre del ejercicio fiscal, que es la opción más sencilla según la documentación de Odoo 20, o al cierre de un periodo fiscal. A mitad de un periodo no se recomienda, porque obliga a combinar los datos de los dos sistemas para la misma declaración.

### ¿Tengo que dejar de usar mi sistema anterior el día del arranque?

Para operar, sí: desde el corte, lo que se migró se registra sólo en Odoo. Como consulta, el sistema anterior se conserva el tiempo que la empresa deba guardar su información, plazo que conviene confirmar con el contador.

## Fuentes

1. Odoo S.A., «Upgrade», documentación oficial de Odoo 20.0. <https://www.odoo.com/documentation/20.0/es_419/administration/upgrade.html>. Consultada el 2026-10-17T00:00:00-06:00.
2. Odoo S.A., «Get started (Contabilidad)», documentación oficial de Odoo 20.0. <https://www.odoo.com/documentation/20.0/es_419/applications/finance/accounting/get_started.html>. Consultada el 2026-10-17T00:00:00-06:00.
3. Odoo S.A., «Export and import data», documentación oficial de Odoo 20.0. <https://www.odoo.com/documentation/20.0/es_419/applications/essentials/export_import_data.html>. Consultada el 2026-10-17T00:00:00-06:00.
4. Odoo S.A., «Mexico (localización fiscal)», documentación oficial de Odoo 20.0. <https://www.odoo.com/documentation/20.0/es_419/applications/finance/fiscal_localizations/mexico.html>. Consultada el 2026-10-17T00:00:00-06:00.
5. Odoo S.A., «addons/base_import/models/base_import.py», código fuente de Odoo, rama 20.0, commit eaef8b21. <https://github.com/odoo/odoo/blob/eaef8b21ca849cc8b12be2379a5c87a7dea8f3ff/addons/base_import/models/base_import.py>. Consultada el 2026-10-17T00:00:00-06:00.
6. Odoo S.A., «addons/account/models/account_move.py», código fuente de Odoo, rama 20.0, commit eaef8b21. <https://github.com/odoo/odoo/blob/eaef8b21ca849cc8b12be2379a5c87a7dea8f3ff/addons/account/models/account_move.py>. Consultada el 2026-10-17T00:00:00-06:00.
7. Odoo S.A., «addons/sale/models/sale_order.py», código fuente de Odoo, rama 20.0, commit eaef8b21. <https://github.com/odoo/odoo/blob/eaef8b21ca849cc8b12be2379a5c87a7dea8f3ff/addons/sale/models/sale_order.py>. Consultada el 2026-10-17T00:00:00-06:00.
8. Servicio de Administración Tributaria (SAT), «Anexo 20. Guía de llenado de los comprobantes fiscales digitales por Internet», SAT. <http://omawww.sat.gob.mx/tramitesyservicios/Paginas/documentos/Anexo_20_Guia_de_llenado_CFDI.pdf>. Consultada el 2026-10-17T00:00:00-06:00.
9. CONTPAQi, «CONTPAQi® software empresarial y administrativo», sitio oficial de CONTPAQi. <https://www.contpaqi.com/>. Consultada el 2026-10-17T00:00:00-06:00.
10. Siigo Aspel, «Siigo Aspel México», sitio oficial de Siigo Aspel. <https://www.aspel.com.mx/>. Consultada el 2026-10-17T00:00:00-06:00.
11. SAP SE, «SAP Business One», SAP Help Portal. <https://help.sap.com/docs/SAP_BUSINESS_ONE>. Consultada el 2026-10-17T00:00:00-06:00.
12. Oracle, «Welcome to the NetSuite Help Center», Oracle Help Center, NetSuite Applications Online Help. <https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/index.html>. Consultada el 2026-10-17T00:00:00-06:00.
13. Microsoft, «Welcome to Microsoft Dynamics 365 Business Central», Microsoft Learn. <https://learn.microsoft.com/en-us/dynamics365/business-central/welcome>. Consultada el 2026-10-17T00:00:00-06:00.
14. Microsoft, «View and edit in Excel from Business Central», Microsoft Learn. <https://learn.microsoft.com/en-us/dynamics365/business-central/across-work-with-excel>. Consultada el 2026-10-17T00:00:00-06:00.
