← Volver a IGFactPARA QUIENES CONSTRUYEN

Tu código.
Conectado con SUNAT.

Integra la facturación electrónica en tu sistema de ventas, ERP o aplicación. Tú envías un JSON. IGFact se encarga del resto.

Solicitar acceso
API REST Facturas y boletas Autenticación con API key

Antes de comenzar · Reemplaza TU_API_KEY por tu clave y adapta los datos de ejemplo a tu empresa. Estos ejemplos no envían comprobantes desde esta página.

Emitir Factura o Boleta

Genera y firma electrónicamente facturas o boletas enviando la información de la venta, cliente e ítems en formato JSON. Nos encargamos de la validación SUNAT instantánea.

POST /api/factura
<?php
$url = 'https://api.igfact.com/api/factura'; // o api/boleta
$payload = json_encode([
    'tipo'    => 'factura', // factura o boleta
    'venta'   => ['tipo_documento_codigo' => '01', 'serie' => 'F001', 'numero' => '133'],
    'cliente' => ['numero_documento' => '20100000001', 'codigo_tipo_entidad' => '6', 'razon_social_nombres' => 'EMPRESA SAC'],
    'items'   => [['producto' => 'Producto 1', 'cantidad' => 1, 'precio' => 118.00, 'tipo_igv_codigo' => 10]]
]);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'X-API-KEY: TU_API_KEY',
    'Content-Type: application/json'
]);
echo curl_exec($ch);
curl_close($ch);

Emitir Nota de Crédito

Anula o modifica un comprobante previamente emitido. Solo debes referenciar el documento original (serie y número) y proveer el motivo de la anulación.

POST /api/nota-credito
<?php
$payload = json_encode([
    'venta'   => ['tipo_documento_codigo' => '07', 'serie' => 'FC01', 'numero' => '1', 'cod_motivo' => '01', 'des_motivo' => 'Anulacion de la operacion'],
    'cliente' => ['numero_documento' => '20100000001', 'codigo_tipo_entidad' => '6', 'razon_social_nombres' => 'EMPRESA SAC'],
    'documento_referencia' => ['tipo_documento_codigo' => '01', 'serie' => 'F001', 'numero' => '133'],
    'items'   => [['producto' => 'Producto 1', 'cantidad' => 1, 'precio' => 118.00, 'tipo_igv_codigo' => 10]]
]);

$ch = curl_init('https://api.igfact.com/api/nota-credito');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-API-KEY: TU_API_KEY', 'Content-Type: application/json']);
echo curl_exec($ch);

Respuesta JSON y Descargas

Al emitir cualquier comprobante, la API responde con un JSON que incluye los enlaces directos (pdf_url y xml_url) listos para descargar.

El archivo CDR (Constancia de Recepción) se forma agregando el prefijo "R-" al nombre del archivo zip.

Cómo descargar el CDR

https://api.igfact.com/storage/...R-TU_RUC-01-F001-00000133.zip

{
  "success": true,
  "numero_comprobante": "F001-00000133",
  "nombre_archivo": "TU_RUC-01-F001-00000133",
  "codigo_sunat": "0",
  "mensaje_sunat": "La Factura numero F001-00000133, ha sido aceptada",
  "estado": "ACEPTADO",
  "xml_url": "https://api.igfact.com/storage/...",
  "pdf_url": "https://api.igfact.com/storage/..."
}
CONSTRUYAMOS ALGO JUNTOS

Una integración.
Muchas posibilidades.

Conversemos sobre lo que necesita tu aplicación.

Hablar con el equipo