Skip to navigation

Sincronización de catálogos

Descarga los catálogos SIAT (monedas, pagos, unidades, actividades, productos, leyendas…) al tenant. Sin catálogos listos, emit responde 409: este es el paso que más olvidos causa. Verifica siempre con readiness.

En esta página aprenderás: sincronizar todo o por operación, verificar readiness y consultar catálogos · Prerrequisitos: setup con CUIS/CUFD · Tiempo: ~10 min.

// Todo de una vez (recomendado tras el setup)
const sync = await supay.siat.syncCatalogs({ pointOfSaleId: pos.id });
// sync.operations[]: { operation, codigos, status, rows_saved }
// sync.readiness: { ready, missing }
// Una sola operación
const solo = await supay.siat.syncCatalogs({
pointOfSaleId: pos.id,
operation: "tipoMoneda",
});
// Verificar qué falta
const ready = await supay.catalogs.getReadiness({
id: company.id,
point_of_sale_id: pos.id,
});
// ready.ready === true, ready.missing === []

Operaciones (?operation=)

Valor desconocido → 400. Sin el parámetro sincroniza todo.

OperaciónSincroniza
tipoPuntoVentaTipos de punto de venta
tipoMonedaMonedas
tipoMetodoPagoMétodos de pago
tipoDocumentoIdentidadDocumentos de identidad
tipoEmisionTipos de emisión
tiposFacturaTipos de factura
tipoHabitacionTipos de habitación
tipoDocumentoSectorSectores por documento
unidadMedidaUnidades de medida
motivoAnulacionMotivos de anulación
paisOrigenPaíses de origen
eventosSignificativosEventos significativos
mensajesServiciosMensajes de servicios
actividadesActividades económicas
productosServiciosProductos y servicios
leyendasFacturaLeyendas de factura
actividadesDocumentoSectorActividades por sector
fechaHoraFecha y hora SIAT
verificarComunicacionVerificación de comunicación

Catálogos crudos y de emisión

RecursoUso
GET /siat/catalogs y /siat/catalogs/{tipo}Lectura directa de lo sincronizado (revisar)
GET /companies/{id}/catalogs/productos-sinBuscar codigo_producto_sin para tus ítems
GET /companies/{id}/catalogs/emision-bootstrapTodo lo de emisión de una vez (actividades, sectores, leyendas, monedas, pagos)
const todos = await supay.siat.listCatalogs();
const moneda = await supay.siat.getCatalog({ tipo: "tipoMoneda" });
const prods = await supay.catalogs.listProductosSin({
id: company.id,
q: "tornillo",
});
const boot = await supay.catalogs.getEmisionBootstrap({
id: company.id,
codigo_actividad: "620900",
});

Siguiente: Emitir factura · CUIS y CUFD.