Inventarios AY-030

Bodegas, categorías, movimientos, traslados, toma física, requisiciones, lotes e importación

Menú Ayuda

Crear / Editar Artículo IN-002 Permiso 411

Formulario completo para crear o editar un artículo. Layout de 3 columnas con cards de Datos Básicos, Otros Datos, Costos y Precios, Stock por Bodega, Ajuste de Stock e Imagen.

Búsqueda en cascada (3 fases)

El campo Buscar en la card "Búsqueda" ejecuta una cascada estricta de tres fases. La primera fase que encuentre coincidencia detiene la búsqueda y muestra solo ese resultado.

FaseCondiciónComportamiento
1 Texto sin espacios y coincide exacto con un Cod_Articulo Devuelve únicamente ese artículo.
2 Sin match en fase 1, texto sin espacios y coincide exacto con un CodigoBarra (con trim) Devuelve únicamente ese artículo.
3 Sin match en fases 1 ni 2 (o el texto tiene espacios) Busca cada palabra (con LIKE %palabra%) en Nombre + Detalle Interno + Código + Código de Barra. Une las palabras con AND y los campos con OR.

Ejemplo: escribir coca blanca o blanca coca devuelve los mismos artículos. Tampoco importa si una palabra está en el nombre y la otra en el detalle interno — el sistema las cruza.

Nota: En la fase 3 puede buscar por fragmentos del código, nombre, detalle interno o código de barras combinados — el sistema cruza cada palabra contra los 4 campos.

Artículos Compuestos Permiso 426

Un artículo compuesto es una receta o kit que se vende como un solo producto pero se arma con varios ingredientes. Al vender el compuesto, el sistema descuenta automáticamente los ingredientes del inventario.

Ejemplo: "Pizza Hawaiana"

  • 200 g de masa de pizza
  • 150 g de queso mozzarella
  • 100 g de jamón
  • 80 g de piña

Al facturar una "Pizza Hawaiana", el sistema resta esas cantidades de cada ingrediente y el costo del producto se calcula sumando el costo de los ingredientes.

CRUD de compuestos

  1. Abrir el artículo padre y activar "Es compuesto"
  2. Agregar los componentes con cantidad y unidad
  3. Guardar — el sistema calcula el costo teórico
Ideal para restaurantes Este mecanismo es la base del control de inventario en restaurantes. Cada plato es un compuesto con sus ingredientes.

Categorías — Artículos por Naturaleza Permiso 425

Explorador del catálogo organizado por naturaleza (Productos, Servicios, Compuestos, Insumos, Combos) → categoríasubcategoría. A la izquierda una ficha por naturaleza con su árbol; a la derecha los artículos en tarjetas con imagen.

Ruta: Inventario → Categorías  |  Permisos: 081 (ver inventario), 425 (renombrar categorías), 050 (mover artículos), 411 (editar artículo/foto/marca), 426 (compuestos).

Novedad (2026-06-22) — renovado por completo
  • 5 fichas por naturaleza a la izquierda, cada una con su árbol categoría → subcategoría y scroll propio.
  • Buscador por nombre o código y filtro por existencia (por defecto "mayor que 0"). Los compuestos/combos muestran su existencia armable (cuántos se pueden formar) y no se filtran por stock.
  • Tocar un artículo abre su ficha: editar nombre, marca, categoría, subcategoría y naturaleza, activar "Mostrar en web", y administrar su galería de fotos (buscar en web, subir archivo, quitar). Botón IA que detecta categoría, subcategoría y marca.
  • Compuestos / Combos: botón + en esas fichas para crearlos; al tocar uno se ve y edita su composición (agregar/quitar componentes y cantidades).
  • Convertir en activo fijo: desde la ficha del artículo (casilla de unidades) o el botón "Crear activo" (seleccionar varios). Descuenta del inventario y crea el activo con su asiento contable.
  • Arrastrar un artículo a otra subcategoría (lo mueve) o a otra naturaleza (la cambia).
  • Los cambios se sincronizan a empresas externas si está activa la sincronización (parámetro 239).

Ejemplo de estructura

  • Alimentos
    • Lácteos
    • Panadería
    • Carnes
  • Bebidas
    • Gaseosas
    • Jugos
    • Alcohólicas
  • Limpieza
    • Ropa
    • Piso
    • Baño

¿Para qué sirven?

  • Filtrar productos en el catálogo, facturación y reportes
  • Reportes "Por Categoría" (ventas, compras, inventario)
  • Aplicar márgenes de utilidad por subcategoría (P1–P10)
  • Aplicar precios o descuentos masivos por categoría
  • Buscar fotos web para todos los artículos de una categoría con un clic

Árbol lateral

La pantalla muestra el árbol de categorías y subcategorías en la columna izquierda. Cada nodo muestra el código (badge monospace gris) y el nombre. Al seleccionar una categoría o subcategoría, la columna derecha lista los artículos que pertenecen a ella.

  • Clic en categoría → muestra todos los artículos de esa categoría
  • Clic en subcategoría → filtra solo los artículos de esa subcategoría
  • Doble clic en subcategoría → abre el modal de edición (márgenes, nombre)

Crear categoría / subcategoría (Modal MIN-002)

Botón "Nueva categoría" en la barra superior:

  1. Sección Categoría (obligatoria): Código + Nombre. El código se autocalcula (siguiente numérico, 3 dígitos: 001, 002…).
  2. Sección Subcategoría (opcional): Código + Nombre. Puede dejarse vacía si solo querés crear la categoría.
  3. Enter guarda, Esc cierra. El foco inicial está en el campo Nombre porque el código ya viene pre-llenado.

Botón "Nueva subcategoría" (cuando hay una categoría seleccionada): muestra la categoría padre solo-lectura y permite crear una subcategoría dentro de ella.

Editar subcategoría (Modal MIN-001)

Doble clic en una subcategoría del árbol abre un modal con:

  • Nombre — editable
  • Porcentajes 1–10 — utilidad por defecto para cada precio (P1 a P10). Cuando se crea un artículo nuevo en esta subcategoría, estos porcentajes se aplican automáticamente sobre el costo.
  • Redondeo — cantidad de decimales o unidad de redondeo (ej: 0, 1, 10, 100).

