Órdenes de producción
Una Orden de producción (Work Order) es la instrucción formal para fabricar una cantidad específica de un producto usando una BOM determinada. Gestiona el consumo de materiales, el avance por centros de trabajo y el registro del producto terminado.
Para qué sirve
Sección titulada «Para qué sirve»Controla el proceso de fabricación de inicio a fin: cuánto se planificó producir, cuánto material se consumió, cuánto producto terminado entró al inventario y cuál es el costo real de la orden.
Vista principal
Sección titulada «Vista principal»
Cómo acceder
Sección titulada «Cómo acceder»Navegar a Manufactura → Operaciones → Órdenes de Producción en el menú lateral. Las mismas órdenes también se pueden operar desde el Tablero de producción (kanban) y reprogramar desde el Gantt de Planificación.
Ciclo de vida de una orden
Sección titulada «Ciclo de vida de una orden»Borrador → Confirmada → En proceso → Completada \_______________________ → Cancelada| Estado | Descripción |
|---|---|
Borrador (DRAFT) | Creada con su plan de materiales, pendiente de iniciar |
Confirmada (CONFIRMED) | Lista para arrancar (también arrancable desde el terminal de piso) |
En proceso (IN_PROGRESS) | Producción activa: permite consumir materiales y reportar producción |
Completada (COMPLETED) | Fabricación cerrada: stock y asiento contable generados (irreversible) |
Cancelada (CANCELLED) | Orden interrumpida (desde cualquier estado salvo Completada/Cancelada) |
Datos principales
Sección titulada «Datos principales»| Campo | Descripción |
|---|---|
| Número WO | Identificador correlativo de la orden |
| BOM | Lista de materiales utilizada |
| Producto | Producto a fabricar |
| Cantidad planificada | Unidades a producir |
| Cantidad producida / Merma | Unidades buenas y desperdicio reportados |
| Prioridad | Alta / Media / Baja |
| Inicio / Fin planificado | Fechas programadas (editables después vía reprogramación) |
| Almacén | Almacén de consumo y de entrada del producto terminado (si no se indica, se usa el almacén por defecto de la empresa) |
| Estado | Estado actual de la orden |
Flujo de operación
Sección titulada «Flujo de operación»- Crear orden (botón “Nueva Orden”): seleccionar BOM, producto, cantidad, prioridad, fechas y notas. Al crearla, el sistema genera automáticamente el plan de materiales desde la BOM, escalado a la cantidad pedida e incluyendo el % de merma de cada componente, valorizado al costo del artículo.
- Iniciar producción: la orden pasa a “En proceso” (con confirmación).
- Consumir materiales (opcional): registra consumos reales sobre las líneas planificadas, al costo del artículo, con lote y almacén opcionales. Si un material no estaba en el plan, se agrega como línea extra.
- Reportar producción: registra unidades terminadas (con lote opcional); con la casilla “Es merma” el reporte suma al desperdicio en lugar de la producción buena.
- Completar orden (con confirmación, irreversible):
- Backflush: los materiales planificados que no se consumieron manualmente se consumen automáticamente en proporción a lo producido.
- Se generan los movimientos de inventario y el asiento contable.
- La pantalla muestra el costo total y el número de asiento generado.
- Reprogramar (alternativo): arrastrar o redimensionar la barra de la orden en el Gantt de Planificación actualiza las fechas planificadas (rechaza órdenes completadas/canceladas y fin ≤ inicio).
Detalle de la orden
Sección titulada «Detalle de la orden»
El diálogo de detalle (clic en la orden, en una alerta del asistente de riesgos, en una barra del Gantt o en una tarjeta del kanban) muestra pestañas:
- Materiales Consumidos: plan vs. consumido por componente, con panel de disponibilidad de materiales (pendiente, disponible en almacén, faltante).
- Producción Reportada: salidas buenas y merma, con lote.
- Costos: material, mano de obra, total, costo unitario, estándar ajustado a lo producido y variación real vs. estándar; enlace al asiento contable generado (origen
MANUFACTURA/WO:<número>).
Integración con inventario y contabilidad
Sección titulada «Integración con inventario y contabilidad»Al completar la orden, el sistema genera automáticamente:
- Movimientos de inventario (idempotentes — reintentar no duplica):
PRODUCTION_OUTpor cada material consumido, valorizado a su costo.PRODUCTION_INdel producto terminado, valorizado al costo real de la orden: materiales consumidos + mano de obra (tiempos de la ruta × costo/hora del centro de trabajo).- Actualiza las existencias por almacén y el stock del artículo.
- Asiento contable (idempotente por orden, con enlace documento↔asiento):
- Débito: Inventario de Producto Terminado (costo total real)
- Crédito: Inventario de Materias Primas (costo de materiales)
- Crédito: Mano de Obra Aplicada (costo de ruta)
- Cada línea lleva el auxiliar
PRODUCTO:<código>, lo que alimenta los reportes de auxiliares de contabilidad. - Las cuentas se resuelven desde la política contable de la empresa (procesos
MFG_*en Contabilidad → Políticas) con cuentas estándar como respaldo.
Flujo del usuario
Sección titulada «Flujo del usuario»Vista no técnica del proceso. Pensada para personal de producción, planeación y supervisión de planta.
Editable en draw.io: descarga el SVG → en draw.io: File → Import from → Device → selecciona el SVG. Cada nodo queda editable.
Flujo técnico
Sección titulada «Flujo técnico»Vista técnica para desarrolladores: endpoints, stored procedures, integración con inventario y contabilidad.
| Componente | Tipo | Ubicación |
|---|---|---|
/v1/manufactura/ordenes (GET, POST) y acciones :id/iniciar, :id/consumir, :id/reportar-salida, :id/completar, :id/cancelar, :id/reprogramar, :id/costos, :id/disponibilidad | Routes Express (Zod + error handler global) | web/api/src/modules/manufactura/routes.ts |
usp_mfg_workorder_create (snapshot de materiales desde BOM) | Función PL/pgSQL | migración 00271 + sqlweb-pg/ |
usp_mfg_workorder_start / _consumematerial / _reportoutput / _complete (backflush) / _cancel / _reschedule / _checkavailability | Funciones PL/pgSQL | migraciones + sqlweb-pg/ |
usp_mfg_workorder_processstock (PRODUCTION_OUT/IN + ProductBinStock + StockQty, idempotente) | Función de integración inventario | migración 00271 + sqlweb-pg/ |
usp_mfg_workorder_costsummary / _materials_list / _outputs_list | Funciones de consulta (detalle y costeo) | migración 00271 + sqlweb-pg/ |
emitWorkOrderAccountingEntry (AccountingPolicy MFG_* + FindByOrigin + auxiliar + DocumentLink) | Servicio de integración contable | web/api/src/modules/manufactura/mfg-contabilidad.service.ts |
mfg.WorkOrder, mfg.WorkOrderMaterial, mfg.WorkOrderOutput | Tablas operativas | web/api/sqlweb-pg/baseline/003_tables.sql |
OrdenesProduccionPage.tsx, OrdenDetalleDialog.tsx, DisponibilidadPanel.tsx | Componentes Frontend | web/modular-frontend/packages/module-manufactura/src/components/ |
Editable en draw.io: descarga el SVG → File → Import from → Device.