Emitir PDF de ARCA en Ruby
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.rb
Gemfile
gem 'afip.rb', '~> 1.0', '>= 1.0.1'
Gem
gem install afip.rb
Creamos una instancia de la clase Afip
require "afip"
afip = Afip.new({ "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({
"file_name": "factura-b-ejemplo.pdf",
"template": {
"name": "invoice-b",
"params": {
"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": [
{
"code": "001",
"description": "Servicio de ejemplo",
"quantity": 1,
"unit_price": 121,
"subtotal": 121
}
],
"vat_amount": 21,
"tributes_amount": 0,
"total_amount": 121
}
}
})
puts 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/