Ir al contenido

Sincronización

Afippi no consulta ARCA en el momento en que vos pedís los datos. Los recolecta por su cuenta y los guarda; la API te devuelve lo último que quedó guardado. Entender eso es la diferencia entre un reporte correcto y uno que informa cero deuda cuando en realidad nunca se pudo consultar.

Todos los endpoints de un sistema de ARCA devuelven syncedAt: el momento de la última sincronización exitosa de ese sistema para ese CUIT.

{
"data": { "saldoDeudor": 15320.5, "saldoAcreedor": 4200.75 },
"syncedAt": "2026-07-20T14:32:11.000Z"
}

Es por sistema, no por CUIT: un mismo CUIT puede tener los comprobantes sincronizados hoy y la CCMA de hace una semana.

Estas dos respuestas parecen equivalentes y significan cosas opuestas:

{ "data": [], "pagination": { "limit": 50, "offset": 0, "total": 0 }, "syncedAt": "2026-07-20T14:32:11.000Z" }

Sincronizado y sin resultados. Consultamos ARCA con éxito y el CUIT efectivamente no tiene comprobantes en ese período. El dato es cero y es confiable.

{ "data": [], "pagination": { "limit": 50, "offset": 0, "total": 0 }, "syncedAt": null }

Nunca sincronizado. No sabemos nada de ese CUIT para ese sistema. Puede tener cientos de comprobantes. El cero no significa nada.

En los endpoints que devuelven un único estado en vez de una lista —sct y ccma— la misma distinción aparece en data:

{ "data": null, "syncedAt": null }

data: null es “nunca se sincronizó”. Nunca es “no debe nada”.

const { data, syncedAt } = await traerCcma(cuit)
if (syncedAt === null) {
return { estado: "sin-datos" }
}
return { estado: "ok", saldoDeudor: data.saldoDeudor, actualizado: syncedAt }

La regla práctica: chequeá syncedAt antes de leer data. Si es null, mostrá “sin sincronizar” en tu interfaz en vez de un cero. Y si vas a mostrar números fiscales, mostrá también la fecha: un saldo de hace tres semanas no es un saldo de hoy.

La frecuencia depende del sistema y del plan. La API no expone un cronograma ni permite forzar una sincronización: syncedAt es la fuente de verdad sobre qué tan frescos están los datos que estás leyendo.