Búsqueda de fotos por categoría

Botón "Fotos" en el header (aparece cuando la categoría seleccionada tiene artículos sin imagen). Abre un modal que busca imágenes en Bing por el nombre del artículo, mostrando una grilla 2×2 con las 4 mejores coincidencias. Un clic descarga la imagen al servidor y la asigna al artículo.

Mover artículos entre categorías

Desde la lista de artículos se pueden seleccionar varios con checkbox y usar el botón "Mover a…" para reasignarlos a otra categoría/subcategoría (requiere permiso 050). Útil cuando se restructura el catálogo.

Eliminar

  • Solo se pueden eliminar categorías/subcategorías sin artículos asignados. Si hay artículos, primero hay que moverlos a otra.
  • Al eliminar una categoría se eliminan también sus subcategorías vacías.
Márgenes por subcategoría Configurar bien los porcentajes 1–10 de cada subcategoría ahorra mucho trabajo al crear artículos: el sistema ya calcula los 10 niveles de precio sobre el costo. Si más adelante cambian los márgenes del negocio, solo se ajusta la subcategoría y los artículos nuevos los heredan.
Para desarrolladores Las categorías se guardan en Tipo_Articulo (campos requeridos: Grupo='A' y Impresora='000'). Las subcategorías en SubTipo_Articulo con Porcentaje1..10 y Redondeo (los 10 porcentajes son NOT NULL, valor por defecto 30%).

Bodegas Permiso 404 IN-010

Las bodegas son ubicaciones físicas o virtuales donde se almacena el inventario. Cada artículo tiene existencia independiente en cada bodega.

Casos de uso

  • Sucursales múltiples — Una bodega por sucursal
  • Bodegas de tránsito — Para mercadería en camino
  • Mostrador vs almacén — Separar stock visible del stock de respaldo
  • Mermas / daños — Bodega especial para artículos defectuosos

CRUD

Desde Inventarios → Bodegas se puede:

  • Crear bodegas con código, nombre, impresora, RGB, e-mail y usuario administrador
  • Editar los datos de una bodega existente
  • Ver el listado de artículos con su stock por bodega
  • Eliminar bodegas (soft delete — ver más abajo)
  • Imprimir o exportar a Excel el detalle de stock por bodega

Eliminar bodega Permiso 404

El botón Eliminar realiza un soft delete: la bodega no se borra físicamente, sino que pasa a Estado = 3 (eliminada).

  • Requisito: todos los artículos de la bodega deben tener stock 0. Si hay artículos con stock distinto de 0 el sistema bloquea la eliminación y muestra la lista exacta de bloqueantes (código, nombre, stock actual y razón por la que están ocultos: [Estado=2/3/4] inactivo / eliminado / descontinuado, [Nat=2/3] servicio / receta).
  • Histórico preservado: los movimientos en InventarioMovimiento con esa bodega se mantienen intactos para trazabilidad contable.
  • Listado oculta eliminadas: una bodega Estado=3 ya no aparece en el módulo Bodegas ni en los selects de creación/edición de otros módulos (artículos, requisiciones, notas E/S, traslados, reportes).
  • Reactivación: si al crear una nueva bodega se usa un código que ya existe en Estado=3, el sistema la reactiva automáticamente con los datos nuevos en lugar de bloquear por "código duplicado".

Incluir ocultos (modo diagnóstico)

En la barra de filtros del listado de artículos hay un checkbox "Incluir ocultos" que relaja los filtros estándar (Estado=1 y Naturaleza ∈ {1,4}) para mostrar también:

  • Artículos inactivos INACT, eliminados ELIM o descontinuados DESC
  • Servicios SERV o recetas REC con stock
  • Stock huérfano HUÉRFANO — filas en la vista de stock que ya no tienen artículo en el catálogo

Útil para identificar el stock fantasma que está bloqueando la eliminación de una bodega.

Corregir stock negativo a 0

Junto al código de cada artículo, cuando el stock es negativo aparece un ícono rojo (goma de borrar). Al hacer clic:

  • Confirma con un diálogo mostrando el movimiento de ajuste a generar.
  • Inserta un movimiento AJU en InventarioMovimiento con cantidad = -stock_actual (positivo, para llevarlo a 0).
  • El documento se identifica como AJUBOD{cod_bodega}-{YmdHis} con detalle "Ajuste a 0 por eliminación de bodega (stock huérfano)".
  • NO reactiva el artículo (a diferencia de las notas E/S regulares): si está eliminado, sigue eliminado.
Solo stock negativo El botón solo aparece cuando el stock es negativo. El stock positivo representa producto real y debe salir por Nota E/S o Traslado formal, no por este ajuste directo. Si se intenta vía API con stock positivo el sistema rechaza la operación.

Flujo recomendado para cerrar una bodega

  1. Seleccionar la bodega y revisar el listado de artículos con stock.
  2. Para stock positivo: usar Notas E/S (Salida) o Traslados hacia otra bodega activa.
  3. Activar el filtro "Incluir ocultos" para detectar stock fantasma (artículos eliminados, servicios con stock, etc.).
  4. Para stock negativo: usar el botón rojo para llevarlo a 0 con un movimiento AJU.
  5. Una vez todo el stock esté en 0, hacer clic en Eliminar en la barra superior.

Movimientos / Kardex Permiso 419 MIN-003

El Kardex es el historial cronológico de todos los movimientos de un artículo: entradas, salidas y ajustes, con saldo corrido. Se abre como modal desde varios módulos (catálogo de artículos, compras, facturación, toma física, traslados, etc.).

Tipos de movimientos (TipoDoc)

  • FVE / TIK — Venta (rebaja por factura o tiquete)
  • FCO — Compra (ingreso por compra aplicada)
  • NCV / NCC — Nota de crédito de venta / compra
  • TCI / REQ / RIN — Traslado o requisición entre bodegas
  • NEI / NSI — Nota de entrada / salida manual
  • TOM — Ajuste por toma física
  • AJU — Ajuste manual (suma o resta directa de existencia)

