Emitir PDF de ARCA en PHP
Con pocas líneas de código
Podemos usar Afip SDK para crear los PDF de comprobantes de AFIP luego de obtener el CAE
Consultá la documentación de emisión de PDFs de Afip SDK para ver todos los templates y ejemplos actualizados.
Requisitos previos
Para poder seguir esta guía, primero necesitarás:
Instalación
Lo primero es instalar la librería Afip.php
Composer
composer require afipsdk/afip.php
Manual
-
Descargar la librería Afip.php y copiar la carpeta src en nuestro proyecto. Link de descarga directo
-
Incluimos el archivo src/Afip.php en nuestro proyecto
Creamos una instancia de la clase Afip
include 'ruta/a/src/Afip.php';
$afip = new Afip(array('access_token' => 'TU_ACCESS_TOKEN'));
Creamos el PDF
Para este tutorial vamos a crear una Factura B usando templates de Afip SDK.
$res = $afip->ElectronicBilling->CreatePDF(array(
"file_name" => "factura-b-ejemplo.pdf",
"template" => array(
"name" => "invoice-b",
"params" => array(
"voucher_number" => 97,
"sales_point" => 1,
"issue_date" => "01/03/2026",
"cae_due_date" => "15/03/2026",
"issuer_cuit" => 30123456789,
"cae" => "12345678901234",
"issuer_business_name" => "Empresa imaginaria S.A.",
"issuer_address" => "Calle falsa 123",
"issuer_iva_condition" => "Responsable inscripto",
"issuer_gross_income" => "CM 901-123456-7",
"issuer_activity_start_date" => "01/01/2020",
"receiver_name" => "Consumidor Final",
"receiver_address" => "-",
"receiver_document_type" => 99,
"receiver_document_number" => 0,
"receiver_iva_condition" => "Consumidor Final",
"sale_condition" => "Contado",
"currency_id" => "ARS",
"currency_rate" => 1,
"concept" => 1,
"items" => array(
array(
"code" => "001",
"description" => "Servicio de ejemplo",
"quantity" => 1,
"unit_price" => 121,
"subtotal" => 121
)
),
"vat_amount" => 21,
"tributes_amount" => 0,
"total_amount" => 121
)
)
));
var_dump($res['file']);
// Los PDFs creados con Afip SDK duran 24hs.
// Debes descargar el archivo antes de que expire la URL.
Ya tenemos el PDF listo para enviarle al cliente.
Lo único que nos queda es pasar a modo producción, para más información de cómo hacerlo pueden dirigirse a la documentación de la librería https://docs.afipsdk.com/