Ir al contenido
Facturalo

Actualizar producto

Reemplaza el producto con los datos enviados (mismo cuerpo que al crear). Envía el `id` de cada variante que conservas: las que no vienen se dan de baja (los comprobantes emitidos no cambian). El stock no se cambia aquí: usa [Inventario](/inventario).

PUThttps://api.facturalo.pe/api/v3/productos/{id}

Parámetros del body

Campo
Descripción
tipo
stringopcional
producto (default) o servicio. Los servicios no controlan stock.Ej: producto
nombre
stringrequerido
Nombre del producto (máx. 250).Ej: LAPTOP HP INTEL I20
descripcion
string | nullopcional
Texto interno (máx. 2000).
unidadMedida
stringopcional
NIU (default en productos), ZZ (servicios), BX, PK, KT o GLI.Ej: NIU
tipoIgv
stringopcional
Catálogo 07: 10 gravado (default), 20 exonerado, 30 inafecto…Ej: 10
codigoSunat
string | nullopcional
Código de producto SUNAT de 8 dígitos (catálogo 25).Ej: 43211503
tipoExistencia
string | nullopcional
Tabla 5 SUNAT para el kárdex: 01 mercaderías (default), 02 productos terminados…Ej: 01
icbper
booleanopcional
Bolsa plástica: se cobra ICBPER al venderla.
controlaStock
booleanopcional
Las ventas descuentan del inventario. Default true en productos, false en servicios.
controlaSeries
booleanopcional
Cada unidad lleva número de serie / IMEI: se pide al comprar y al vender. Default false.
garantiaMeses
integer | nullopcional
Garantía en meses (0 a 120). Con series, la consulta de una serie dice si sigue vigente.Ej: 12
activo
booleanopcional
Inactivo: no se puede vender ni cotizar. Default true.
precio
number | nullopcional
Sin variantes: precio con IGV en soles.Ej: 4500
precioUsd
number | nullopcional
Sin variantes: precio con IGV en dólares (se usa si el comprobante es en USD).
sku
string | nullopcional
Sin variantes: SKU / código interno, único por empresa (máx. 60).Ej: LAPT-HP-INT-I20
codigoBarras
string | nullopcional
Sin variantes: código de barras, único por empresa (máx. 60).Ej: 2048123456785
opciones
array | nullopcional
Con variantes: hasta 3 opciones.
nombre
stringopcional
Nombre de la opción.Ej: Talla
valores
string[]opcional
Valores (1 a 50).Ej: ["S", "M", "L"]
variantes
array | nullopcional
Con variantes: una por combinación que vendes (máx. 300).
id
string | nullopcional
Al actualizar: UUID de la variante existente (conserva su historial y stock).
valores
objectopcional
Valor de cada opción.Ej: {"Talla": "S", "Color": "Azul"}
sku
string | nullopcional
SKU de la variante.
codigoBarras
string | nullopcional
Código de barras de la variante.
precio
number | nullopcional
Precio con IGV en soles.
precioUsd
number | nullopcional
Precio con IGV en dólares.
activo
booleanopcional
false = la combinación existe pero no se vende.
stockInicial
number | nullopcional
Solo al crear: stock inicial de la variante (requiere costo).
costo
number | nullopcional
Solo al crear: costo unitario sin IGV del stock inicial de esta variante.

Language

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/mer_01J8Z3K4M5N6P7Q8R9S0T1U2V3", {
  method: "PUT",
  headers: {
    "Authorization": "sk_test_…",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "nombre": "LAPTOP HP INTEL I20",
    "precio": 4300,
    "sku": "LAPT-HP-INT-I20",
    "controlaSeries": true,
    "garantiaMeses": 12
  })
});

const data = await response.json();
console.log(data);
HTTP directo · funciona con cualquier cliente HTTP
Response

Elige un ejemplo de respuesta:

application/json
200OK
{
  "success": true,
  "message": "Producto actualizado.",
  "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
      }
    ]
  }
}