dazza-dev / laravel-dgii-sv
Paquete Laravel para facturación electrónica DGII (El Salvador).
Installs: 3
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/dazza-dev/laravel-dgii-sv
Requires
- php: >=8.0
- dazza-dev/dgii-sv: ^1.0
- laravel/framework: ^8.0|^9.0|^10.0|^11.0|^12.0
Requires (Dev)
- larastan/larastan: ^2.0
- laravel/pint: ^1.18
- orchestra/testbench: ^8.27
README
Laravel DGII es un paquete que te permite generar, firmar y enviar documentos electrónicos (Factura, Guía de remisión, Nota crédito, Nota débito y Comprobante de retención) al DGII (Ecuador).
Instalar
composer require dazza-dev/laravel-dgii-sv
Configurar
Publica el archivo de configuración:
php artisan vendor:publish --tag="laravel-dgii-sv-config"
Migraciones
Publica y ejecuta las migraciones:
php artisan vendor:publish --tag="laravel-dgii-sv-migrations"
php artisan migrate
Insertar los datos
php artisan dgii-sv:install
Variables de entorno
DGII_TEST=true # true o false
DGII_AUTH_NIT=nit_acceso
DGII_AUTH_PASSWORD=clave_acceso
DGII_CERTIFICATE_PATH=ruta_del_certificado
DGII_CERTIFICATE_PASSWORD=clave_del_certificado
DGII_PATH=ruta_donde_se_guardaran_los_archivos
Ejemplos
Generar un documento electrónico
Para enviar un documento electrónico como Factura, Guía de remisión, Nota crédito, Nota débito o Comprobante de retención. primero debes pasar la estructura de datos que puedes encontrar en: dazza-dev/dgii-json-generator.
use DazzaDev\LaravelDgiiSv\Facades\LaravelDgiiSv; $client = LaravelDgiiSv::getClient(); // Usar el valor en inglés de la tabla $client->setDocumentType('invoice'); // Datos del documento $client->setDocumentData($documentData); // Enviar el documento $document = $client->sendDocument();
Tipos de documentos disponibles
| Document type | Nombre en español |
|---|---|
invoice |
Factura |
credit-note |
Nota crédito |
debit-note |
Nota débito |
delivery-note |
Nota de remisión |
donation-receipt |
Comprobante de donación |
export-invoice |
Factura de exportación |
exempt-taxpayer-invoice |
Factura de sujeto excluido |
tax-credit-invoice |
Comprobante de crédito fiscal |
contingency |
Evento de contingencia |
invalidation |
Evento de invalidación |
Enviar documentos por lotes
Para enviar documentos tributarios electrónicos (DTE) en lotes.
$document = $client->sendBatch( documentType: 'invoice', documents: $documents );
Buscar un documento tributario electrónico (DTE)
Para buscar un documento tributario electrónico (DTE) por tipo y código de generación.
$search = $client->search( documentType: 'invoice', generationCode: '73BF2BF3-6C7B-4530-B1F6-6586906D5604' );
Buscar por lotes
$search = $client->searchBatch( batchCode: 'batch_code' );
Invalidar un documento tributario electrónico (DTE)
Para invalidar un documento tributario electrónico (DTE) por tipo y código de generación.
$client->setDocumentType('invalidation'); $client->setDocumentData($documentData); $invalidate = $client->invalidateDocument();
Evento de contingencia
Para enviar un evento de contingencia.
$client->setDocumentType('contingency'); $client->setDocumentData($documentData); $contingency = $client->contingencyEvent();
Obtener los listados
DGII tiene una lista de códigos que este paquete te pone a disposición para facilitar el trabajo de consultar esto en el anexo técnico:
use DazzaDev\LaravelDgiiSv\Facades\LaravelDgiiSv; // Obtener los listados disponibles $listings = LaravelDgiiSv::getListings(); // Consultar los datos de un listado por tipo $listingByType = LaravelDgiiSv::getListing('tipos-documento');
Contribuciones
Las 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 pautas de contribución.
Autor
Laravel DGII El Salvador fue creado por DAZZA.
Licencia
Este proyecto está licenciado bajo la MIT License.