Ir al contenido
Facturalo

Nota de crédito (crédito)

Nota de crédito de boleta con formaPago CREDITO. Incluye el array cuotas con las fechas y montos de pago.

POSThttps://api.facturalo.pe/api/v3/documentos/enviar

Parámetros del body

Campo
Descripción
webhook
booleanopcional
Si es true, la respuesta es inmediata (EN_PROCESO) y el resultado llega al webhook configurado. Default: false (síncrono).Ej: false
establecimiento
string | nullopcional
UUID del establecimiento emisor. Si se omite, se usa el establecimiento principal de la empresa.
cotizacion
string | nullopcional
UUID de la cotización que se convierte en este comprobante. Se valida antes de enviar a SUNAT y queda vinculada. Opcional.
documento
objectrequerido
Datos del comprobante electrónico.
sunatTransaccion
stringrequerido
Operación de nota de crédito. Usa 0101.Ej: 0101
tipoComprobante
stringrequerido
07 = Nota de Crédito. Modifica una boleta previa.Ej: 07
serie
stringrequerido
Serie del comprobante. Facturas: F001–F999. Boletas: B001–B999. Exactamente 4 caracteres.Ej: F001
correlativo
stringrequerido
Correlativo numérico. Máximo 8 caracteres.Ej: 1
fechaEmision
stringrequerido
Fecha de emisión en formato YYYY-MM-DD.Ej: 2026-06-13
fechaVencimiento
string | nullopcional
Fecha de vencimiento. Formato YYYY-MM-DD. Si no se envía, se toma la fechaEmision como fecha de vencimiento.
formaPago
stringrequerido
CREDITO — requiere el array cuotas con fechaPago y monto.Ej: CREDITO
moneda
stringrequerido
"PEN" (Soles) | "USD" (Dólares).Ej: PEN
observaciones
string | nullopcional
Texto libre que aparece en el comprobante.
placaVehiculo
string | nullopcional
Placa del vehículo asociado a la operación.
ordenCompra
string | nullopcional
Número de orden de compra del cliente.
otrosCampos
array | nullopcional
Campos libres solo locales (PDF, consulta y webhook). No se envían a SUNAT. Máximo 30 ítems. Cada ítem: { label, value }.Ej: [{ "label": "Cajero", "value": "Guillermo" }]
label
stringrequerido
Etiqueta visible en el PDF (ej. Cajero, Método de pago, Mesa).Ej: Cajero
value
stringrequerido
Valor del campo.Ej: Guillermo
descuentoGlobal
number | nullopcional
Descuento global aplicado al total del documento (con IGV incluido).
enviarCorreo
booleanopcional
Si es true, envía el PDF y XML al correo del cliente tras la aceptación. Default: false.Ej: true
cliente
objectrequerido
Datos del adquirente.
tipoDocumento
stringrequerido
6 = RUC · 1 = DNI · 0 = Sin documento (clientes varios).Ej: 6
numeroDocumento
stringrequerido
Número sin puntos ni guiones. RUC: 11 dígitos. DNI: 8 dígitos.Ej: 20609753413
denominacion
stringrequerido
Razón social o nombre completo.Ej: EMPRESA S.A.C.
direccion
string | nullopcional
Requerida si tipoDocumento = 6 (RUC).
correo
string | nullopcional
Correo del cliente para envío del PDF/XML.
celular
string | nullopcional
Número de celular. Exactamente 9 dígitos.
items
arrayrequerido
Líneas del comprobante. Mínimo 1 ítem.
unidadMedida
stringrequerido
Código SUNAT: NIU = unidad · ZZ = servicio · BX = caja · KGM = kilogramo · GLI = galón.Ej: NIU
codigo
string | nullopcional
Código interno del producto (max 30 caracteres).
productoId
string | nullopcional
UUID de la variante (o del producto si tiene una sola) del catálogo. Lo que no envíes (descripción, unidad, IGV, precio, código SUNAT) sale del catálogo, y si controla stock descuenta del inventario. También puedes enviar el SKU en codigo sin descripcion.
series
string[] | nullopcional
Productos que controlan número de serie: una serie / IMEI por unidad. Se agrega a la descripción (S/N: …) y la serie queda vendida. Ver Series.Ej: ["5CD1234ABD"]
descripcion
stringrequerido
Descripción del producto o servicio (max 250 caracteres).Ej: SERVICIO DE CONSULTORÍA
cantidad
numberrequerido
Cantidad de unidades. Mínimo 0.Ej: 2
precioUnitario
numberrequerido
Precio por unidad con IGV incluido. La API calcula el IGV automáticamente.Ej: 590
tipoIgv
stringrequerido
10 = Gravado oneroso (misma tasa que el documento original).Ej: 10
descuento
number | nullopcional
Descuento por ítem (con IGV incluido).
impuestoBolsa
boolean | nullopcional
Si es true, aplica ICBPER (impuesto a bolsas plásticas) a este ítem.

