La librería es económica y con frecuencia tienen promociones de descuento hasta el 100%, ingresa a multifacturas.com y pregunta.
El uso de la librería consta de un array que contiene todos los parámetros de la factura, ruta de certificados, usuario para timbrado; ejecutas cfdi_generar_xml y regresa un array con el cfdi, png, saldo actual, códigos de error, etc; y además almacena el XML y PNG en la ruta indicada en el array.
Ejemplo Facturación Electrónica CFDi PHP
<?php
date_default_timezone_set('America/Mexico_City');
include_once "lib/cfdi32_multifacturas.php";
/////////////////////////////////////////////////////////////////////////////////
//////////// CREAR ARCHIVOS .PEM
/////////////////////////////////////////////////////////////////////////////////
$datos['PAC']['usuario'] = 'DEMO700101XXX';
$datos['PAC']['pass'] = 'DEMO700101XXX';
$datos['PAC']['produccion'] = 'NO'; // [SI|NO]
$datos['conf']['cer'] = 'pruebas/aaa010101aaa.cer.pem';
$datos['conf']['key'] = 'pruebas/aaa010101aaa.key.pem';
$datos['conf']['pass'] = '12345678a';
//RUTA DONDE ALMACENARA EL CFDI
$datos['cfdi']='timbrados/xml_1.xml';
// OPCIONAL GUARDAR EL XML GENERADO ANTES DE TIMBRARLO
$datos['xml_debug']='timbrados/xml_debug_1.xml';
//OPCIONAL, ACTIVAR SOLO EN CASO DE CONFLICTOS
//$datos['remueve_acentos']='SI';
//OPCIONAL, UTILIZAR LA LIBRERIA PHP DE OPENSSL, DEFAULT SI
$datos['php_openssl']='SI';
$datos['factura']['serie'] = 'A'; //opcional
$datos['factura']['folio'] = '100'; //opcional
$datos['factura']['fecha_expedicion'] = date('Y-m-d H:i:s',time()-120);// Opcional "time()-120" para retrasar la hora 2 minutos para evitar falla de error en rango de fecha
$datos['factura']['metodo_pago'] = 'EFECTIVO'; // EFECTIV0, CHEQUE, TARJETA DE CREDITO, TRANSFERENCIA BANCARIA, NO IDENTIFICADO
$datos['factura']['forma_pago'] = 'PAGO EN UNA SOLA EXHIBICION'; //PAGO EN UNA SOLA EXHIBICION, CREDITO 7 DIAS, CREDITO 15 DIAS, CREDITO 30 DIAS, ETC
$datos['factura']['tipocomprobante'] = 'ingreso'; //ingreso, egreso
$datos['factura']['moneda'] = 'MXN'; // MXN USD EUR
$datos['factura']['tipocambio'] = '1.0000'; // OPCIONAL (MXN = 1.00, OTRAS EJ: USD = 13.45; EUR = 16.86)
$datos['factura']['LugarExpedicion'] = 'MONTERREY, NUEVO LEON';
//$datos['factura']['NumCtaPago'] = '0234'; //opcional; 4 DIGITOS pero obligatorio en transferencias y cheques
$datos['factura']['RegimenFiscal'] = 'MI REGIMEN';
$datos['emisor']['rfc'] = 'AAA010101AAA'; //RFC DE PRUEBA
$datos['emisor']['nombre'] = 'ACCEM SERVICIOS EMPRESARIALES SC'; // EMPRESA DE PRUEBA
$datos['emisor']['DomicilioFiscal']['calle'] = 'JUAREZ';
$datos['emisor']['DomicilioFiscal']['noExterior'] = '100';
$datos['emisor']['DomicilioFiscal']['noInterior'] = ''; //(opcional)
$datos['emisor']['DomicilioFiscal']['colonia'] = 'CENTRO';
$datos['emisor']['DomicilioFiscal']['localidad'] = 'MONTERREY';
$datos['emisor']['DomicilioFiscal']['municipio'] = 'MONTERREY'; // o delegacion
$datos['emisor']['DomicilioFiscal']['estado'] = 'NUEVO LEON';
$datos['emisor']['DomicilioFiscal']['pais'] = 'MEXICO';
$datos['emisor']['DomicilioFiscal']['CodigoPostal'] = '01234'; // 5 digitos
//SI EX EXPEDIDO EN SUCURSAL CAMBIA EL DOMICILIO
//SI ES EN EL MISMO DOMICILIO REPETIR INFORMACION
$datos['emisor']['ExpedidoEn']['calle'] = 'HIDALGO';
$datos['emisor']['ExpedidoEn']['noExterior'] = '240';
$datos['emisor']['ExpedidoEn']['noInterior'] = ''; //(opcional)
$datos['emisor']['ExpedidoEn']['colonia'] = 'LAS CUMBRES 3 SECTOR';
$datos['emisor']['ExpedidoEn']['localidad'] = 'MONTERREY';
$datos['emisor']['ExpedidoEn']['municipio'] = 'MONTERREY'; // O DELEGACION
$datos['emisor']['ExpedidoEn']['estado'] = 'NUEVO LEON';
$datos['emisor']['ExpedidoEn']['pais'] = 'MEXICO';
$datos['emisor']['ExpedidoEn']['CodigoPostal'] = '64610'; // 5 digitos
// IMPORTANTE PROBAR CON NOMBRE Y RFC REAL O GENERARA ERROR DE XML MAL FORMADO
$datos['receptor']['rfc'] = 'SOHM7509289MA';
$datos['receptor']['nombre'] = 'MIGUEL ANGEL SOSA HERNANDEZ';
//opcional
$datos['receptor']['Domicilio']['calle'] = 'PERIFERICO';
$datos['receptor']['Domicilio']['noExterior'] = '1024';
$datos['receptor']['Domicilio']['noInterior'] = 'B';
$datos['receptor']['Domicilio']['colonia'] = 'SAN ANGEL';
$datos['receptor']['Domicilio']['localidad'] = 'CIUDAD DE MÉXICO';
$datos['receptor']['Domicilio']['municipio'] = 'ALVARO OBREGON';
$datos['receptor']['Domicilio']['estado'] = 'DISTRITO FEDERAL';
$datos['receptor']['Domicilio']['pais'] = 'MEXICO';
$datos['receptor']['Domicilio']['CodigoPostal'] = '23010'; // 5 digitos
//AGREGAR 10 CONCEPTOS DE PRUEBA
for ($i = 1; $i < 11; $i++) {
unset($concepto);
$concepto['cantidad'] = 1;
$concepto['unidad'] = 'PIEZA';
$concepto['ID'] = "COD$i"; //ID, REF, CODIGO O SKU DEL PRODUCTO
// $concepto['descripcion'] = "PRODUCTO PRUEBA > '$i'";
$concepto['descripcion'] = "PRODUCTO PRUEBA $i";
$concepto['valorunitario'] = '100.00'; // SIN IVA
$concepto['importe'] = '100.00';
$datos['conceptos'][] = $concepto;
}
$datos['factura']['subtotal'] = 1100.00; // sin impuestos
$datos['factura']['descuento'] = 100.00; // descuento sin impuestos
$datos['factura']['total'] = 1160.00; // total incluyendo impuestos
$datos['factura']['subtotal'] = 1000.00; // sin impuestos
$datos['factura']['descuento'] = 0.00; // descuento sin impuestos
$datos['factura']['total'] = 1160.00; // total incluyendo impuestos
$translado1['impuesto'] = 'IVA';
$translado1['tasa'] = '16';
$translado1['importe'] = 160.00; // iva de los productos facturados
$datos['impuestos']['translados'][0] = $translado1;
$res= cfdi_generar_xml($datos);
echo "
<h1>Respuesta Generar XML y Timbrado</h1>
<br/>ver codigo fuente para visualizar el xml en pantalla
<hr><pre>";
print_r($res);
echo "</pre>";
?>
Les recomiendo descargar el KIT de desarrollo y en 15min ya habrán generado su primer factura.
Muy buena información acabo de descargar el kit de desarrollo, hare unas pruebas haber que tal. Muy buena información sigan asi.
ResponderEliminarDe donde se descarga el kit?
ResponderEliminaren www.multifacturas.com
EliminarComo instalo el kit para probar en localhost con wamp de 32 bits? y como le hare cuando lo quiera poner en server?
ResponderEliminarEn el area de descargas viene un wamp portable ya probado, esta hasta abajo
EliminarTe sugiero que en alguna parte de esta página indiques de qué país estamos hablando, ya que tu dominio es .com. ¿Cómo saber si tu solución se aplica a mi país?
ResponderEliminargracias lo tomare en cuenta; aunque el formato CFDi es solo para México
Eliminar