Documentación
Empieza aquí
Bloques emite boletas y facturas electrónicas aceptadas por SUNAT en segundos. Tú describes la venta (cliente, ítems, precios finales); Bloques construye el XML UBL 2.1, lo firma y transmite a SUNAT a través del PSE SmartPSE, guarda el XML firmado, el CDR y el PDF, envía el comprobante por correo a tu cliente y te devuelve el resultado en la misma llamada. Todo está disponible desde la interfaz web, una API REST y un servidor MCP para agentes IA.
| Qué hace Bloques | Detalle |
|---|---|
| Comprobantes | Facturas (tipo 01) y boletas de venta (tipo 03). Notas de crédito/débito llegan en v2. |
| Emisión | Síncrona: una llamada devuelve accepted o rejected con el veredicto de SUNAT. |
| Archivos | XML firmado, CDR de SUNAT y PDF se almacenan y descargan cuando quieras. |
| PDFs | 4 plantillas personalizables: clasica, moderna, minimal y ticket80 (ticketera de 80 mm). |
| Correo | Envío automático del PDF + XML al email del cliente (configurable). |
| Integración | API REST con tokens por alcances, servidor MCP para agentes IA, exportación CSV. |
Quickstart — tu primera boleta en 5 minutos
- 1
Crea tu cuenta
Regístrate con tu correo en la página principal. Una cuenta administra una empresa (un RUC).
- 2
Completa el onboarding con tu RUC
Ingresa tu RUC y dirección fiscal. Bloques registra tu empresa ante el PSE (SmartPSE) directamente en producción y crea tus series iniciales
F001(facturas) yB001(boletas). No hay ambiente de pruebas: lo que emitas tiene validez tributaria. - 3
Autoriza al PSE en SUNAT SOL (checklist)
Una sola vez, en SUNAT Operaciones en Línea (SOL) con tu Clave SOL:
- Autoriza a SmartPSE como tu Proveedor de Servicios Electrónicos (PSE) para la emisión de comprobantes electrónicos.
- Verifica que tu RUC esté activo y habido, con domicilio fiscal actualizado.
Sin esta autorización SUNAT rechazará tus comprobantes.
- 4
Crea un producto (opcional pero recomendado)
En Productos registra tu catálogo con código, nombre y precio final (con IGV incluido). Luego emites referenciando el código y Bloques completa descripción, unidad, precio y afectación. También puedes emitir con líneas libres sin catálogo.
- 5
Emite tu primera boleta
Desde la UI: Nuevo documento → Boleta, agrega un ítem y emite. Si no indicas cliente, sale a nombre de
CLIENTES VARIOS. O desde la API (crea antes un token en Configuración → API):curl -X POST https://bloques.example.com/api/v1/documents \ -H "Authorization: Bearer sk_live_..." \ -H "Content-Type: application/json" \ -H "Idempotency-Key: primera-boleta-001" \ -d '{ "type": "boleta", "items": [ { "description": "Menú del día", "quantity": 2, "unit_price": 25.00 } ] }'La respuesta llega con
status: "accepted", los totales calculados, el hash de SUNAT y las rutas para descargar PDF, XML y CDR.
La regla más importante: precios finales con IGV
En Bloques todos los precios que envías o registras son precios FINALES: lo que el cliente paga, con el IGV (18%) ya incluido. Nunca envíes precios sin impuesto. El sistema calcula la base hacia atrás dividiendo entre 1.18:
Tú envías: unit_price = 118.00 (precio final, lo que se cobra)
Bloques calcula: base = 118.00 / 1.18 = 100.00 (valor de venta)
IGV = 118.00 - 100.00 = 18.00
total = 118.00
118 = 100 + 18 → el total nunca cambia respecto a lo que cobraste.Esto evita el clásico descuadre de un céntimo entre tu caja y el comprobante. La afectación del IGV se indica por ítem: 10 gravado (con IGV, por defecto), 20 exonerado y 30 inafecto (sin IGV en ambos casos: el precio final es la base). Más detalle en Conceptos.
Planes y límites
| Plan | Precio | Documentos / mes | Notas |
|---|---|---|---|
| Gratis | S/ 0 | 10 | Todas las funciones: API, MCP, PDFs personalizados y correo incluidos. |
| Pro | S/ 40 al mes | 3,000 | Si la suscripción queda impaga o cancelada, vuelves temporalmente a los límites del plan Gratis. |
- Los meses se cuentan por calendario de America/Lima (el contador se reinicia el día 1 a las 00:00 hora de Lima).
- Cuentan los documentos
accepted,rejectedyprocessing(un rechazo también consumió una firma del PSE). Los que terminan enerrorno cuentan. - Al alcanzar el límite, la emisión responde
402 plan_limit. Consulta tu consumo enGET /api/v1/usageo en el panel.
¿Qué sigue?
Conceptos →
Factura vs boleta, IGV, series, estados, CDR, plazos SUNAT y límites de la v1.
API REST →
Referencia completa: autenticación, todos los endpoints, errores y ejemplos curl.
Servidor MCP →
Conecta Claude u otros agentes IA directamente a tu facturación.
Guía para agentes IA →
Receta paso a paso (en inglés) para integrar la emisión en cualquier sistema.
¿Integras con un LLM? Apunta a tu agente a /llms-full.txt — una referencia autocontenida de toda la API — o al spec /openapi.json.