El maestro de clientes de un ERP es una fuente de verdad interna, y un dato externo debe entrar a él con reglas, no pisarlo. El primer acuerdo es la clave natural: la base del RUC, sin dígito verificador, como identificador, y el DV como atributo validado aparte. Si una empresa tiene dos fichas con la misma base, es un duplicado que hay que resolver antes de sincronizar.

Separá lo que cargó tu equipo de lo que viene de la fuente. Guardá en campos propios el nombre oficial, el estado publicado y la fecha de publicación del snapshot que informa la API. Así sabés si un dato quedó viejo y podés mostrarlo con su fecha en lugar de presentarlo como actual. OwnData devuelve la procedencia en meta.provenance justamente para eso; y su base es un snapshot de una publicación de la DNIT, no una conexión en vivo.

Hacé los cambios con operaciones idempotentes: un upsert por clave natural que, si se repite, deje el mismo resultado. Según MDN, una operación es idempotente si el efecto de una solicitud es el mismo que el de varias idénticas, y esa propiedad es la que permite reintentar un proceso interrumpido sin crear duplicados. Registrá cada cambio con fecha, valor anterior y valor nuevo, para poder auditar.

Refrescá por prioridad, no todo junto. Consultá primero los clientes nuevos y los que tienen operaciones recientes, y dejá los inactivos para después. Con un cupo gratuito de 100 consultas por día por cuenta, un proceso nocturno que consulta de a poco y guarda el resultado rinde más que uno que intenta recorrer toda la base. Si la API informa que ya consultaste ese RUC hoy (meta.accounting.alreadyConsulted), no hace falta insistir.

Decidí qué hacer ante cambios y ausencias. Si el nombre oficial difiere del que tenías, generá una tarea de revisión en lugar de reemplazarlo en silencio. Si un RUC deja de aparecer, marcalo como a revisar y no lo borres ni lo des por inexistente. El estado publicado se almacena tal cual, y su interpretación queda a cargo de la regla que tu empresa documente.

La documentación de OwnData indica que los webhooks firmados no están implementados: la sincronización es una consulta que inicia tu sistema. Para obligaciones tributarias o contables de tu empresa, consultá los servicios oficiales de la DNIT y a tu contador.