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
Requires
- php: >=8.0
- guzzlehttp/guzzle: ^7.0
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.