Language

Credentials

Header

Authorization

Ejemplos con el SDK oficial en Node, PHP y Python

Idempotencia

Header

Idempotency-Key

Misma clave + mismo cuerpo = misma respuesta (24 h). Ver /idempotencia.

API Request
$ npm install @facturalo-pe/node
import { FacturaloClient } from "@facturalo-pe/node";

const facturalo = new FacturaloClient({ token: process.env.FACTURALO_TOKEN! });

const envio = await facturalo.documentos.enviar({
  tipoComprobante: "07",
  serie: "B001",
  correlativo: "1",
  fechaEmision: "2026-06-13",
  formaPago: "CREDITO",
  otrosCampos: [
    {
      label: "Cajero",
      value: "Guillermo"
    },
    {
      label: "Método de pago",
      value: "Yape"
    },
    {
      label: "Mesa",
      value: "12"
    }
  ],
  moneda: "PEN",
  cliente: {
    tipoDocumento: "1",
    numeroDocumento: "12345678",
    denominacion: "NOMBRES Y APELLIDOS",
    direccion: "AV. LIMA 123 - LIMA - LIMA - LIMA",
    correo: "persona@gmail.com"
  },
  nota: {
    documentoQueSeModifica: "BOLETA",
    documentoQueSeModificaSerie: "B001",
    documentoQueSeModificaCorrelativo: "1",
    tipoDeNotaDeCredito: "01",
    sustento: "Anulación de la operación"
  },
  cuotas: [
    {
      fechaPago: "2026-07-13",
      monto: 590
    },
    {
      fechaPago: "2026-08-13",
      monto: 590
    }
  ],
  items: [
    {
      cantidad: 1,
      unidadMedida: "ZZ",
      codigo: "S001",
      descripcion: "Servicio de consultoría empresarial",
      precioUnitario: 1180,
      tipoIgv: "10"
    }
  ]
}, {
  idempotencyKey: "orden-1042"
});
console.log(envio.estado, envio.sunat?.mensaje, envio.enlaces.pdf);
SDK oficial @facturalo-pe/node · guía en /sdks
Response

Elige un ejemplo de respuesta:

application/json
200Aceptada
{
  "success": true,
  "message": "La Nota de Crédito numero B001-2, ha sido aceptada",
  "data": {
    "estado": "ACEPTADA",
    "entorno": "demo",
    "documento": {
      "id": "cc3d4e60-67d9-11f1-8bd0-5b2bb30404ab",
      "estado": "ACEPTADA",
      "serie": "B001",
      "correlativo": "00000001",
      "tipo": "NOTA_CREDITO"
    },
    "sunat": {
      "estado": "ACEPTADA",
      "codigo": "0",
      "mensaje": "La Nota de Crédito numero B001-2, ha sido aceptada",
      "notas": []
    },
    "enlaces": {
      "pdf": "https://api.facturalo.pe/api/v3/documentos/cc3d4e60-67d9-11f1-8bd0-5b2bb30404ab.pdf",
      "pdfTicket": "https://api.facturalo.pe/api/v3/documentos/cc3d4e60-67d9-11f1-8bd0-5b2bb30404ab.ticket.pdf",
      "xml": "https://api.facturalo.pe/api/v3/documentos/cc3d4e60-67d9-11f1-8bd0-5b2bb30404ab.xml",
      "cdr": "https://api.facturalo.pe/api/v3/documentos/cc3d4e60-67d9-11f1-8bd0-5b2bb30404ab.cdr"
    },
    "hash": "xvQpVbLssRc8FlD8/0LuSYeIPo8=",
    "cadenaQr": "20601476551 | 07 | B001 | 00000001 | 180.00 | 1180.00 | 13/06/2026 | 1 | 12345678 | xvQpVbLssRc8FlD8/0LuSYeIPo8= |"
  }
}