jxcodes / f72x
Modulo de facturación electrónica SUNAT UBL 2.1
v5.0.2
2024-07-24 10:18 UTC
Requires
- php: >=5.5
- codelint/phpqrcode: ^0.1.0
- dompdf/dompdf: ^3.0
- greenter/xmldsig: ^5.0
- jlibs/php-string-max: ^1.3
- kwn/number-to-words: ^2.9
- sabre/xml: ^4.0
- twig/twig: ^3.10
Requires (Dev)
- phpunit/phpunit: ^11.2
README
Modulo de facturación electrónica SUNAT UBL 2.1
Referencias:
Manuales SUNAT https://cpe.sunat.gob.pe/node/88
Instalación:
composer require jxcodes/f72x
Uso:
require 'vendor/autoload.php'; use F72X\F72X; use F72X\Sunat\DocumentGenerator; use F72X\Sunat\ServiceGateway;
1. CONFIGURAR MODULO:
// Modo producccion: true, para usar los servicios de producciòn de SUNAT. $prodMode = false; /** * Repositorio digital: * Consta de los diguientes subdirectorios: * - bill : Documentos electrónicos en XML * - billinput : Data utilizada para generar el documento electrónico * - signedbill: Documentos electrónicos firmados * - zippedbill: Documentos electrónicos comprimidos y listos para ser enviadas a SUNAT * - crd : Constancias de recepción */ $repoPath = __DIR__ . '/tests/edocs'; /** * Directorio de configuración del emisor * ======================================= * Consta de los diguientes subdirectorios: * - certs: Certificados * - lists: Listas personalizadas * - tpls: Templates para formatos de impresión */ $cfgPath = __DIR__ . '/tests/companyconfig'; // Nombre del ertificado digital a ser usado para las firmas $certificate = '20100454523_2018_09_27.pem'; F72X::init([ 'ruc' => '20100454523', 'razonSocial' => 'Soporte Tecnológicos EIRL', 'nombreComercial' => 'Tu Soporte', 'codigoDomicilioFiscal' => '0000', 'address' => 'AV. FCO. BOLOGNESI 854', 'city' => 'LIMA', 'contactInfo' => 'Email: ventas@miweb.com', 'usuarioSol' => 'MODDATOS', 'claveSol' => 'moddatos', 'cconfigPath' => $cfgPath, 'repoPath' => $repoPath, 'certificate' => $certificate, 'prodMode' => $prodMode ]); // Configurar el gateway de servicios $serviceGateway = new ServiceGateway();
2. GENERAR DOCUMENTOS
FACTURA
// Data $data = require 'tests/cases/factura.php'; // Procesar Data $XML = DocumentGenerator::createDocument('FAC', $data); // Generar Documentos DocumentGenerator::generateFiles($XML); // Enviar a SUNAT $documentName = $xmlFAC->getDocumentName(); $response = $serviceGateway->sendBill($documentName); // Procesar Respuesta var_dump($response);
BOLETA DE VENTA
// Data $data = require 'tests/cases/factura/factura-pago-contado.php'; // Procesar Data $XML = DocumentGenerator::createDocument('BOL', $data); // Generar Documentos DocumentGenerator::generateFiles($XML); // Enviar a SUNAT $documentName = $xmlFAC->getDocumentName(); $response = $serviceGateway->sendBill($documentName); // Procesar Respuesta var_dump($response);
NOTA DE CRÉDITO
// Data $data = require 'tests/cases/factura.php'; // Procesar Data $XML = DocumentGenerator::createDocument('NCR', $data); // Generar Documentos DocumentGenerator::generateFiles($XML); // Enviar a SUNAT $documentName = $xmlFAC->getDocumentName(); $response = $serviceGateway->sendBill($documentName); // Procesar Respuesta var_dump($response);
NOTA DE DÉBITO
// Data $data = require 'tests/cases/factura.php'; // Procesar Data $XML = DocumentGenerator::createDocument('NDE', $data); // Generar Documentos DocumentGenerator::generateFiles($XML); // Enviar a SUNAT $documentName = $xmlFAC->getDocumentName(); $response = $serviceGateway->sendBill($documentName); // Procesar Respuesta var_dump($response);