Factura Electrónica con Ruby
Generar Facturas Electrónicas en Ruby nunca fue tan sencillo.
Usa nuestra API REST para poder emitir documentos electrónicos usando Ruby. Sólo debes enviarnos una TRAMA o un ARCHIVO en TXT o JSON y nosotros generamos el PDF, XML, lo enviamos a la SUNAT como PSE autorizado, y almacenamos el CDR de forma segura.
Formatos de Integración Compatibles
Elige el método que mejor se adapte a tu arquitectura de software en Ruby.
Opción 1: API REST en JSON
Envía peticiones HTTP POST estándar estructuradas en formato JSON. Ideal para aplicaciones web, APIs modernas y microservicios en Ruby.
- Cálculo automático de impuestos e IGV
- Generación de códigos Hash y Digest
- Respuestas síncronas con URL de PDF y XML
Opción 2: Archivo Plano TXT
Genera un archivo de texto con campos delimitados por pipes (|). Especialmente recomendado para software de escritorio legado y ERPs tradicionales.
- Compatible con sistemas DOS, POS y Windows nativos
- Sin necesidad de parsers JSON complejos
- Procesamiento automático en segundo plano
Emisión de Factura Electrónica en Ruby
gem install nubofactrequire 'net/http'
require 'uri'
require 'json'
uri = URI.parse("https://api.nubofact.com/api/v1/fae10170-demo")
header = {
'Content-Type': 'application/json',
'Authorization': 'Token token="demo-token-12345"'
}
payload = {
operacion: "generar_comprobante",
tipo_de_comprobante: 1,
serie: "FFF1",
numero: 1,
cliente_tipo_de_documento: 6,
cliente_numero_de_documento: "00000000000",
cliente_denominacion: "CLIENTE DEMO S.A.C.",
total: 118.00
}
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri.request_uri, header)
request.body = payload.to_json
response = http.request(request)
puts response.body
Parámetros Principales del Comprobante
Estructura estándar de campos obligatorios requeridos por la API de Nubofact y validados ante SUNAT.
| Campo | Tipo | Descripción | Ejemplo |
|---|---|---|---|
| operacion | string | Acción a realizar en la API | "generar_comprobante" |
| tipo_de_comprobante | integer | 1 = Factura, 2 = Boleta, 3 = Nota de Crédito | 1 |
| serie | string | Serie correlativa de 4 caracteres | "FFF1" |
| numero | integer | Número correlativo consecutivo | 1 |
| cliente_numero_de_documento | string | RUC (11 dígitos) o DNI (8 dígitos) del receptor | "00000000000" |
| total | decimal | Importe total a pagar (incluye IGV) | 118.00 |
Solicita Cotización para Integración en Ruby
Ingresa el RUC de tu empresa para recibir una propuesta a medida según tu volumen estimado de comprobantes.