Columnas

Fecha, Bodega, Tipo, Documento, Cantidad (+/−), Saldo, Detalle, Usuario y — al final — una columna de acciones que muestra el botón eliminar únicamente en las filas de tipo AJU.

Filtros

Bodega (dropdown), Desde y Hasta (Flatpickr DD/MM/AAAA) y botones de Buscar, Excel y Cerrar. Al cambiar fechas o bodega el listado se recarga automáticamente.

Eliminar ajuste (AJU) Permiso 405

El botón solo aparece en movimientos de tipo AJU (ajustes manuales de existencia).

  • Para verlo el usuario debe tener el Permiso 405 — "Suma o resta existencia a una bodega".
  • El servidor valida nuevamente el tipo antes de borrar (solo AJU); cualquier otro movimiento devuelve error.
  • La acción queda registrada en la Bitácora del Sistema con: Id del movimiento, artículo, bodega, cantidad, fecha, documento y detalle.
  • Al eliminar, la tabla se recarga y el saldo se recalcula automáticamente.
No se pueden eliminar otros tipos Las facturas, compras, tomas físicas, traslados y notas E/S no se borran desde el kardex. Para revertirlos se debe anular o devolver el documento original (NC, reversa de compra, eliminar toma/nota).
Link al documento Hacer clic sobre el número en la columna Documento abre el documento origen (factura, compra, cotización, requisición o nota E/S) en una pestaña nueva.

Kardex viejo (histórico) MIN-003V

En los reportes Movimientos y Movimientos del Día cada fila tiene ahora dos botones:

  • Kardex — el historial actual del artículo (movimientos que registra el sistema hoy).
  • Kardex viejo — el historial heredado del sistema anterior. Es una consulta de solo lectura de la tabla histórica, útil para revisar o comparar movimientos previos a la migración. Mismos filtros (bodega, fechas) y exportación a Excel, con saldo de arrastre y saldo corrido.
¿Cuándo usar el Kardex viejo? Cuando necesite verificar cómo quedó el saldo de un artículo antes de la migración al sistema actual. El histórico no se modifica: es una foto de consulta.

Notas de Entrada / Salida Permiso 433

Las notas E/S son movimientos manuales para ajustar el inventario sin factura. Se usan para:

  • Entrada: Inicial de inventario, donaciones recibidas, préstamos, correcciones por aumento
  • Salida: Merma, daño, muestra, consumo interno, uso propio

Campos

  • Tipo (Entrada o Salida)
  • Fecha
  • Bodega
  • Motivo (por qué se hace) — en las salidas el motivo lleva además la cuenta contable de gasto
  • Líneas: artículo, cantidad, costo unitario

Salidas a gasto (consumo propio / merma) — cuenta contable obligatoria

Cuando saca mercadería del inventario para consumo propio, uso interno, merma, daño o regalía, esa salida deja de ser inventario y pasa a ser un gasto. Por eso, toda nota de salida exige una cuenta contable de gasto:

  • La cuenta vive en el motivo y se administra solo en la pantalla de Motivos (ver más abajo). Cada motivo de salida (por ejemplo "Uso personal", "Dañado", "Vencido") tiene asociada su cuenta de gasto.
  • Al crear la salida ya no se pide la cuenta: solo elige el motivo y la cuenta viene de él. Si el motivo elegido no tiene cuenta, el sistema lo avisa con un botón "Asignar cuenta" y no deja crear la salida hasta asignarla.
  • Al aplicar una salida vieja (creada antes de tener cuenta): si el motivo no tiene cuenta, el sistema se la pide en ese momento, la guarda en el motivo y recién entonces aplica. No deja aplicar sin cuenta.
  • Motivos sin duplicados: el motivo se identifica por su nombre. Si crea un motivo con un nombre que ya existe, el sistema reutiliza el existente (no crea repetidos como "1-Insumos", "2-Insumos").

Administrar motivos

Es la única pantalla donde se crean, editan, eliminan los motivos y se les asigna la cuenta de gasto. Se abre desde:

  • El botón "Motivos" de la barra superior del módulo (sin necesidad de empezar una nota nueva), o
  • El botón que está junto al campo Motivo dentro de la ventana Nueva Nota.

En esa ventana ve la lista completa de motivos con su cuenta (💰). Cada fila tiene:

  • Nuevo — agrega un motivo (nombre + cuenta de gasto).
  • En la columna Cuenta de gasto, el botón Seleccionar / Cambiar abre el catálogo contable y asigna la cuenta al motivo al instante. La lista abre filtrada a cuentas de Gastos, pero con el selector de grupo puede cambiar a Costos, Activos, Pasivos, Patrimonio, Ingresos o ver todas las cuentas del catálogo.
  • Editar — renombra el motivo o le cambia la cuenta.
  • Eliminar — borra el motivo del catálogo.
Eliminar un motivo no afecta las notas existentes Cada nota guarda el motivo como texto propio, así que borrar un motivo del catálogo no modifica las notas ya creadas (siguen mostrando su motivo). Simplemente deja de aparecer en la lista para las notas nuevas. Si una salida en borrador usa un motivo que luego elimina, al aplicarla el sistema le pedirá la cuenta de gasto en ese momento.
Asiento que genera la salida Al aplicar la salida se registra: DEBE la cuenta de gasto del motivo, HABER la cuenta de inventario. Se valora al costo del artículo sin IVA (costo × cantidad). Así el inventario baja y el gasto queda contabilizado.
Importante Normalmente la cuenta del motivo es de gasto, pero si su caso lo requiere puede usar una de costo u otro grupo del catálogo (cambiando el filtro del selector). En todos los casos debe ser una cuenta de movimiento y activa; el sistema valida que exista en el catálogo contable. Las entradas no piden cuenta (solo las salidas).

Ingreso de Pacas IN-041 / IN-042 Permiso 050

Ruta: Inventarios → Ingreso de Pacas  |  Permisos: 081 (módulo) + 050 (utilidades/admin de inventario).

