raalveco / ciberfactura
Libreria para la Emisión de Facturas Electrónicas
Installs: 576
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Forks: 3
Open Issues: 0
Language:XSLT
Type:commercial
Requires
- genkgo/xsl: ^0.5.16
- lunasoft/sw-sdk-php: dev-master
- dev-master
- 2.0.0.x-dev
- v2.0.0-beta.10
- v2.0.0-beta.9
- v2.0.0-beta.8
- v2.0.0-beta.7
- v2.0.0-beta.6
- v2.0.0-beta.5
- v2.0.0-beta.4
- v2.0.0-beta.3
- v2.0.0-beta.2
- v2.0.0-beta.1
- v1.0.23
- v1.0.22
- v1.0.21
- v1.0.20
- v1.0.19
- v1.0.18
- v1.0.17
- v1.0.16
- v1.0.15
- v1.0.14
- v1.0.13
- v1.0.12
- v1.0.11
- v1.0.10
- v1.0.9
- v1.0.8
- v1.0.6
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- 1.0.0.x-dev
- v1.0.0
- 0.2.x-dev
- v0.2
- 0.1.x-dev
- v0.1
This package is not auto-updated.
Last update: 2024-11-05 04:04:15 UTC
README
Libreria que simplifica el proceso de creación y timbrado de CFDIs.
Instalación
Para iniciar la instalación de la libreria es necesario agregar la dependencia en nuestro composer.json en la raíz de Laravel.
{ "require": { "raalveco/ciberfactura": "1.0.*" } }
Laravel 5.2
Registrar el siguiente Service Provider. y Alias
// config/app.php 'providers' => [ Raalveco\Ciberfactura\CiberfacturaServiceProvider::class, ]; 'aliases' => [ 'Cfdi' => Raalveco\Ciberfactura\Facades\Cfdi::class, ];
Enseguida, publicar la configuración por defecto.
php artisan vendor:publish
Este comando además de crear el archivo de configuración config/packages/raalveco/ciberfactura/config.php
, creará un grupo de archivos con las migrations para crear las tablas necesarias para la creación de cfdis.
Para que la configuración funcione de manera adecuada debemos definir las variables de ambiente en nuestro archivo .env con sus apropiados valores.
<?php return array( 'production' => env('CFDI_PRODUCTION', false), 'certificate' => array( 'cer' => env('CFDI_CERTIFICATE_CER', 'config/packages/raalveco/ciberfactura/certificate/aad990814bp7_1210261233s.cer'), 'key' => env('CFDI_CERTIFICATE_KEY', 'config/packages/raalveco/ciberfactura/certificate/aad990814bp7_1210261233s.key'), 'password' => env('CFDI_CERTIFICATE_PRIVATE_KEY', '12345678a') ), 'wsdl' => array( 'sandbox' => array( 'autentificacion' => 'http://pruebascfdi.smartweb.com.mx/Autenticacion/wsAutenticacion.asmx?wsdl', 'timbrado' => 'http://pruebascfdi.smartweb.com.mx/Timbrado/wsTimbrado.asmx?wsdl', 'cancelacion' => 'http://pruebascfdi.smartweb.com.mx/Cancelacion/wsCancelacion.asmx?wsdl', 'usuario' => 'demo', 'password' => '123456789', ), 'production' => array( 'autentificacion' => 'https://cfdi.smartweb.com.mx/Autenticacion/wsAutenticacion.asmx?wsdl', 'timbrado' => 'https://cfdi.smartweb.com.mx/Timbrado/wsTimbrado.asmx?wsdl', 'cancelacion' => 'https://cfdi.smartweb.com.mx/Cancelacion/wsCancelacion.asmx?wsdl', 'usuario' => env('SMART_WEB_USER', ''), 'password' => env('SMART_WEB_PASSWORD', ''), ) ), 'path_xmls' => public_path().'/cfdis' );
Esta libreria servira para emitir facturas con el Smartweb, el cual es un proveedor autorizado de certificación del SAT.
###Migrations
Antes de probar el funcionamiento de la libreria, es necesario ejecutar los migrations que crearán las tablas donde se almacenan los CFDIs.
php artisan migrate
###Código de Ejemplo
$factura = CfdiFactura::create( array( "serie" => "A", "folio" => 234, "fecha" => date("Y-m-d H:i:s"), "subTotal" => 200, "total" => 232.0 ) ); $factura->addEmisor( "AAD990814BP7", "EMPRESA PRUEBAS SA DE CV", "Independencia", "54", "", "Centro", "Ameca", "Ameca", "Jalisco", "Mexico", "46600" ); $factura->addReceptor( "PEGJ801021H4K", "Juan Pérez González", "Juarez", "56", "3A", "Centro", "Guadalajara", "Guadalajara", "Jalisco", "Mexico", "44460" ); $factura->addConcepto( 1, "Año", "Servicio de Facturación Electrónica", 100.00, 100.00 ); $factura->addConcepto( 1, "Año", "Servicio de Timbrado de Facturas Electrónicas", 100.00, 100.00 ); $factura->addImpuesto( "Traslado", "IVA", 16.00, 32.00 ); $factura->addSucursal( "Av. Revolución", "212", "", "Centro", "Ameca", "Ameca", "Jalisco", "Mexico", "46600" ); $factura->addRegimen("Regimen General para Personas Morales"); Cfdi::loadCfdi($factura); $sello = Cfdi::sellar(); $uuid = Cfdi::timbrar(); Cfdi::guardar(); $xml = Cfdi::xml();