---
id: KB-IN-007
url: https://app.codecontract.io/ayuda/integraciones/mantener-dos-sistemas-sincronizados
idioma: es
categoria: integraciones
audiencia: desarrollador
nivel: intermedio
actualizado: 2026-08-13
tambienEn: [en]
relacionados: [KB-IN-002, KB-IN-005]
citadoPor: [KB-IN-008]
---

# Mantener dos sistemas sincronizados

_Cuál manda cuando los dos tienen el mismo dato y no coinciden._

**Responde a:** sincronizar con el erp datos duplicados · qué sistema manda sobre un dato · los datos no coinciden entre sistemas · evitar duplicados al integrar

En cuanto dos sistemas guardan el mismo dato, en algún momento dejan de coincidir. No es un fallo de la integración: es lo que pasa siempre. Lo que decide si eso duele o no es haber acordado antes cuál de los dos manda sobre cada cosa.

## La regla: un dueño por campo

No «el ERP manda» ni «manda la plataforma», sino campo a campo. Cada dato tiene un sitio donde se edita y el otro solo lo copia.

| Dato | Quién suele mandar | Por qué |
| --- | --- | --- |
| Datos fiscales del proveedor | Vuestro ERP | Es donde se factura |
| Estado de la documentación | La plataforma | Es donde llega y se aprueba |
| Contacto para documentación | La plataforma | Es quien recibe los avisos y donde se ve si rebotan |
| Si el proveedor está activo | Vuestro ERP | Es una decisión comercial, no documental |

> [!IMPORTANT]
> Escribe esa tabla antes de programar nada, aunque sean cuatro filas en un documento. Las integraciones que se vuelven un problema no fallan técnicamente: fallan porque nadie acordó quién manda, y acaban pisándose los datos en bucle.

## Lo que evita los duplicados

**En corto**

- Un identificador vuestro en cada contacto, puesto desde el primer día.
- Buscar por ese identificador antes de crear, siempre.
- No crear nada desde los dos lados a la vez.

> [!WARNING]
> Si vuestro sistema crea un proveedor cada vez que no lo encuentra por nombre, acabaréis con «Talleres Muñoz», «Talleres Muñoz S.L.» y «TALLERES MUÑOZ». Buscar por identificador y no por nombre es lo que lo evita.

> [!NOTE]
> Empezad sincronizando en un solo sentido. La bidireccional es donde aparecen los bucles, y casi nunca hace falta desde el principio.

**¿Y si los dos cambian a la vez?**

Gana el dueño del campo. Por eso hay que definirlo antes.

**¿Puedo sincronizar solo algunos proveedores?**

Sí, y es buena idea para probar.

**¿Cómo detecto que se han desincronizado?**

Comparando por el identificador de vez en cuando. Si no lo hay, no se puede.

## Ejemplos

**Una integración crea proveedores duplicados cada vez que el nombre viene con una coma distinta.**

- Añade el identificador fiscal como clave de búsqueda
- Busca por él antes de crear

→ Dejan de aparecer duplicados y los 40 que ya había se fusionan sin perder histórico.

**El dato del proveedor se cambia aquí y en el ERP, y cada sistema tiene una versión distinta.**

- Decide cuál manda para cada campo
- El otro sistema recibe el cambio en lugar de editarlo

→ Deja de haber dos verdades y nadie tiene que adivinar cuál vale.

**Los dos sistemas se editan a la vez y el último gana sin avisar.**

- Bloquea la edición donde no manda ese campo

→ El cambio se hace en un sitio y se propaga.

**La sincronización se cae un fin de semana y nadie lo nota hasta el martes.**

- Configura un aviso si deja de llegar actividad

→ El desfase se detecta en horas.

**Se sincroniza todo cuando solo hacían falta cuatro campos.**

- Limita la sincronización a lo que se usa

→ Hay menos que mantener y menos que romper.

**Un campo cambia de formato en el ERP y la sincronización empieza a fallar.**

- Valida el formato antes de escribir
- Devuelve el error a quien lo generó

→ El fallo se corrige en origen y no se arrastra.
