dazza-dev/dgii-sv-sender

Paquete para enviar documentos tributarios electrónicos (DTE) (Factura, Nota de remisión, Nota crédito, Nota débito y Comprobante de retención) al DGII (El Salvador).

Installs: 5

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/dazza-dev/dgii-sv-sender

v1.0.0 2025-10-26 20:06 UTC

This package is auto-updated.

Last update: 2025-10-26 20:07:12 UTC


README

Paquete para enviar documentos tributarios electrónicos (DTE) (Factura, Nota de remisión, Nota crédito, Nota débito y Comprobante de retención) al DGII (El Salvador).

Instalación

composer require dazza-dev/dgii-sv-sender

Uso

use DazzaDev\DgiiSvSender\Sender;

// Instanciar el sender
$sender = new Sender();

// Entorno de pruebas (true para pruebas, false para producción)
$sender->setTestMode(true);

// NIT del emisor
$sender->setNit('06231103251021');

Token de acceso

$token = $sender->auth('nit', 'clave_api');

El token tiene una duración de 24 horas para producción y 12 horas para pruebas. cuando generas el token, debes guardarlo en un lugar seguro para usarlo en futuras solicitudes.

Si usas el token en la misma solicitud no es necesario que agregues el token al sender pero si vas a usarlo en futuras solicitudes aquí tienes un ejemplo:

$sender->setBearerToken($token);

Recepción DTE

La recepción de documentos puede ser procesada uno a uno o en lote:

$sender->send(
    sendId: 1,
    version: 1,
    documentType: '01',
    generationCode: '9F7DAE10-6D7A-4DBB-8B85-566D38839456',
    signedJson: $signedJson
);

Recepción DTE en Lote

$sender->sendBatch(
    sendId: 1,
    version: 1,
    signedJsonDocuments: [$signedJson]
);

Invalidar/Anular DTE

El servicio de invalidación es el componente que habilitará al contribuyente emisor para trasmitir la inactivación de un DTE recibido previamente.

$sender->invalidate(
    sendId: 1,
    version: 1,
    signedJson: $signedJson
);

Consultar DTE

$sender->search(
    documentType: '01',
    generationCode: '9F7DAE10-6D7A-4DBB-8B85-566D38839456'
);

Consulta de Lote DTE

$sender->searchBatch(
    batchCode: '9F7DAE10-6D7A-4DBB-8B85-566D38839456'
);

Evento Contingencia

El servicio de contingencia es el componente que habilitará al contribuyente emisor poder transmitir DTE que hayan sido generados durante un evento de fuerza mayor que imposibilite la transmisión de dichos documentos para su verificación; después de haber transmitido el Evento de Contingencia deberá hacer uso de los servicios uno a uno o por lote para transmitir los documentos generados en contingencia.

$sender->contingencyEvent(
    json: $contingencyJson
);

Firmar Documentos (DTE)

Para firmar DTE, puedes utilizar el paquete:

Contribuciones

Contribuciones son bienvenidas. Si encuentras algún error o tienes ideas para mejoras, por favor abre un issue o envía un pull request. Asegúrate de seguir las guías de contribución.

Autor

DGII Sender fue creado por DAZZA.

Licencia

Este proyecto está licenciado bajo la Licencia MIT.