Pensado para el ingreso de mercadería a granel (pacas de ropa usada, saldos, contenedores, lotes mixtos): donde llega un bulto con muchos artículos sin catalogar y hay que crear cada uno con su código, costo, precio de venta y dejar la existencia en bodega de una sola pasada.

Flujo general

  1. Nueva paca (IN-041): crea una paca borrador y abre la pantalla de edición.
  2. Cabecera: ponerle Nombre y Fecha de compra — se guardan solos al salir del campo (autosave on blur).
  3. Agregar artículos uno por uno: Prefijo (hasta 7 caracteres, parte fija del código), Nombre, Cantidad, Costo, IVA % (solo calculadora) y Venta con IVA incluido. Al darle Agregar el sistema genera el código del artículo automáticamente: prefijo + consecutivo de 8 dígitos.
  4. Aplicar la paca: con un solo click el sistema crea los artículos en el catálogo, les pone el costo y los 10 niveles de precio, mete el stock en la bodega 0 y deja la paca en estado Aplicada.

Pantalla de lista (IN-041)

  • Filtros: Desde / Hasta (rango por fecha de creación), texto libre (busca en el nombre de la paca, código de usuario o Id) y pills de estado Todas / Sin terminar / Aplicadas.
  • Doble clic sobre una fila abre la edición.
  • Checkboxes + Eliminar selección: solo se pueden eliminar pacas en estado Borrador. Las pacas aplicadas tienen el checkbox deshabilitado.
  • Exportación a Excel/CSV de la vista actual.

Pantalla de edición (IN-042)

Captura optimizada con Enter encadenado: Prefijo → Nombre → Cantidad → Costo → IVA% → Venta → Agregar. Junto a la Venta aparece un preview "≈ sin IVA" para ver el precio neto que va a quedar guardado.

Al hacer clic sobre una línea de la tabla, la carga al renglón de captura para editarla (el código no cambia — sigue siendo el mismo). El botón Nuevo limpia el renglón para empezar otra línea.

Abajo se ven los totales corridos de Costo y Venta de toda la paca.

¿Qué hace exactamente "Aplicar paca"?

Por cada línea de la paca:

  • Crea el artículo en el catálogo si no existía (o actualiza nombre y costos si ya existía).
    • Código: el que generó la paca (prefijo + 8 dígitos).
    • Costo: el del renglón.
    • Precios P1 a P10: todos iguales a Venta ÷ 1.13 (precio sin IVA).
    • Tarifa de IVA: 13% (Tarifa general 08).
    • Moneda CRC, Naturaleza Producto, Unidad Unid.
  • Ingresa el stock en la bodega 0 con la cantidad del renglón, costo promedio del artículo y un movimiento tipo PAC referenciando el Id de la paca (queda trazable desde el Kardex y desde Movimientos del Día).
  • Encola la etiqueta en TempImpEtiquetas para impresión posterior (proveedor = PACA, factura = Id de la paca).

Al terminar, la paca queda en estado Aplicada y la pantalla pasa a solo lectura (no se puede modificar ni eliminar más).

Importante
  • El IVA del renglón es solo un preview. La Venta se guarda con IVA incluido y al aplicar siempre se divide entre 1.13. Si necesitan trabajar con otros porcentajes de IVA por línea, hablen con soporte.
  • El ingreso es por bodega 0. Si manejan varias bodegas y necesitan repartir, hagan un Traslado después.
  • La paca no genera factura de compra ni asiento contable. Solo afecta el inventario y crea los artículos. Si el ingreso necesita afectar CxP o contabilidad, registren la compra por separado.
  • Una vez aplicada, la paca no se puede deshacer desde el módulo. Si hay que revertir, los movimientos se eliminan desde el Kardex (permiso 405) y los artículos creados se descontinúan desde el catálogo.

Estructura del código de artículo

Si en el renglón ponemos prefijo 160223 y es el artículo #178 del contador global de artículos del sistema, el código que queda es 16022300000178: el prefijo es la parte que el usuario controla (típicamente la fecha de la paca, una abreviatura del proveedor o el número de contenedor) y los 8 dígitos vienen del contador de artículos, garantizando unicidad sin chocar con códigos existentes.

Toma Física Permiso 412

Proceso de conteo físico del inventario para ajustar diferencias entre el sistema y la realidad.

Flujo típico

  1. Crear una toma física para una bodega específica
  2. El sistema "congela" el stock actual como referencia
  3. Capturar el conteo real (manual, CSV o pistola de código de barras)
  4. Revisar diferencias por artículo
  5. Aplicar la toma: el sistema genera notas E/S automáticas para cuadrar

Métodos de captura

MétodoDescripción
Manual en webDigitar cantidades en una pantalla con filtros
Importar CSVSubir archivo con código y cantidad
PDF con IACargar PDF de hojas escaneadas — la IA extrae códigos y cantidades
App móvil / escánerEscanear códigos de barras en bodega
PDF con IA El módulo acepta PDFs escaneados de las hojas de conteo físico. Claude Vision extrae automáticamente código y cantidad, eliminando la digitación manual.

Captura rápida: Modo Edición vs Modo Agregar

El editor de la toma tiene dos modos de captura dentro de la misma pantalla; se distinguen por dónde está el cursor.

ModoUbicación del cursorComportamiento de Enter
Modo Agregar Input "Código / nombre..." o "Cantidad" arriba Agrega el artículo a la toma con la cantidad indicada
Modo Edición Input numérico de la columna Físico dentro de la tabla Guarda la cantidad de esa línea y salta inmediatamente al siguiente input de la tabla (el guardado en BD corre en segundo plano, no bloquea)
Navegación con Enter En Modo Edición, el foco salta al siguiente input apenas presionás Enter — no hay espera. Si estás en la última línea visible, el foco vuelve al campo de búsqueda arriba para que puedas seguir agregando. Las líneas ya aplicadas se muestran en verde y no tienen input de edición, por lo que se saltan automáticamente.

Buscador de Artículos (MBA-002)

El modal Buscar Artículos permite agregar artículos a la toma con filtros avanzados:

