Ir al contenido
Facturalo

Importar productos

Crea o actualiza productos en lote (hasta 500 por llamada) con precio, categoría, marca y stock inicial. Con `validar: true` solo revisa y no guarda nada.

POSThttps://api.facturalo.pe/api/v3/productos/importar

Parámetros del body

Campo
Descripción
filas
arrayrequerido
Un producto por fila: nombre (obligatorio), tipo (producto o servicio), sku, codigoBarras, precio (venta con IGV), costo (sin IGV), stock (inicial), categoria, marca, unidad (unidad, caja, paquete, kit, galón, servicio), tipoIgv (gravado, exonerado, inafecto) y codigoSunat. Opcional fila: el número de fila de tu Excel, para los mensajes de error.
existentes
stringopcional
Si el SKU o el código de barras ya existe: actualizar (default; solo cambia lo que trae la fila) u omitir.
establecimientoId
stringopcional
Almacén del stock inicial (default: el principal).
validar
booleanopcional
true revisa las filas y dice qué pasaría con cada una, sin guardar.

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/importar", {
  method: "POST",
  headers: {
    "Authorization": "sk_test_…",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "filas": [
      {
        "nombre": "Agua mineral 625 ml",
        "sku": "AGUA-625",
        "codigoBarras": "7751234567890",
        "precio": "2.50",
        "costo": "1.20",
        "stock": "48",
        "categoria": "Bebidas",
        "marca": "San Luis"
      }
    ],
    "existentes": "actualizar"
  })
});

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,
  "data": {
    "filas": [
      {
        "fila": 2,
        "estado": "creado",
        "nombre": "Agua mineral 625 ml",
        "mensaje": null
      }
    ],
    "creados": 1,
    "actualizados": 0,
    "omitidos": 0,
    "errores": 0,
    "stock": 1,
    "conStock": true
  }
}