PHPackages                             absabbath/factura-digital - 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. [API Development](/categories/api)
4. /
5. absabbath/factura-digital

ActiveLibrary[API Development](/categories/api)

absabbath/factura-digital
=========================

Paquete para consumir api de facturadigital.com.mx

v1.2(6y ago)02081MITPHPPHP &gt;=5.6.4CI failing

Since Mar 16Pushed 6y ago1 watchersCompare

[ Source](https://github.com/absabbath/factura-digital)[ Packagist](https://packagist.org/packages/absabbath/factura-digital)[ RSS](/packages/absabbath-factura-digital/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (3)Dependencies (2)Versions (4)Used By (0)

Libreria facturación electrónica
================================

[](#libreria-facturación-electrónica)

**absabbath/factura-digital** es una libreria para consumir la api de  en un proyecto de Laravel

Instalación
===========

[](#instalación)

- Correr el siguiente comando en la terminal

```
$ composer require absabbath/factura-digital
```

- Agregar la siguiente linea al arreglo de provider en el archivo configuracion en config/app.php

**Absabbath\\FacturaDigital\\FacturaDigitalProvider::class,**

- Agregar la siguiente linea al arreglo de aliases en el archivo configuracion en config/app.php

**'FacturaDigital' =&gt; Absabbath\\FacturaDigital\\Facades\\Factura::class,**

Como utilizar la libreria:
==========================

[](#como-utilizar-la-libreria)

- Configurar credenciales y regimen del emisor

```
$emisor = \FacturaDigital::emisor()
	->setRegimenFiscal('612')
	->setUser('demo33')
    ->setPassword('demo')
	->getData();
```

- Consultar creditos

```
$creditos =  \FacturaDigital::creditos()
```

- Retorna :

```
{
    "mensaje":  "11565 creditos disponibles.",
    "creditos":  11565,
    "codigo":  200
}
```

- Configurar la información del receptor

```
$receptor = FacturaDigital::receptor()
	->setRfc('NDI120326HF5')
	->setNombre('Novatech Digital SA de CV')
	//->setNumRegIdTrib('')
	->setUsoCFDI('G03')
	->setCalle('Palmas')
	->setNoExt('129')
	->setColonia('Centro')
	->setMunicipio('Guadalupe')
	->setEstado('Nuevo León')
	->setPais('Mexico')
	->setCodigoPostal('98000')
	->getData();
```

- Registrar los conceptos de la factura

```
$concepto = \FacturaDigital::concepto()
            ->setClaveProdServ('01010101') // Agregar clave sat en catalogo productos
            ->setNoIdentificacion('1')  // Id interno
            ->setCantidad(5) // Cantidad a facturar
            ->setClaveUnidad('LTR') // Clave del SAT
            ->setUnidad('Litro') // Descripcion unidad
            ->setDescripcion('Descripcion/nombre del producto')
            ->setValorUnitario(30); // Costo por unidad
```

- Crear y agregar impuesto por cada concepto

```
$impuestos = []; // Recolecta la informacion de todos los impuestos
$impuesto_iva = \FacturaDigital::conceptoImpuesto()
            ->setBase(30) // Base gravable
            ->setImpuesto('002')
            ->setTipoFactor('Tasa')
            ->setTasaOCuota(0.16000)
            ->setImporte(30 * 0.16000) // Base gravable X tasaocuota
            ->getData();
```

- Agregar los impuestos al concepto anterior y a la lista de impuestos

```
array_push($impuestos, $impuesto_iva);
$concepto->addTraslado($impuesto_iva);
```

- Agregar la lista de conceptos a facturar y obtener los totales

```
$lista = \FacturaDigital::listaConceptos();
$lista->addConcepto($concepto->getData());
```

- Obtener los totales (Impuestos y conceptos libres de impuestos)

```
$totales = $lista->getTotalConceptos();
// retorna ['totalConceptos', 'totalImpuestos']
```

- Registrar datos generales de la factura

```
$factura = FacturaDigital::setSerie('F')
	->setFolio('71278') // Folio Interno
	->setFecha('AUTO')
	->setFormaPago('01')// Catalogo SAT
	->setCondicionesDePago('Pago de contado')
	->setMoneda('MXN')
	->setTipoCambio('1')
	->setTipoDeComprobante('I')
	->setMetodoPago('PUE')
	->setLugarExpedicion('67150') //C.P.
	->setLeyendaFolio('Factura')
	->setSubTotal($totales['totalConceptos'])
	//->setDescuento('30.00') // Descuento opcional
	->setTotal($totales['totalConceptos'] + $totales['totalImpuestos'] );
```

- Agregar listado de los impuestos

```
$impuestoFinal = \FacturaDigital::impuesto()
            ->setTraslados($impuestos);;
```

Agregar todos los datos a la factura

```
$factura->setEmisor($emisor);
$factura->setReceptor($receptor);
$factura->setConceptos($lista->getData());
$factura->setImpuestos($impuestoFinal->getData());
```

Generar factura

```
$factura_final = $factura->enviar();
```

- Retorna el siguiente arreglo

```
{
  "mensaje":  "Timbrado exitoso",
  "codigo":  200,
  "cfdi":
      {
       "NoCertificado":  "",
       "UUID":  "",
       "FechaTimbrado":  "2018-06-28T16:33:27",
       "RfcProvCertif":  "FEL100622S88",
       "SelloCFD":"",
       "NoCertificadoSAT":  "20001000000300022323",
       "SelloSAT":  "",
       "CadenaOrigTFD":  "",
       "CadenaQR":  "",
       "XmlBase64":  "",
       "PDF":  "",
       "XML":  ""
      }
}
```

Enviar factura por correo

```
$enviar = $factura->enviarCorreo($uuid, 'tucorreo@dominio.com', 'tu mensaje adicional');
```

- Esto retorna un booleano

```
if ($enviar) {
	return "Factura enviada por correo";
} else {
	return "Errorsillo";
}
```

- Para cancelar un CFDI

```
$cancela = $factura->cancelarCFDI('UUID');
```

> Fue probado en versiones de Laravel &gt;= 5.1

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

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

Every ~16 days

Total

3

Last Release

2216d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/7683509?v=4)[Martin Alejandro](/maintainers/absabbath)[@absabbath](https://github.com/absabbath)

---

Top Contributors

[![absabbath](https://avatars.githubusercontent.com/u/7683509?v=4)](https://github.com/absabbath "absabbath (4 commits)")

---

Tags

apifacturacionfacturadigitalfacturadigital.com.mx

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/absabbath-factura-digital/health.svg)

```
[![Health](https://phpackages.com/badges/absabbath-factura-digital/health.svg)](https://phpackages.com/packages/absabbath-factura-digital)
```

###  Alternatives

[openai-php/laravel

OpenAI PHP for Laravel is a supercharged PHP API client that allows you to interact with the Open AI API

3.7k7.6M74](/packages/openai-php-laravel)[mailchimp/transactional

458.9M16](/packages/mailchimp-transactional)[get-stream/stream-chat

A PHP client for Stream Chat (https://getstream.io/chat/)

301.8M2](/packages/get-stream-stream-chat)[convertkit/convertkitapi

Kit PHP SDK for the Kit API

2167.1k1](/packages/convertkit-convertkitapi)

PHPackages © 2026

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