FiltroDescripción
TextoBusca en código, código de barras, nombre y detalle interno (palabras en cualquier orden)
Categoría / SubcategoríaRestringe a una categoría/subcategoría específica
BodegaPermite ver el stock de todas las bodegas (sumarizado) o filtrar por una bodega específica. Por defecto trae la bodega de la toma actual.
StockSelector con 4 opciones: Todos (default), Stock > 0, Stock = 0, Stock < 0 (negativo). Útil para revisar productos sin existencia o con stock negativo.
Solo mercancíasExcluye servicios (en toma física esto va siempre forzado)
Cargar con 0Permite agregar artículos con cantidad y stock en 0 (default desactivado: omite estas líneas)
Filtros persistentes Los filtros de bodega, stock y mercancías se recuerdan entre aperturas del modal mediante localStorage, así no hay que reconfigurarlos cada vez. El botón Ver todo respeta estos filtros (no los limpia).

Importar desde CSV, XML o PDF

  • CSV — archivo con columnas Código y Cantidad (separador coma o punto y coma). Detecta automáticamente el encabezado.
  • XML — soporta export de FactuPOS (<Linea>) y XML de Hacienda FE (<LineaDetalle>).
  • PDF con IA — subir hasta 20MB, la IA lee y extrae código + cantidad; preview editable antes de confirmar la importación.

En los tres, el checkbox "Omitir si cantidad y stock son 0" (default activo) evita registrar líneas sin diferencia. Desactivarlo permite registrar artículos con cantidad 0 (útil para dejar constancia de arts contados como inexistentes).

Aplicar la toma

El botón Aplicar abre un modal de progreso que procesa las líneas pendientes una por una de forma secuencial (más confiable: evita conflictos en la base de datos que antes hacían que algunas líneas fallaran y necesitaran reintentarse). Si hay líneas seleccionadas, solo aplica esas; si no, aplica todas las pendientes.

Estado por línea Cada línea se marca como Aplicada apenas su movimiento de inventario queda registrado. La toma solo pasa a estado "Aplicada" y se mueve al histórico cuando todas sus líneas están aplicadas. Si quedan pendientes, la toma sigue editable y se puede reintentar sin perder el progreso ya realizado.

Al finalizar (todas aplicadas):

  • Mueve la toma de la tabla activa a TomaFisicaHistorico
  • Cambia el estado a "Aplicada" y genera los movimientos de inventario
  • Imprime el reporte de la toma

Log de líneas no aplicadas

Si una o más líneas no se pudieron aplicar, al terminar el proceso aparece un panel rojo abajo del resumen con la tabla de fallos:

ColumnaSignificado
CódigoCódigo del artículo que falló
ArtículoNombre del artículo
Motivo del falloMensaje exacto del error (sobregiro, artículo inactivo, etc.) — ya no aparece "Aplicación parcial" sin razón visible
AcciónBotón Quitar: elimina la línea de la toma sin tener que cerrar el modal
Reintentar fallidos Al fondo del modal aparece un botón ámbar "Reintentar fallidos" que reanuda el proceso solo sobre las líneas pendientes — las ya aplicadas no se reprocesan. Útil cuando el motivo fue temporal (ej: stock momentáneamente negativo por otra operación). Si el motivo es definitivo (artículo inactivo, sobregiro real), primero Quitar la línea problema y luego reintentar.

Motivos comunes de fallo y cómo resolverlos:

MotivoSolución
Sobregiro: stock actual X, diferencia YAplicar primero entradas pendientes en la bodega, o ajustar el conteo físico
Artículo está INACTIVOActivar el artículo en el catálogo o eliminar la línea de la toma
Artículo no existeEliminar la línea (el código fue removido del catálogo después de la captura)
Receta sin insumosConfigurar los insumos del artículo compuesto, o cambiar a naturaleza Producto

Requisiciones Permiso 407

Son solicitudes internas de mercadería. Una bodega o sucursal solicita artículos a otra bodega o al área de compras.

Flujo

  1. Sucursal A crea requisición con lista de artículos necesarios
  2. Aprobador revisa y autoriza (o rechaza)
  3. Si aprueba, se genera:
    • Traslado interno si hay stock en otra bodega
    • Orden de compra sugerida si no hay stock

Estados

  • Pendiente — Aún no aprobada
  • Aprobada — Autorizada y en proceso
  • Completada — Mercadería entregada
  • Rechazada — No se atenderá

Traslados salientes entre empresas

Cuando FactuPOS maneja varias empresas (multi-empresa), permite trasladar inventario de una empresa a otra. Este módulo gestiona los traslados salientes (la empresa que envía).

Flujo

  1. Borrador — Crear el traslado con empresa destino y agregar líneas (puede agregarse aunque no haya stock todavía).
  2. Enviar — Pasa a estado Proceso. La empresa destino lo ve en sus Entrantes.
  3. La empresa destino aprueba o devuelve:
    • Aprobar → mueve inventario (salida origen + entrada destino) y queda como Aplicado.
    • Devolver → vuelve al origen como Devuelto con el motivo escrito por destino.

Estados

  • Borrador (amarillo) — Editable, todavía no se envió.
  • Proceso (azul) — Enviado, esperando aprobación del destino.
  • Aplicado (verde) — Aprobado por destino, inventario movido. Se archiva en el histórico.
  • Devuelto (violeta) — La empresa destino lo devolvió para revisión. Se puede editar y volver a enviar.
Validación de stock El stock se valida al aprobar, no al agregar líneas. Esto permite armar el traslado mientras llega producto pendiente. Si al momento de aprobar no hay stock suficiente en origen, el destino verá el error y deberá usar Devolver.

Comprobante impreso (POS)

Al imprimir el traslado en la impresora de tiquetes, el comprobante ahora muestra los precios y totales de cada artículo:

  • Por cada línea: cantidad, código y precio unitario (con IVA), y debajo el nombre del artículo con el total de esa línea a la derecha.
  • Al final: Total de líneas, Total de cantidad y Total monto (la suma de todos los totales por línea).

Traslados devueltos

