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 accesoAntes 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.
<?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.
<?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/..."
}Una integración.
Muchas posibilidades.
Conversemos sobre lo que necesita tu aplicación.