PHPackages                             elpandape/quipu-lite - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. elpandape/quipu-lite

ActiveLibrary

elpandape/quipu-lite
====================

SUNAT electronic invoicing (CPE Peru) — Lite edition. Framework-agnostic PHP. Unofficial.

v1.0.0(yesterday)06↑2400%MITPHP ^8.4

Since Jul 19Compare

[ Source](https://github.com/elpandape/quipu-php-lite)[ Packagist](https://packagist.org/packages/elpandape/quipu-lite)[ Docs](https://github.com/elpandape/quipu-php-lite)[ RSS](/packages/elpandape-quipu-lite/feed)WikiDiscussions Synced today

READMEChangelog (1)Dependencies (9)Versions (2)Used By (0)

quipu-lite
==========

[](#quipu-lite)

**Facturación electrónica de SUNAT (CPE Perú) en PHP puro, framework-agnóstico.**

[![PHP](https://camo.githubusercontent.com/270717987f5341772d79b57567226e54ed27b2d4199bbdc98a96e2edf24902fa/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d382e342532422d3737374242343f6c6f676f3d706870266c6f676f436f6c6f723d7768697465)](https://www.php.net/)[![License: MIT](https://camo.githubusercontent.com/8bb50fd2278f18fc326bf71f6e88ca8f884f72f179d3e555e20ed30157190d0d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d677265656e2e737667)](./LICENSE.md)[![Coverage](https://camo.githubusercontent.com/b3545ae1bcdb4ea486f71f87b43001e82dd21933bc8035d44601706c851265da/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f636f7665726167652d3130302532352d627269676874677265656e2e737667)](#calidad)[![PHPStan](https://camo.githubusercontent.com/45c1ea8d96d1fbb4ab69850cdcec68942da960bc9e2aa54b78bad3f60a5d999d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048505374616e2d6d61782532302532422532307374726963742d626c756576696f6c65742e737667)](#calidad)[![Latest Version](https://camo.githubusercontent.com/ff0b20d2047c9a063d51277d0fd517bed37675ef1a569547f2de19ec3dea8985/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f656c70616e646170652f71756970752d6c6974652e7376673f6c6f676f3d7061636b6167697374266c6f676f436f6c6f723d7768697465)](https://packagist.org/packages/elpandape/quipu-lite)

`elpandape/quipu-lite` construye el **XML UBL 2.1** de un comprobante, lo **firma** (xmldsig), lo **envía** a los webservices SOAP/REST de SUNAT, consulta su estado y **parsea el CDR** — sin arrastrar Laravel, Symfony ni ningún framework. Es una implementación propia y completa de la maquinaria CPE, no un wrapper.

Es la edición **Lite** (MIT): el emisor completo y auto-verificable. La edición **[Pro](https://github.com/elpandape/quipu-php-pro)**(comercial) añade builders fluidos, motor tributario, validación avanzada, diagnóstico y tooling sobre esta base.

📚 Documentación
---------------

[](#-documentación)

La documentación completa —instalación, cada tipo de comprobante, firma, validación, consulta de CPE, lotes, paso a producción y buenas prácticas— vive en el sitio público:

**👉 **

🚦 Estado
--------

[](#-estado)

**Estable — `v1.0.0`.** El proyecto sigue [Semantic Versioning](https://semver.org/lang/es/): dentro de `1.x` no habrá cambios incompatibles en la API pública. Probada con **100 % de cobertura de líneas y tipos** y CI en PHP 8.4/8.5; una factura fue **aceptada en SUNAT beta** de extremo a extremo. Los cambios están en el [CHANGELOG](./CHANGELOG.md).

Instalación
-----------

[](#instalación)

```
composer require elpandape/quipu-lite
```

**Requisitos:** PHP **8.4+** y las extensiones `soap`, `dom`, `openssl`, `zip`. La extensión `curl` solo hace falta si usas el `CurlHttpClient` incluido (GRE y Consulta de Validez, que van por REST); si inyectas tu propio `HttpClient` o solo emites por SOAP, no la necesitas.

Qué hace
--------

[](#qué-hace)

Construyes tu `Invoice` (un modelo de dominio `readonly`), le pasas un builder, un firmante y un sender, y emites:

```
use ElPandaPe\Quipu\Quipu;
use ElPandaPe\Quipu\Signer\XmlSecSigner;
use ElPandaPe\Quipu\Ws\{SoapEndpoints, SoapSender};
use ElPandaPe\Quipu\Xml\InvoiceBuilder;

$quipu = new Quipu(
    new InvoiceBuilder(),
    new XmlSecSigner($certificatePem),                             // PEM: cert X.509 + clave privada
    new SoapSender(SoapEndpoints::beta()->billServiceUrl(), $solUsername, $solPassword),
);

$errors = $quipu->validate($invoice);    // reglas de negocio SUNAT, opt-in — [] si es consistente
$result = $quipu->emitInvoice($invoice); // firma + envío; devuelve un BillResult con el CDR tipado

$result->cdr->status;        // Accepted | AcceptedWithObservations | Rejected
$result->cdr->responseCode;  // "0" = aceptado
```

La fachada `Quipu` centraliza todo el flujo: `validate` / `assertValid`, `sign`, `emit` / `emitInvoice`, `emitSummary` / `emitVoidance` / `emitReversion`, `emitGuide` / `getGuideStatus`, `sendPack` / `getPackStatus`, `getStatus`, `validateCpe` (Consulta de Validez), `read` (XML → modelo), `qrString` y `printable` (proyección a una vista de impresión tipada; el PDF lo renderizas tú).

Lite vs Pro
-----------

[](#lite-vs-pro)

Lite es todo lo que necesitas para emitir correctamente. Pro es productividad y resiliencia encima, para quien quiere ir más rápido y con más red de seguridad.

Capacidad`quipu-lite` (MIT)[`quipu-pro`](https://github.com/elpandape/quipu-php-pro) (comercial)Construir UBL 2.1, firmar, enviar (SOAP/REST) y parsear el CDR✓✓Los 9 documentos / 11 códigos de SUNAT (ver abajo)✓✓Validadores de negocio + XSD, catálogos tipados, round-trip (XML → modelo)✓✓Representación impresa (vista tipada + string del QR)✓✓**Builders fluidos** con **motor tributario** (calcula IGV/ISC/ICBPER/detracción…)—✓**Envío resiliente** (logging → retry → idempotencia)—✓**Validación estricta/cruzada** + **diagnóstico accionable** de rechazos—✓Certificados **`.pfx`/`.p12`** (inspección, conversión a PEM, pre-flight)—✓Tooling de **XML** (inspector XPath, diff, JSON) y **toolkit de testing** shippable—✓Alcance
-------

[](#alcance)

Construye, firma, valida, envía y parsea el CDR de:

DocumentoCódigo (Cat. 01)BuilderFactura / boleta de venta`01` / `03``InvoiceBuilder`Nota de crédito / débito`07` / `08``NoteBuilder`Guía de remisión remitente / transportista`09` / `31``DespatchBuilder` / `CarrierDespatchBuilder`Comprobante de retención / percepción`20` / `40``RetentionBuilder` / `PerceptionBuilder`Resumen diario de boletas`RC``SummaryBuilder`Comunicación de baja`RA``VoidedBuilder`Resumen de reversiones`RR``ReversionBuilder`**No** hace persistencia, series/correlativos, máquina de estados ni scheduling —eso corresponde a tu aplicación o a una capa de integración con tu framework (para Laravel existe `elpandape/quipu-laravel`)—, ni **calcula el IGV**: Lite recibe los montos ya calculados (el motor tributario que los calcula está en Pro).

Desarrollo y tests
------------------

[](#desarrollo-y-tests)

Note

**No hay PHP local: todo corre en Docker vía `make`.** No invoques `php`/`composer`/`vendor/bin/*` directo.

```
make install          # instala dependencias en el contenedor
make cert             # genera el certificado de prueba (autofirmado, determinista)
make review           # quality gate completo (ver abajo)
make fix              # rector + php-cs-fixer
make test             # solo Pest
```

### Calidad

[](#calidad)

`make review` debe quedar **verde** antes de cada commit: **PHP-CS-Fixer** → **Rector** → **PHPStan nivel max + strict-rules** → **Pest** con **100 % de cobertura de líneas y de tipos** (`--min=100`). CI corre la matriz PHP **8.4 / 8.5**. Los tests no usan red: la firma es local con un certificado autofirmado y el borde SOAP se mockea (el único `@codeCoverageIgnore`, junto al borde HTTP y el reloj de sistema).

Changelog
---------

[](#changelog)

Los cambios notables están en el [CHANGELOG](./CHANGELOG.md) (formato *Keep a Changelog*).

Contribuir
----------

[](#contribuir)

Las contribuciones son bienvenidas —códigos de catálogo, reportes de rechazos de SUNAT con evidencia, tests y documentación. Lee la [guía de contribución](./CONTRIBUTING.md).

Seguridad
---------

[](#seguridad)

Si descubres una vulnerabilidad de seguridad, **no** abras un issue público: escribe a ****.

Créditos
--------

[](#créditos)

- **[ElPandaPe](https://elpanda.pe)** — autoría y mantenimiento.
- **[greenter](https://github.com/thegreenter/greenter)** — referencia del dominio CPE de SUNAT (quipu es una implementación propia e independiente; greenter no es una dependencia).
- **[robrichards/xmlseclibs](https://github.com/robrichards/xmlseclibs)** — firma xmldsig.

Licencia
--------

[](#licencia)

Distribuido bajo licencia **MIT** — ver [LICENSE.md](./LICENSE.md).

Paquete **no oficial**: no está afiliado, avalado ni patrocinado por SUNAT.

###  Health Score

42

—

FairBetter than 88% of packages

Maintenance100

Actively maintained with recent releases

Popularity6

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

1d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/b270ce37c9e50f3be130225b85b7b8df6c52f9bc0395555610f23c951299ef79?d=identicon)[makoto2805](/maintainers/makoto2805)

---

Tags

invoicingfacturacion-electronicaublsunatperucpe

###  Code Quality

TestsPest

Static AnalysisPHPStan, Rector

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/elpandape-quipu-lite/health.svg)

```
[![Health](https://phpackages.com/badges/elpandape-quipu-lite/health.svg)](https://phpackages.com/packages/elpandape-quipu-lite)
```

###  Alternatives

[greenter/greenter

Facturacion Electrónica SUNAT en Perú

34636.5k1](/packages/greenter-greenter)[josemmo/einvoicing

Library for reading and creating European-compliant electronic invoices (EN 16931)

177358.5k3](/packages/josemmo-einvoicing)[easybill/e-invoicing

A package to read and create EN16931 e-invoices or CIUS like: XRechnung, ZUGFeRD etc.

14158.3k](/packages/easybill-e-invoicing)[jossmp/sunatphp

Clase para realizar consultas a sunat Peru mediante el numero de ruc o dni

616.5k](/packages/jossmp-sunatphp)[greenter/xml

XML generación de documentos electrónicos, Facturacion Electrónica SUNAT - Perú

1159.4k4](/packages/greenter-xml)[greenter/report

Representacion Impresa para Facturacion Electrónica SUNAT - Perú

1227.9k1](/packages/greenter-report)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