Cuando un traslado llega a destino y la empresa destino detecta un problema (faltante, error de cantidades, artículo equivocado, etc.), puede pulsar Devolver en lugar de aprobar.

¿Qué pasa al devolver?

  1. El destino escribe un motivo obligatorio antes de confirmar.
  2. El traslado deja de estar pendiente en los Entrantes.
  3. En la empresa origen pasa al estado Devuelto (violeta) con un badge en la lista de salientes.
  4. Al abrir el traslado aparece un banner violeta arriba con: quién devolvió, fecha y motivo.
  5. El origen puede editar líneas, agregar/quitar artículos y volver a pulsar Enviar. Al re-enviar el banner desaparece.
El motivo es obligatorio Sin motivo el sistema no permite devolver. Es la única forma que tiene el origen de entender qué corregir.

Traslados entrantes

Vista del traslado desde la perspectiva de la empresa receptora. Aquí se aprueban o devuelven los traslados que otras empresas han enviado.

Acciones disponibles

  • Aprobar — Mueve el inventario (salida en origen + entrada en destino). El traslado se archiva como Aplicado.
  • Devolver — Regresa el traslado a la empresa origen para que lo corrija. Requiere motivo.
  • Imprimir — Tiquete POS o impresión por pantalla.
Revisar antes de aprobar Cuente físicamente la mercadería recibida antes de aprobar. Si encuentra diferencias, use Devolver indicando qué falló para que el origen ajuste el traslado.

Traslados simultáneos

Permite armar varios traslados al mismo tiempo, útil para redistribuciones masivas entre varias bodegas o empresas.

Ejemplo

"Trasladar 100 unidades del artículo X desde Bodega Central a las 5 sucursales (20 c/u)". En lugar de crear 5 traslados manuales, se arma una matriz y el sistema crea los 5 traslados en un solo paso.

Devueltos en el panel

Si un traslado simultáneo fue devuelto por el destino, su ficha aparece con cabecera violeta y badge "Devuelto" en la barra superior. Al expandirla se muestra el motivo registrado por la empresa destino. Editar y volver a enviar limpia el estado.

Valor de Inventario Permiso 055

Reporte que muestra el valor total del stock de la empresa, agrupado por categoría, bodega o artículo.

Cálculo

Valor = Σ (Cantidad × Costo unitario) por artículo. El costo unitario usa el método de valoración configurado (promedio ponderado, FIFO, último costo).

Usos

  • Balance general: inventario es un activo clave
  • Control: saber cuánto capital está "atado" en mercadería
  • Auditoría: comparar contra conteos físicos

Stock por Bodega IN-040 · Permiso 055

Reporte simple de existencias de una bodega: por cada artículo muestra su cantidad, costo unitario y costo total, con totales al pie. Se accede desde el modal de Inventarios, tarjeta Reportes.

Filtros

  • Bodega (obligatorio): mientras no se elija una bodega, el reporte no muestra nada.
  • Stock (opcional): operador (>, , =, , <, ) más un valor. Es el mismo filtro que la pantalla de Bodegas.
¿Por qué el total coincide con la pantalla de Bodegas? El reporte usa la misma fuente que Inventario → Bodegas, mostrando por defecto todos los artículos asignados a la bodega (incluidos los de stock 0). Si solo querés ver artículos con existencia, poné el filtro de stock en ≠ 0.

Columnas

  • Código / Nombre del artículo
  • Cantidad (en verde si es positiva, en rojo si es negativa)
  • Costo Unitario (costo de catálogo del artículo)
  • Costo Total = Cantidad × Costo unitario

Hacé clic en el título de cualquier columna para ordenar de forma ascendente o descendente; una flecha indica el orden activo.

Paginación, Excel e impresión

  • Paginación: el pie permite avanzar entre páginas y elegir cuántas filas ver por página.
  • Excel: exporta el reporte completo (con el filtro y el orden aplicados), no solo la página visible.
  • Imprimir: abre una vista para imprimir o guardar como PDF con encabezado de empresa, bodega, totales y, al imprimir, el número de línea por artículo. El encabezado de empresa se repite en cada página y las columnas quedan alineadas igual en todas las hojas.

Stock por Bodega (Matriz) IN-043 · Permiso 055

Muestra el stock de todas las bodegas a la vez: una fila por artículo y una columna por cada bodega con su existencia, más una columna de Total. A diferencia de Stock por Bodega (IN-040), que muestra una sola bodega, aquí ves de un vistazo cómo se reparte el stock de cada producto entre todas las bodegas. Se accede desde el modal de Inventarios, tarjeta Reportes.

Filtros

  • Artículo: busca por código o por nombre.
  • Bodegas (columnas): abre un panel con casillas para elegir qué bodegas aparecen como columnas. Útil cuando hay muchas bodegas y la tabla queda muy ancha. Tiene atajos Todas / Ninguna y un botón Aplicar. Si no elegís ninguna, el reporte te pide seleccionar al menos una.
  • Mostrar artículos sin existencias: por defecto se ocultan los artículos cuyo total es cero; marcá esta casilla para incluirlos.
Sobre la columna Total El Total de cada fila suma solo las bodegas que estás mostrando como columnas. Si filtrás las bodegas, el total refleja únicamente esas.

Excel e impresión

  • Excel: exporta la matriz completa, con una columna por bodega (con su código y nombre) y el nombre completo de cada artículo.
  • Imprimir: sale en hoja vertical; cada columna de bodega muestra su número arriba y el nombre debajo. El encabezado se repite en cada página y las columnas quedan alineadas igual en todas las hojas. Si tenés muchas bodegas, usá el selector de columnas para imprimir solo un grupo.

Lista de Precios Permiso 053

Vista consolidada de todos los niveles de precio de los artículos activos. Las columnas P1, P2, P3… aparecen según los niveles que la empresa realmente usa (no siempre son 10), con la opción de ver los precios con IVA o sin IVA.

Uso

  • Imprimir catálogo de precios para vendedores o clientes
  • Auditar precios antes de cambios masivos
  • Comparar niveles de precio entre artículos similares

