Movimientos de inventario

Entradas, salidas y traslados de inventario entre bodegas, con sus ítems, lotes, series, costos opcionales y firmas.

entrada-de-inventario, salida-de-inventario y traslado-de-inventario, con el diseño premium: el mismo documento con tres juegos de etiquetas. La columna que importa es la cantidad; los costos son opcionales.

"documento": { "numero": "ENT-000123", "fecha": "2026-09-15", "motivo": "Compra de divisas",
  "referencia": "Transacción T-1045", "observaciones": "" },
"bodega": { "nombre": "Sucursal Aeropuerto", "codigo": "AER", "direccion": "" },
"origen": { "nombre": "", "codigo": "", "direccion": "" },
"destino": { "nombre": "", "codigo": "", "direccion": "" },
"traslado": { "responsable": "", "fechaSalida": "", "fechaLlegada": "" },
"tercero": { "rol": "Proveedor", "nombre": "Ana Pérez", "documento": "CC 1037000001" },
"items": [
  { "codigo": "USD", "descripcion": "Dólar estadounidense", "cantidad": 1500, "unidad": "USD",
    "lote": "", "serie": "", "costoUnitario": 3950.5, "costoTotal": 5925750 }
],
"totales": { "cantidad": 1500, "costo": 5925750 },
"moneda": "COP",
"firmas": [ { "rol": "Entrega", "nombre": "", "documento": "" }, { "rol": "Recibe", "nombre": "Laura Gómez", "documento": "" } ]
  • La entrada y la salida usan bodega. El traslado usa origen, destino y traslado, con el responsable y las dos fechas; sin fechaLlegada, la llegada dice «Pendiente».
  • Obligatorios: documento.numero, documento.fecha y items con al menos un ítem; en la entrada y la salida, bodega.nombre; en el traslado, origen.nombre y destino.nombre. Si falta alguno, 400 con faltan.
  • tercero es opcional: si llega, va en el bloque con su rol como rótulo.
  • Las columnas Lote, Serie, Costo unit. y Costo total solo aparecen si algún ítem las trae. Las cantidades salen con hasta dos decimales (350,5), porque una cantidad de divisas los tiene.
  • Nada se calcula aquí. El costo total de un ítem no es su cantidad por su costo unitario, ni totales la suma de los ítems: se imprimen como llegan, y sin totales no hay cifras al final.
  • firmas es opcional. Sin ella, las de cada tipo: Entrega y Recibe en la entrada y la salida; Despacha (salida) y Recibe (llegada) en el traslado, que además deja un renglón para la fecha de cada firma. Lo que no llegue de cada firma queda como renglón para escribir a mano.
  • La tabla de ítems pagina con su cabecera en cada hoja, y las firmas no se parten entre dos.
  • El archivo se llama EntradaInventario_<numero>.pdf, SalidaInventario_<numero>.pdf o TrasladoInventario_<numero>.pdf, sin tildes ni espacios, con sin-numero si no llega.

Ejemplos: entrada-de-inventario.json, salida-de-inventario.json y traslado-de-inventario.json.