Un conteo (InventoryCount) registra el proceso de contar físicamente el stock de una ubicación — completo, parcial o cíclico — y aplica la varianza encontrada como ajustes de inventario al completarse. Todos los endpoints de este recurso requieren el permiso inventory:count.
El stock solo se toca al completar, y solo si hubo varianza registrada
Crear, iniciar o cancelar un conteo no mueve stock. El movimiento ocurre exclusivamente en complete, y únicamente para los ítems cuya varianza fue calculada mediante una llamada previa a PUT .../items. Si completas un conteo sin haber registrado cantidades contadas, no se genera ningún ajuste.
La variance (countedQuantity − systemQuantity) se calcula en el servidor por cada ítem. Un ítem sin countedQuantity queda con variance: undefined — y por lo tanto no genera ajuste cuando el conteo se completa.
Tip
Puedes llamar este endpoint varias veces conforme avanza el conteo físico; cada llamada recalcula la varianza de los ítems incluidos en esa petición.
Por cada ítem del conteo cuya variance sea distinta de 0 y distinta de undefined, el sistema:
Crea automáticamente un InventoryAdjustment (reason: 'count_correction', status: 'approved', sourceType: 'count', sourceId = ID del conteo).
Escribe el stock directamente, en la misma operación.
'complete' NO emite el evento 'Inventory Updated'
Igual que la recepción de transferencias, complete mueve el stock por una ruta que bypasea la escritura estándar de stock — por lo tanto no dispara Inventory Updated ni la verificación de stock bajo, a pesar de que internamente sí crea registros de InventoryAdjustment. Un consumidor que solo escucha Inventory Updated no se enterará de los cambios de stock producidos por un conteo completado.
Sin guarda de transición de estado
start, complete y cancel no verifican el estado actual antes de aplicarse — igual que en transferencias, es un findOneAndUpdate incondicional. Completar un conteo dos veces vuelve a evaluar la varianza de sus countItems y puede generar ajustes duplicados si no controlas el estado desde tu integración.