Funcionando
Showing
... | @@ -28,32 +28,18 @@ PASSWORD_FACTURA_DIGITAL=password | ... | @@ -28,32 +28,18 @@ PASSWORD_FACTURA_DIGITAL=password |
# Como utilizar la libreria: | # Como utilizar la libreria: | ||
Registrar los datos generales de la factura | Configurar regimen fiscal del emisor | ||
> $factura = FacturaDigital::setSerie('F') | |||
> ->setFolio('71278') | |||
> ->setFecha('AUTO') | |||
> ->setFormaPago('01') | |||
> ->setCondicionesDePago('CONDICIONES') | |||
> ->setSubTotal('200'.00) | |||
> ->setDescuento('50.00') | |||
> ->setMoneda('MXN') | |||
> ->setTipoCambio('1') | |||
> ->setTotal('174.00') | |||
> ->setTipoDeComprobante('I') | |||
> ->setMetodoPago('PUE') | |||
> ->setLugarExpedicion('67150') | |||
> ->setLeyendaFolio('Factura'); | |||
Configurar regimen del emisor | |||
> $emisor = FacturaDigital::emisor() | > $emisor = FacturaDigital::emisor() | ||
> ->setRegimenFiscal('612') | > ->setRegimenFiscal('612') | ||
> ->getData(); | > ->getData(); | ||
Configurar datos del receptor | Configurar la información del receptor | ||
> $receptor = FacturaDigital::receptor() | > $receptor = FacturaDigital::receptor() | ||
> ->setRfc('NDI120326HF5') | > ->setRfc('NDI120326HF5') | ||
> ->setNombre('Novatech Digital SA de CV') | > ->setNombre('Novatech Digital SA de CV') | ||
> ->setNumRegIdTrib('') | > //->setNumRegIdTrib('') | ||
> ->setUsoCFDI('G03') | > ->setUsoCFDI('G03') | ||
> ->setCalle('Palmas') | > ->setCalle('Palmas') | ||
> ->setNoExt('129') | > ->setNoExt('129') | ||
... | @@ -64,65 +50,111 @@ Configurar datos del receptor | ... | @@ -64,65 +50,111 @@ Configurar datos del receptor |
> ->setCodigoPostal('98000') | > ->setCodigoPostal('98000') | ||
> ->getData(); | > ->getData(); | ||
Registrar los conceptos a facturar | Registrar los conceptos de la factura | ||
> $concepto = FacturaDigital::concepto() | > $concepto = FacturaDigital::concepto() | ||
> ->setClaveProdServ('01010101') | > ->setClaveProdServ('01010101') | ||
> ->setNoIdentificacion('01') | > ->setNoIdentificacion('01') | ||
> ->setCantidad('1.00') | > ->setCantidad('3.00') | ||
> ->setClaveUnidad('KGM') | > ->setClaveUnidad('KGM') | ||
> ->setUnidad('Kilo') | > ->setUnidad('Kilo') | ||
> ->setDescripcion('Pantalla LSC Sharp') | > ->setDescripcion('Coca cola') | ||
> ->setValorUnitario('100.00') | > ->setValorUnitario('15') | ||
> ->setImporte('100') | |||
> ->setDescuento('25') | |||
> ->setImpuestoBase('75.00') | |||
> ->setImpuesto('002') | |||
> ->setImpuestoTipoFactor('Tasa') | |||
> ->setImpuestoTasaOCuota('0.160000') | |||
> ->setImpuestoImporte('12.00') | |||
> ->getData(); | > ->getData(); | ||
> $concepto2 = FacturaDigital::concepto() | > $concepto2 = FacturaDigital::concepto() | ||
> ->setClaveProdServ('01010101') | > ->setClaveProdServ('01010101') | ||
> ->setNoIdentificacion('02') | > ->setNoIdentificacion('02') | ||
> ->setCantidad('1.00') | > ->setCantidad('2') | ||
> ->setClaveUnidad('KGM') | > ->setClaveUnidad('KGM') | ||
> ->setUnidad('PZA') | > ->setUnidad('PZA') | ||
> ->setDescripcion('Memoria USB') | > ->setDescripcion('Hamburgruesa') | ||
> ->setValorUnitario('100.00') | > ->setValorUnitario('70') | ||
> ->setImporte('100.00') | |||
> ->setDescuento('25.00') | |||
> ->setImpuestoBase('75.00') | |||
> ->setImpuesto('002') | |||
> ->setImpuestoTipoFactor('Tasa') | |||
> ->setImpuestoTasaOCuota('0.16000') | |||
> ->setImpuestoImporte('12.00') | |||
> ->getData(); | > ->getData(); | ||
Agregar los conceptos a la lista | > $concepto3 = FacturaDigital::concepto() | ||
> $lista = FacturaDigital::listaConceptos() | > ->setClaveProdServ('01010101') | ||
> ->setConceptos(array($concepto, $concepto2)) | > ->setNoIdentificacion('03') | ||
> ->setCantidad('3') | |||
> ->setClaveUnidad('KGM') | |||
> ->setUnidad('PZA') | |||
> ->setDescripcion('Alitas Personal') | |||
> ->setValorUnitario('50') | |||
> ->getData(); | > ->getData(); | ||
Agregar a la lista de los conceptos | |||
> $lista = FacturaDigital::listaConceptos(); | |||
> $lista->setConceptos(array($concepto, $concepto2, $concepto3)); | |||
Obtener los totales (Impuestos y conceptos libres de impuestos) | |||
> $totales = $lista->getTotalConceptos(); | |||
> retorna ['totalConceptos', 'totalImpuestos'] | |||
Registrar datos generales de la factura | |||
> $factura = FacturaDigital::setSerie('F') | |||
> ->setFolio('71278') | |||
> ->setFecha('AUTO') | |||
> ->setFormaPago('01')//01 Efectivo | |||
> ->setCondicionesDePago('Pago de contado') | |||
> ->setMoneda('MXN') | |||
> ->setTipoCambio('1') | |||
> ->setTipoDeComprobante('I') | |||
> ->setMetodoPago('PUE') | |||
> ->setLugarExpedicion('67150') //C.P. | |||
> ->setLeyendaFolio('Factura') | |||
> ->setSubTotal($totales['totalConceptos']) | |||
> //->setDescuento('30.00') | |||
> ->setTotal($totales['totalConceptos'] + $totales['totalImpuestos'] ); | |||
Registrar impuesto total | |||
Agregar información del impuesto | |||
> $impuesto = FacturaDigital::impuesto() | > $impuesto = FacturaDigital::impuesto() | ||
> ->setTotalImpuestosTrasladados('24.00') | > ->getData($totales['totalImpuestos']); | ||
> ->setImpuesto('002') | |||
> ->setTipoFactor('Tasa') | Agregar todos los datos a la factura | ||
> ->setTasaOCuota('0.16000') | |||
> ->setImporte('24.00') | |||
> ->getData(); | |||
Agregar los atributos anteriores a la factura final | |||
> $factura->setEmisor($emisor); | > $factura->setEmisor($emisor); | ||
> $factura->setReceptor($receptor); | > $factura->setReceptor($receptor); | ||
> $factura->setConceptos($lista); | > $factura->setConceptos($lista->getData()); | ||
> $factura->setImpuestos($impuesto); | > $factura->setImpuestos($impuesto); | ||
Leer datos de la factura | Generar factura | ||
> $factura->getData(); | > $factura_final = $factura->enviar(); | ||
Enviar la factura | retorna el siguiente arreglo | ||
> $factura->enviar(); | > { | ||
> mensaje: "Timbrado exitoso", | |||
\ No newline at end of file | > codigo: 200, | ||
> cfdi: | |||
> { | |||
> NoCertificado: "", | |||
> UUID: "", | |||
> FechaTimbrado: "2018-06-28T16:33:27", | |||
> RfcProvCertif: "FEL100622S88", | |||
> SelloCFD:"", | |||
> NoCertificadoSAT: "20001000000300022323", | |||
> SelloSAT: "", | |||
> CadenaOrigTFD: "", | |||
> CadenaQR: "", | |||
> XmlBase64: "", | |||
> PDF: "", | |||
> XML: "" | |||
> } | |||
> } | |||
Enviar factura por correo | |||
> $enviar = $factura->enviarCorreo($uuid, '[email protected]'); | |||
Esto retorna un booleano | |||
> if ($enviar) { | |||
> return "Factura enviada por correo"; | |||
> } else { | |||
> return "Errorsillo"; | |||
> } | |||
Para cancelar un CFDI | |||
> $cancela = $factura->cancelarCFDI('UUID'); | |||
\ No newline at end of file |
This diff is collapsed.
Click to expand it.
Please
register
or
sign in
to comment