LaravelPackages.net
Acme Inc.
Toggle sidebar
dazza-dev/laravel-dgt-cr

Paquete Laravel para generar, firmar y enviar documentos electrónicos (Factura, Nota crédito, Nota débito y Tiquete Electrónico) al Ministerio de Hacienda (Costa Rica).

51
0
v1.0.0
About dazza-dev/laravel-dgt-cr

dazza-dev/laravel-dgt-cr is a Laravel package for paquete laravel para generar, firmar y enviar documentos electrónicos (factura, nota crédito, nota débito y tiquete electrónico) al ministerio de hacienda (costa rica).. It currently has 0 GitHub stars and 51 downloads on Packagist (latest version v1.0.0). Install it with composer require dazza-dev/laravel-dgt-cr. Discover more Laravel packages by dazza-dev or browse all Laravel packages to compare alternatives.

Last updated

Laravel DGT Costa Rica 🇨🇷

Paquete Laravel para generar, firmar y enviar documentos electrónicos (Factura, Nota crédito, Nota débito y Tiquete Electrónico) al Ministerio de Hacienda (Costa Rica).

Instalar

composer require dazza-dev/laravel-dgt-cr

Configurar

Publica el archivo de configuración:

php artisan vendor:publish --tag="laravel-dgt-cr-config"

Migraciones

Publica y ejecuta las migraciones:

php artisan vendor:publish --tag="laravel-dgt-cr-migrations"
php artisan migrate

Insertar los datos

php artisan dgt-cr:install

Variables de entorno

DGT_TEST=true # true o false
DGT_CERTIFICATE_PATH=ruta_del_certificado
DGT_CERTIFICATE_PASSWORD=clave_del_certificado
DGT_AUTH_USERNAME=nombre_de_usuario
DGT_AUTH_PASSWORD=contraseña_de_usuario
DGT_PATH=ruta_donde_se_guardaran_los_archivos
DGT_CALLBACK_URL=url_de_callback

Ejemplos

Generar un documento electrónico

Para enviar un documento electrónico como Factura, Nota crédito, Nota débito o Tiquete Electrónico. primero debes pasar la estructura de datos que puedes encontrar en: dazza-dev/dgt-xml-generator.

Configurar el emisor y receptor

Antes de enviar un documento, debes configurar el emisor y receptor. Esto se puede hacer con los métodos setIssuer y setReceiver.

use DazzaDev\LaravelDgtCr\Facades\LaravelDgtCr;

$client = LaravelDgtCr::getClient();

// Emisor
$client->setIssuer([
    'identification_type' => '02',
    'identification_number' => 'identificacion_emisor',
]);

// Receptor
$client->setReceiver([
    'identification_type' => '02',
    'identification_number' => 'identificacion_receptor',
]);
// 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

| Documento | Valor | | ------------------- | ------------------ | | Factura | invoice | | Nota de crédito | credit-note | | Nota de débito | debit-note | | Tiquete Electrónico | ticket | | Mensaje Receptor | receiver-message |

Consultar estado del documento enviado

Después de enviar un documento, puedes consultar su estado usando el método checkStatus:

$documentStatus = $client->checkStatus(
    documentKey: $clave
);

Buscar un documento

Para buscar un documento debemos pasar la clave del documento que se obtiene al enviar el documento.

$document = $client->getDocument(
    documentKey: $clave
);

Obtener lista de documentos

Para obtener una lista de documentos electrónicos que se han enviado, puedes usar el método getDocuments.

$documents = $client->getDocuments(
    offset: 0,
    limit: 50
);

Obtener los listados

El ministerio de hacienda 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\LaravelDgtCr\Facades\LaravelDgtCr;

// Obtener los listados disponibles
$listings = LaravelDgtCr::getListings();

// Consultar los datos de un listado por tipo
$listingByType = LaravelDgtCr::getListing('tipos-comprobante');

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 DGT Costa Rica fue creado por DAZZA.

Licencia

Este proyecto está licenciado bajo la MIT License.

Comments