Filtros

  • Código (búsqueda exacta) y Nombre
  • Categoría / Subcategoría
  • Stock: todos, con stock o sin stock — opcionalmente de una Bodega específica
  • IVA: precios sin IVA o con IVA incluido
  • Moneda: ver todo convertido a moneda Nacional o Extranjera (usa el tipo de cambio de venta del día)
  • Orden: por Nombre A-Z / Z-A o por Código ascendente / descendente — también aplica al Excel y a la impresión

Versión móvil

Al abrir el módulo desde un celular, se muestra automáticamente una versión optimizada: cada artículo es una tarjeta con su código, stock y los precios de cada nivel en fichitas. Tiene buscador por nombre o código, selectores rápidos de IVA y moneda, y el botón "Agregar filtro" para sumar Orden, Código, Categoría, Subcategoría, Stock o Bodega. Los resultados se actualizan solos al cambiar cualquier filtro.

Excel e impresión

  • Excel: exporta todos los artículos filtrados con sus columnas de precio.
  • Imprimir: genera el catálogo con encabezado de la empresa, listo para entregar.
  • Las exportaciones están disponibles en la versión de escritorio (desde el celular, el link "Ver versión desktop" al pie da acceso a ellas).

Faltantes del Mes Permiso 081

Reporte que muestra los artículos con stock bajo el mínimo configurado en su ficha. Sirve como alerta para gestionar pedidos de reposición.

Columnas

  • Código / Nombre
  • Stock actual
  • Stock mínimo configurado
  • Consumo promedio (últimos 30 días)
  • Días de cobertura restantes
  • Proveedor sugerido
Enlace con OC Automática Los artículos en este reporte son la base para la "OC Automática" del módulo de Compras, que genera órdenes de compra sugeridas.

Mínimo / Máximo / Stock / Ventas IN-022 · Permiso 055

Reporte plano por artículo con Código, Nombre, Mínimo, Máximo, Stock y Ventas en una sola línea por producto. Pensado para revisar de un vistazo si el stock actual está dentro del rango configurado y cuánto se vendió en un período.

Filtros

  • Ventas desde / hasta: rango de fechas que se usa para calcular la columna Ventas (por defecto, el mes en curso).
  • Categoría: filtra por la categoría del artículo.
  • Código / artículo: busca por código o por nombre.

Columnas

  • Código / Nombre del artículo.
  • Mínimo y Máximo: los niveles configurados en la ficha del artículo.
  • Stock: existencia total sumando todas las bodegas. Se resalta en rojo si está por debajo del Mínimo, y en ámbar si supera el Máximo.
  • Ventas: unidades vendidas (netas de notas de crédito) dentro del rango de fechas filtrado.

Hacé clic en el título de cualquier columna para ordenar de forma ascendente o descendente.

Paginación, Excel e impresión

  • Paginación: el pie permite avanzar entre páginas y elegir cuántas filas ver por página.
  • Excel: exporta el reporte completo (con los filtros aplicados), no solo la página visible.
  • Imprimir: vista para imprimir o guardar como PDF con encabezado de empresa y totales.

Lotes Controlados Permiso 081

Los artículos con control de lotes activo manejan existencias por lote con fecha de vencimiento. Este módulo permite consultar y administrar los lotes existentes.

Datos por lote

  • Número de lote del proveedor
  • Fecha de vencimiento
  • Cantidad actual en stock
  • Bodega
  • Proveedor y fecha de ingreso

FEFO (First Expire, First Out)

Al facturar un artículo con lotes, el sistema sugiere el lote con vencimiento más próximo. Puede forzarse manualmente otro lote si el cliente lo pide.

Alertas de vencimiento Los lotes que vencen en los próximos 30 días aparecen en color amarillo. Los ya vencidos en rojo. Revise periódicamente para gestionar promociones o baja.

Importar Artículos (CSV) Permiso 050

Carga masiva de artículos desde un archivo CSV o Excel. Útil para migraciones iniciales o agregar líneas completas de productos.

Flujo

  1. Descargar plantilla con las columnas esperadas
  2. Completar la plantilla en Excel con los artículos nuevos
  3. Guardar como CSV (UTF-8 con comas o punto y coma)
  4. Cargar el archivo en el módulo
  5. Mapear columnas (si los encabezados no coinciden)
  6. Validar — el sistema reporta duplicados, códigos inválidos, categorías inexistentes
  7. Importar — crea los artículos nuevos y actualiza los existentes

Columnas soportadas

Código, Nombre, Categoría, Subcategoría, Unidad, CABYS, Tarifa IVA, Costo, Precio 1..10, Stock mínimo, Proveedor, Peso, Altura, Ancho, Largo, etc.

Importar con IA Permiso 050 IN-032 v3.1

Usa Claude AI para extraer artículos automáticamente. Soporta dos tipos de archivo:

Tipos de archivo

FuenteCasos de usoLo que hace la IA
PDF Catálogo del proveedor, lista de precios, menú de restaurante Extrae jerarquía completa: Categorías → Subcategorías → Artículos con precios. Crea las categorías que faltan.
Excel (.xlsx) Lista plana de artículos exportada de otro sistema, inventario inicial Mapea las columnas del Excel a campos FactuPOS automáticamente y pide confirmar valores por defecto para los campos que no están en el archivo.

Flujo PDF

  1. Elegir Importar PDF en el selector inicial
  2. Subir el archivo (drag & drop o clic; máx. 20 MB)
  3. La IA analiza y devuelve la jerarquía Categoría → Subcategoría → Artículos
  4. Crear las categorías faltantes en la BD (botón "Crear Categorías")
  5. Confirmar tarifa IVA y si los precios incluyen o no IVA
  6. Importar artículos

