Crear producto
Crea un producto, servicio o producto con variantes. Opcionalmente registra su stock inicial con el costo.
POSThttps://api.facturalo.pe/api/v3/productos
Parámetros del body
Campo
Descripción
tipostringopcional
producto (default) o servicio. Los servicios no controlan stock.Ej: productonombrestringrequerido
Nombre del producto (máx. 250).Ej:
LAPTOP HP INTEL I20descripcionstring | nullopcional
Texto interno (máx. 2000).
unidadMedidastringopcional
NIU (default en productos), ZZ (servicios), BX, PK, KT o GLI.Ej: NIUtipoIgvstringopcional
Catálogo 07:
10 gravado (default), 20 exonerado, 30 inafecto…Ej: 10codigoSunatstring | nullopcional
Código de producto SUNAT de 8 dígitos (catálogo 25).Ej:
43211503tipoExistenciastring | nullopcional
Tabla 5 SUNAT para el kárdex:
01 mercaderías (default), 02 productos terminados…Ej: 01icbperbooleanopcional
Bolsa plástica: se cobra ICBPER al venderla.
controlaStockbooleanopcional
Las ventas descuentan del inventario. Default
true en productos, false en servicios.controlaSeriesbooleanopcional
Cada unidad lleva número de serie / IMEI: se pide al comprar y al vender. Default
false.garantiaMesesinteger | nullopcional
Garantía en meses (0 a 120). Con series, la consulta de una serie dice si sigue vigente.Ej:
12activobooleanopcional
Inactivo: no se puede vender ni cotizar. Default
true.precionumber | nullopcional
Sin variantes: precio con IGV en soles.Ej:
4500precioUsdnumber | nullopcional
Sin variantes: precio con IGV en dólares (se usa si el comprobante es en
USD).skustring | nullopcional
Sin variantes: SKU / código interno, único por empresa (máx. 60).Ej:
LAPT-HP-INT-I20codigoBarrasstring | nullopcional
Sin variantes: código de barras, único por empresa (máx. 60).Ej:
2048123456785opcionesarray | nullopcional
Con variantes: hasta 3 opciones.
nombrestringopcional
Nombre de la opción.Ej:
Tallavaloresstring[]opcional
Valores (1 a 50).Ej:
["S", "M", "L"]variantesarray | nullopcional
Con variantes: una por combinación que vendes (máx. 300).
idstring | nullopcional
Al actualizar: UUID de la variante existente (conserva su historial y stock).
valoresobjectopcional
Valor de cada opción.Ej:
{"Talla": "S", "Color": "Azul"}skustring | nullopcional
SKU de la variante.
codigoBarrasstring | nullopcional
Código de barras de la variante.
precionumber | nullopcional
Precio con IGV en soles.
precioUsdnumber | nullopcional
Precio con IGV en dólares.
activobooleanopcional
false = la combinación existe pero no se vende.stockInicialnumber | nullopcional
Solo al crear: stock inicial de la variante (requiere
costo).costonumber | nullopcional
Solo al crear: costo unitario sin IGV del stock inicial de esta variante.
stockInicialnumber | nullopcional
Solo al crear y sin variantes: stock inicial. Se registra como saldo inicial (tabla 12, tipo 16) en el almacén principal y en el entorno del token. No aplica a productos con
controlaSeries.costonumber | nullopcional
Solo al crear: costo unitario sin IGV del stock inicial (base del kárdex). Obligatorio si envías stock inicial.Ej:
2966.10Language
Credentials
Header
Authorization
Token de la empresa · HTTP directo
Fetch Request
$ # Node 18+ fetch
const response = await fetch("https://api.facturalo.pe/api/v3/productos", {
method: "POST",
headers: {
"Authorization": "sk_test_…",
"Content-Type": "application/json"
},
body: JSON.stringify({
"nombre": "Polo básico",
"precio": 35,
"costo": 14,
"opciones": [
{
"nombre": "Talla",
"valores": [
"S",
"M"
]
},
{
"nombre": "Color",
"valores": [
"Azul",
"Rojo"
]
}
],
"variantes": [
{
"valores": {
"Talla": "S",
"Color": "Azul"
},
"sku": "POLO-S-AZ",
"stockInicial": 10
},
{
"valores": {
"Talla": "S",
"Color": "Rojo"
},
"sku": "POLO-S-RO"
},
{
"valores": {
"Talla": "M",
"Color": "Azul"
},
"sku": "POLO-M-AZ",
"precio": 39,
"stockInicial": 6
},
{
"valores": {
"Talla": "M",
"Color": "Rojo"
},
"activo": false
}
]
})
});
const data = await response.json();
console.log(data);HTTP directo · funciona con cualquier cliente HTTP
Response
Elige un ejemplo de respuesta:
application/json
201Created
{
"success": true,
"message": "Producto creado.",
"data": {
"id": "a32f4541-75e1-4f0c-9d0a-6a2b7c1e9f10",
"tipo": "producto",
"nombre": "LAPTOP HP INTEL I20",
"unidadMedida": "NIU",
"tipoIgv": "10",
"codigoSunat": "43211503",
"tipoExistencia": "01",
"icbper": false,
"activo": true,
"conVariantes": false,
"controlaStock": true,
"controlaSeries": true,
"garantiaMeses": 12,
"rangoPrecio": {
"desde": 4500,
"hasta": 4500
},
"variantesCount": 1,
"actualizado": "2026-11-09T10:15:02-05:00",
"varianteId": "a32f4541-75eb-4b59-ad28-3c571652fe39",
"sku": "LAPT-HP-INT-I20",
"codigoBarras": null,
"precio": "4500.00",
"precioUsd": null,
"descripcion": null,
"opciones": [],
"variantes": [
{
"id": "a32f4541-75eb-4b59-ad28-3c571652fe39",
"nombre": null,
"valores": {},
"sku": "LAPT-HP-INT-I20",
"codigoBarras": null,
"precio": "4500.00",
"precioUsd": null,
"activo": true
}
]
}
}