Ir al contenido
Inventario

FISCALISTO / API / REFERENCIA

Ajustar existencias

POST
/v1/stock_adjustments

Mete o saca existencias de un almacén con su motivo: el inventario inicial, una merma, un robo, un sobrante. Las entradas valen su unit_cost (o el costo promedio), las salidas el costo del emisor (promedio o PEPS). Los productos deben llevar track_stock: true. Se aplica al momento (status applied).

Autorización

bearerAuth
headerAutorizaciónBearer <llave>

Su llave secreta: fk_test_… en pruebas, fk_live_… en producción. Desarrolladores › Llaves.

Encabezados

Idempotency-Key?string

Opcional (los SDK la mandan solos). Si la respuesta se pierde, repita la solicitud con el mismo valor durante 24 horas: contesta lo mismo, con idempotent-replayed: true, y no lo hace dos veces (ni crea, ni manda correos, ni cobra).

Longitud1 <= length <= 255

Cuerpo de la solicitud

application/json
  1. body
issuer?string

El emisor (iss_…). Por omisión, su único emisor.

warehouse?string

El almacén (whs_…). Por omisión, el de la Matriz.

reason*string

Por qué: shrinkage (merma), theft (robo o extravío), damage (daño), expiration (caducidad), internal_use (uso interno), gift (muestra o regalo), initial (inventario inicial), surplus (sobrante), count (conteo físico) u other.

Uno de"shrinkage""theft""damage""expiration""internal_use""gift""initial""surplus""count""other"
note?|

Una nota, para el kárdex.

lines*array<>

Lo que entra o sale de cada producto, hasta 500 líneas.

Elementos1 <= items <= 500

Cuerpo de la respuesta

Correcto.

application/json
  1. response

Un ajuste de existencias: lo que entró o salió de un almacén por inventario inicial, merma, robo, conteo…

id*string

Identificador del objeto, con su prefijo (iss_, inv_, ret_, cus_, prd_, emp_, bat_, brn_, whs_, stm_, adj_, evt_, whe_).

livemode*boolean

true en producción (llaves fk_live_), false en pruebas (fk_test_). Lo de pruebas no vale ante el SAT.

object*string

Qué tipo de objeto es («invoice», «customer»…).

issuer*string

El emisor.

warehouse*string

El almacén (whs_…).

reason*string

El motivo (ver POST /v1/stock_adjustments).

Uno de"shrinkage""theft""damage""expiration""internal_use""gift""initial""surplus""count""other"
note*|

Su nota, o null.

status*string

applied (ya movió existencias), pending (espera aprobación en la app), rejected o reversed (se deshizo).

Uno de"applied""pending""rejected""reversed"
value*number

Lo que vale lo que movió, en pesos sin IVA.

lines*array<>

Lo que entró o salió de cada producto.

created_at*|

Cuándo se hizo.

curl -X POST 'https://api.fiscalisto.com/v1/stock_adjustments' \  -H 'Authorization: Bearer fk_test_…' \  -H 'Idempotency-Key: 8f14e45f-ceea-467a-9575-6a1b0e5f3c21' \  -H 'Content-Type: application/json' \  -d '{  "reason": "initial",  "note": "Inventario de apertura",  "lines": [    {      "product": "prd_OufpKqnrvx9p2",      "quantity": 50,      "unit_cost": 90    }  ]}'
{  "id": "adj_OufpKqnrvx9p1",  "object": "stock_adjustment",  "livemode": false,  "issuer": "iss_OufpKqnrvx9p",  "warehouse": "whs_OufpKqnrvx9p1",  "reason": "initial",  "note": "Inventario de apertura",  "status": "applied",  "value": 4500,  "lines": [    {      "product": "prd_OufpKqnrvx9p2",      "quantity": 50,      "unit_cost": 90,      "lot": null    }  ],  "created_at": "2026-10-27T09:30:00-06:00"}