Crea un nuevo producto en el almacén especificado. Opcionalmente puede replicarse automáticamente a todas las empresas del sistema.
Autenticación
Requiere token Bearer y permiso productos.create.
Token de autenticación Bearer
multipart/form-data (si se incluye imagen) o application/json
ID de la empresa activa (opcional, usa la empresa del usuario por defecto)
Body Parameters
Nombre del producto (máx 255 caracteres)
Descripción detallada del producto
Código interno del producto. Si no se proporciona, se genera automáticamente con formato PROD-A{almacen}-{numero}
Código de barras del producto
Categorización
ID de la categoría del producto (debe existir en tabla categorias)
ID de la unidad de medida (debe existir en tabla unidades)
Ejemplo: NIU (Unidad), KGM (Kilogramo), MTR (Metro)
Almacén donde se registra el producto: 1 o 2
Precios
Precio de venta unitario (incluye IGV)
Precio por unidad de medida
Precio para distribuidores/mayoristas
Costo de adquisición del producto
Moneda: PEN (Soles) o USD (Dólares)
Stock
Stock inicial del producto
Configuración
Código del catálogo SUNAT de productos
Si el producto utiliza código de barras
Si el producto tiene múltiples niveles de precio (mayor/menor)
Imagen del producto (formatos: jpg, png, gif; máx 2MB)
Replicación Multi-Empresa
Si es true, el producto se replica automáticamente a todas las empresas activas del sistema (excepto la actual). Solo se crea si no existe un producto con el mismo nombre en cada empresa.
Generación Automática de Código
Si no se proporciona codigo, se genera automáticamente:
Formato: PROD-A{almacen}-{numero}
Ejemplo para almacén 1: PROD-A1-00001, PROD-A1-00002, etc.
Ejemplo para almacén 2: PROD-A2-00001, PROD-A2-00002, etc.
El número es secuencial por almacén y empresa
Respuesta Exitosa
true si el producto se creó exitosamente
Mensaje de confirmación. Si replicar_empresas = true: “Producto creado y replicado a todas las empresas”
Producto creado con sus relaciones (categoría y unidad) Código generado o proporcionado
Información de la categoría
Información de la unidad de medida
Ejemplo de Solicitud
{
"nombre" : "Mouse Inalámbrico Logitech M720" ,
"descripcion" : "Mouse inalámbrico multidispositivo con 3 botones personalizables" ,
"categoria_id" : 15 ,
"unidad_id" : 3 ,
"almacen" : "1" ,
"precio" : 118.00 ,
"precio_unidad" : 118.00 ,
"precio_mayor" : 110.00 ,
"precio_menor" : 115.00 ,
"costo" : 85.00 ,
"cantidad" : 50 ,
"stock_minimo" : 10 ,
"stock_maximo" : 100 ,
"moneda" : "PEN" ,
"codsunat" : "51121703" ,
"usar_barra" : false ,
"usar_multiprecio" : true ,
"replicar_empresas" : false
}
Ejemplo de Respuesta
{
"success" : true ,
"message" : "Producto creado exitosamente en ambos almacenes" ,
"data" : {
"id_producto" : 456 ,
"codigo" : "PROD-A1-00123" ,
"nombre" : "Mouse Inalámbrico Logitech M720" ,
"descripcion" : "Mouse inalámbrico multidispositivo con 3 botones personalizables" ,
"precio" : 118.00 ,
"precio_unidad" : 118.00 ,
"precio_mayor" : 110.00 ,
"precio_menor" : 115.00 ,
"costo" : 85.00 ,
"cantidad" : 50 ,
"stock_minimo" : 10 ,
"stock_maximo" : 100 ,
"moneda" : "PEN" ,
"almacen" : "1" ,
"codsunat" : "51121703" ,
"usar_barra" : false ,
"usar_multiprecio" : true ,
"estado" : "1" ,
"imagen" : null ,
"id_empresa" : 1 ,
"fecha_registro" : "2026-03-06T15:30:45.000000Z" ,
"categoria" : {
"id" : 15 ,
"nombre" : "PERIFÉRICOS"
},
"unidad" : {
"id" : 3 ,
"nombre" : "UNIDAD" ,
"codigo" : "NIU"
}
}
}
Códigos de Error
Errores de validación (campos requeridos, tipos incorrectos, etc.)
Error interno al crear el producto
Notas de Implementación
El campo fecha_registro se establece automáticamente con la fecha/hora actual
Si se sube una imagen, se guarda en storage/app/public/productos/ con formato: {timestamp}_{nombre_original}
El estado del producto se establece automáticamente en 1 (Activo)
La replicación multi-empresa omite productos con el mismo nombre en las empresas destino
Para crear productos masivamente desde Excel, usa: POST /api/productos/importar-lista