Flujo Excel

  1. Elegir Importar Excel en el selector inicial
  2. Subir el archivo .xlsx (drag & drop o clic; máx. 20 MB)
  3. La IA lee los encabezados + 3 filas de muestra y propone un mapeo automático con un porcentaje de confianza por columna (verde ≥80 %, amarillo, rojo). Si algo quedó mal mapeado, ajustar con el dropdown de cada columna — los selects ahora son más altos para que el texto largo (ej. "Precio Venta P10 (sin IVA)") se vea completo sin cortarse.
  4. Si el Excel trae varias columnas de precio (P1, P2, P3... o "Mayorista", "Distribuidor", "Lista B", etc.), la IA las mapea automáticamente a los niveles DBVenta1..DBVenta10 (sin IVA) o PrecioFinal1..PrecioFinal10 (con IVA) según corresponda. Cada nivel se guarda independientemente en Articulos y se sincroniza con ArticuloPrecios.
  5. Confirmar valores por defecto para los campos no presentes en el Excel: Categoría, Subcategoría, Tarifa IVA, Naturaleza, Unidad, Estado, Moneda, Actividad económica, Bodega para stock inicial.
  6. Elegir cómo generar el Cod_Articulo: usar código de barras, auto-generar (prefijo cat/sub + consecutivo) o tomar de una columna del Excel.
  7. Pasar a Vista previa — se abre en una pestaña nueva mostrando todas las filas con los valores que se van a insertar. Cada celda viene marcada como verde (vino del Excel) o amarillo itálica (default). Las columnas P2..P10 solo aparecen si esos niveles fueron mapeados.
  8. En el header de la vista previa, elegir el Modo de carga (selector arriba a la derecha): Solo nuevos (saltar existentes) es el default y solo crea códigos que no estén en la BD; Actualizar existentes (sobrescribir) reescribe nombre, costos, precios P1..P10, barra, CABYS, marca, detalle, tarifa IVA, moneda, naturaleza, unidad y actividad económica.
  9. Click en Iniciar carga. Aparece un confirm con el modo elegido y la cantidad de filas. El módulo crea cada artículo en Articulos, en InventarioBodega (bodega 0, defaults Min/Max=0) y registra movimiento AJU en InventarioMovimiento si la columna Stock estaba mapeada. En modo Actualizar el stock se ajusta por diferencia: si el Excel dice 100 y la bodega ya tiene 80, se inserta un AJU de +20; si coincide, no se mueve nada. Esto significa que reimportar el mismo Excel varias veces no duplica el stock.

Campos destino del mapeo Excel

Campo destinoTipoNotas
Cod_Articulovarchar(15)PK; si no se mapea, se genera según la opción elegida
Descripcionvarchar(255)Nombre del artículo
CodigoBarravarchar(45)EAN o código interno
DBCostonuméricoPrecio de costo (sin IVA)
DBVenta1 .. DBVenta10numéricoPrecio de venta SIN IVA por nivel. Si el Excel solo trae un precio, mapealo a DBVenta1 y los niveles 2..10 se llenan con el mismo valor (compat). Si trae varios (P1, P2, P3, "Mayorista", "Distribuidor", "Lista B"), mapealos individualmente — cada uno se guarda en su nivel.
PrecioFinal1 .. PrecioFinal10numéricoPrecio de venta CON IVA incluido por nivel. El sistema descuenta el IVA según la tarifa del artículo y lo guarda en DBVentaN. PrecioFinal sin número equivale a PrecioFinal1.
Impuestonumérico (%)% de IVA del artículo (ej. 13, 4, 1, 0). El sistema lo traduce al código de tarifa Hacienda. Acepta valores con símbolo: "1%" → 1.
CodTarifaImpuestovarchar(2)Código tarifa Hacienda directo (ej. "08" = 13%, "10" = exento). Tiene prioridad sobre Impuesto%.
StocknuméricoCantidad inicial → InventarioMovimiento AJU. En modo Actualizar se ajusta por diferencia (no duplica).
Categoria / SubCategoriavarchar(60)Texto libre. Si no vienen en el Excel se usa el default ("GENERAL").
CodigoCabysvarchar(20)CABYS de Hacienda
Marca, DetalleInternovarcharDatos opcionales
CodProveedorvarchar(15)Si viene
Detección automática de varios precios La IA reconoce nombres comunes de columnas y los mapea a los niveles correctos: P2, P3, Precio 2, Lista B, Venta 3DBVenta2, DBVenta3... Sinónimos comunes: MayoristaDBVenta2, DistribuidorDBVenta3. Si la columna trae el precio con IVA incluido (ej. Precio Final 2), se mapea a PrecioFinal2. Cualquier mapeo se puede corregir manualmente desde el dropdown de la columna.
Modo de carga: cuándo usar cada uno El selector "Modo de carga" está en el header de la vista previa, al lado del botón "Iniciar carga".
  • Solo nuevos (saltar existentes): default. Solo crea códigos que no estén en la BD. Útil para sumar productos nuevos sin tocar el catálogo existente.
  • Actualizar existentes (sobrescribir): si los códigos ya existen, sobrescribe nombre, costos, precios P1..P10, barra, CABYS, marca, detalle, tarifa IVA, moneda, naturaleza, unidad y actividad económica. Útil para corregir el catálogo en lote desde Excel.
Revisar antes de importar Aunque la IA suele acertar el mapeo, verificá la vista previa antes de confirmar. Una vez insertados, los artículos quedan en el catálogo y deshacer requiere borrarlos manualmente.
Si la importación da errores El módulo muestra un modal con los errores en una caja seleccionable + botones Copiar y Descargar .txt, para mandarlos a soporte si es necesario.

Permisos

CódigoNombreMódulos
050Importar artículos / utilidadesImportar CSV (IN-030/031), Importar IA (IN-032), Ingreso de Pacas (IN-041/IN-042)
053Ver lista de preciosLista de Precios, Catálogo
055Ver valor de inventarioValor de Inventario
081Reportes inventarioFaltantes, Lotes
404Bodegas CRUDBodegas
405Suma o resta existencia a una bodegaAjustes manuales, Eliminar ajuste desde Kardex (MIN-003)
407RequisicionesRequisiciones, OC
411Crear/Editar artículoCRUD de artículos en catálogo
412Toma físicaToma Física
419Ver movimientos KardexMovimientos
425Categorías CRUDCategorías
426Artículos compuestosCompuestos
433Notas E/SNotas Entrada/Salida