Paquete para enviar documentos electrónicos (Facturas, Notas Crédito y Notas Débito) a la DIAN.
composer require dazza-dev/dian-fecouse 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');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();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();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');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');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();Después de enviar un documento electrónico, puedes obtener los eventos de ese documento asi:
$events = $client->getStatusEvent('cufe/cude_documento');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.
DIAN FECO fue creado por DAZZA.
Este proyecto está licenciado bajo la Licencia MIT.