Skip to content

dazza-dev/dian-feco

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

DIAN FECO

Paquete para enviar documentos electrónicos (Facturas, Notas Crédito y Notas Débito) a la DIAN.

Instalación

composer require dazza-dev/dian-feco

Configuración

use DazzaDev\DianFeco\Client;

$client = new Client(test: true); // true or false

$client->setSoftware([
    'identifier' => 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx',
    'test_set_id' => 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx',
    'pin' => 'pin_software',
]);

$client->setCertificate([
    'path' => _DIR_ . '/certificado.p12',
    'password' => 'clave_certificado',
]);

// Ruta donde se guardarán los archivos xml y zip
$client->setFilePath(_DIR_ . '/feco');

Uso

Enviar un documento electrónico (factura, nota de débito o nota de crédito)

La estructura de los datos de la factura la puedes encontrar en: dazza-dev/dian-xml-generator.

$client->setDocumentType('invoice'); // Tipo de documento ('invoice', 'support-document', 'debit-note', 'credit-note')
$client->setDocumentData($documentData); // Datos del documento

$client->setTechnicalKey('clave_tecnica'); // Clave técnica (Solo para facturas)

$document = $client->sendDocument();

Enviar nomina electrónica (individual, nota de ajuste reemplazo o eliminación)

La estructura de los datos de nomina la puedes encontrar en: dazza-dev/dian-xml-generator.

$client->setPayrollType('individual'); // Tipo de nomina ('individual', 'adjustment-note')
$client->setPayrollData($payrollData); // Datos de la nomina

$payroll = $client->sendPayroll();

Obtener las numeraciones

Después de asignar los prefijos dentro del modulo Facturando electrónicamente de la DIAN, puedes obtener las numeraciones asi:

$numberingRange = $client->getNumberingRange('nit_emisor');

Obtener los listados

La DIAN 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 de la DIAN:

$listings = $client->getListings();
$listingByType = $client->getListing('identification-types');

Emitir Eventos

La estructura de los datos del evento la puedes encontrar en: dazza-dev/dian-xml-generator.

$client->setEventCode('030'); // Consultar listado de eventos
$client->setEventData($eventData); // Datos del evento

$document = $client->sendEvent();

Obtener los eventos de un documento

Después de enviar un documento electrónico, puedes obtener los eventos de ese documento asi:

$events = $client->getStatusEvent('cufe/cude_documento');

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

DIAN FECO fue creado por DAZZA.

Licencia

Este proyecto está licenciado bajo la Licencia MIT.

About

Paquete para enviar documentos electrónicos (Facturas, Documento Soporte, Notas de ajuste,Notas Crédito y Notas Débito) a la DIAN.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages