Factura Electrónica en Foxpro 42


Factura Electrónica en Foxpro

La librería Gen_CFDI.DLL es 100% compatible con Microsoft® Visual FoxPro 6/7/8/9

Para una rápida integración, ponemos a su disposición la Interfaz TXT a CFDI genera el XML y PDF de una forma muy sencilla.

Incluye un nuevo ejemplo de integración para factura electrónica en Foxpro (incluye código fuente), el cual le permite generar de una manera muy sencilla los siguientes documentos:

 

  • Facturas de productos y servicios.

  • Facturas con pedimento de importación.

  • Recibos de honorarios y arrendamiento

  • Recibos de pago de colegiaturas (IEDU)

  • IVA a diferentes tasas e importes.

  • Diferentes tasas e importes del impuesto especial de productos y servicios (IEPS)

  • Impuestos locales (hospedaje, celular, 5 al millar, etc…)

  • Nómina.

  • Divisas

 

A continuación se muestra como generar una factura electrónica en Foxpro:

 

NOTA: Los datos del ejemplo son ficticios, la intención es demostrar la generación de un CFDI de prueba. 

 

Generar Factura

 

Matrices de datos.

Variables de memoria previamente definidas:
* Datos del PAC
LOCAL aParametros[4]

* Datos del Comprobante (Serie, Folio, forma de pago, etc...)
LOCAL aComprobante[21]

* Datos del Emisor (Nombre, RFC, Domicilio fiscal, ExpedidoEn y Régimen)
LOCAL aEmisor[23]

* Datos del Receptor (Nombre, RFFC y Domicilio)
LOCAL aClientes[12]

* 5 conceptos (ampliar segun se requiera) / 6 atributos
LOCAL aConceptos[5,6]

* 5 conceptos / 3 atributos para 3 Pedimentos diferentes.
LOCAL aImportacion[5,9]

* 5 conceptos / 1 atributo
LOCAL aPredial[5,1]

* 5 conceptos / 6 atributos
LOCAL aIEDU[5,6]

* para el totalImpuestosRetenidos y totalImpuestosTrasladados
LOCAL aImpuestos[2]

* Importes para ISR e IVA
LOCAL aRetenciones[2,2]

* 2 tasas de IVA (ampliar segun se requiera) / 3 atributos
LOCAL aTraslados[2,3]

* 3 tasas de IEPS (ampliar segun se requiera) / 3 atributos
LOCAL aIEPS[3,3]

 

Comprobante.

Capturamos los datos del Comprobante:

* Datos del comprobante
aComprobante( 1) = '3.2'                           * Versión del estandar CFDI
aComprobante[ 2] = 'AB'                            * Serie
aComprobante[ 3] = '12345'                         * Folio
aComprobante[ 4] = FechaActual()                   * Fecha
aComprobante[ 5] = 'T' + Time()                    * Hora
aComprobante[ 6] = 'Pago en una sola exhibición'   * Forma de Pago
aComprobante[ 7] = 'Contado'                       * Condiciones de pago
aComprobante[ 8] = '11052.28'                      * SubTotal
aComprobante[ 9] = '205.00'                        * Descuento
aComprobante[10] = 'Promoción'                     * Motivo Descuento
aComprobante[11] = '1.000'                         * Tipo de Cambio
aComprobante[12] = 'MXP'                           * Moneda
aComprobante[13] = '10746.28'                      * TOTAL
aComprobante[14] = 'ingreso'                       * Tipo de Comprobante: ingreso egreso traslado
aComprobante[15] = 'TARJETA DE CREDITO'            * Método de Pago
aComprobante[16] = 'México, D.F.'                  * Lugar de expedición
aComprobante[17] = '9658'                          * Numero de cuenta de pago
aComprobante[18] = '123'                           * FolioFiscalOrig (Parcialidades)
aComprobante[19] = 'AB'                            * SerieFolioFiscalOrig (Parcialidades)
aComprobante[20] = '2012-12-12T12:12:12'           * FechaFolioFiscalOrig (Parcialidades)
aComprobante[21] = '50000.00'                      * MontoFolioFiscalOrig (Parcialidades)

 

Emisor.

Capturamos los datos del Emisor (Persona física o Moral):

* Datos del Emisor
aEmisor[ 1] = 'AAA010101AAA'                       * RFC del emisor
aEmisor[ 2] = 'La Empresa Inválida, S.A. de C.V.'  * Nombre del emisor
aEmisor[ 3] = 'Domicilio Conocido'                 * Domicilio fiscal - Calle
aEmisor[ 4] = '201'                                * No. Exterior
aEmisor[ 5] = 'A'                                  * No. Interior
aEmisor[ 6] = 'Col. Industrial San Antonio'        * Colonia
aEmisor[ 7] = 'México'                             * Localidad
aEmisor[ 8] = 'Entre Calle 1 y Calle 2'            * Referencia
aEmisor[ 9] = 'Azcapotzalco'                       * Municipio / Delegación
aEmisor[10] = 'Distrito Federal'                   * Estado
aEmisor[11] = 'México'                             * País
aEmisor[12] = '02760'                              * Código Postal

 

ExpedidoEn.

Si el establecimiento mercantil cuenta con sucursales (nodo Expedido En)  capturamos los datos, de lo contrario se dejan en blanco:

* Datos opcionales de ExpedidoEn (Sucursales)
* Nota: En caso de que no tenga sucursal, por favor, dejar las variables como cadena vacía "".

aEmisor[13] = 'Domicilio Conocido de la Sucursal'  * Calle
aEmisor[14] = '205'                                * No. Exterior
aEmisor[15] = ''                                   * No. Interior
aEmisor[16] = 'Col. Industrial San Antonio'        * Colonia
aEmisor[17] = 'México'                             * Localidad
aEmisor[18] = ''                                   * Referencia
aEmisor[19] = 'Azcapotzalco'                       * Municipio / Delegación
aEmisor[20] = 'Distrito Federal'                   * Estado
aEmisor[21] = 'México'                             * País
aEmisor[22] = '02760'                              * Código Postal

* Régimen en el que tributa el contribuyente emisor
aEmisor[23] = 'Regimen General de Ley'             * Régimen Fiscal

 

Receptor.

Se capturan los datos del Receptor (Cliente):

* Datos del Receptor
aClientes[ 1] = 'MSU820125TS9'                     * RFC
aClientes[ 2] = 'Médica Sur, S.A. de C.V.'         * Nombre Cliente
aClientes[ 3] = 'Puente de Piedra'                 * Calle
aClientes[ 4] = '150'                              * No. Exterior
aClientes[ 5] = '1A'                               * No. Interior
aClientes[ 6] = 'Toriello Guerra'                  * Colonia
aClientes[ 7] = 'México'                           * Localidad
aClientes[ 8] = 'Entre Alamos y Claverìa'          * Referencia
aClientes[ 9] = 'Tlalpan'                          * Municipio
aClientes[10] = 'Distrito Federal'                 * Estado
aClientes[11] = 'México'                           * País
aClientes[12] = '14050'                            * C.P.

 

Conceptos.

Capturamos los conceptos (Productos y/o Servicios que contiene el comprobante):

* Conceptos
* 1
aConceptos[1, 1] = '10'                            * Cantidad
aConceptos[1, 2] = 'COD_001'                       * Clave o código del producto
aConceptos[1, 3] = 'Coca-Cola Americana Clásica'   * Descripción del producto
aConceptos[1, 4] = 'Pieza'                         * Unidad de medida
aConceptos[1, 5] = '60.00'                         * Importe unitario
aConceptos[1, 6] = '600.00'                        * Importe Total

 * Pedimentos de Importación
 nPedimentos = 3
 aImportacion[1, 1] = '3522-1234567'
 aImportacion[1, 2] = '2013-12-11'
 aImportacion[1, 3] = 'Aeropuerto Internacional de la Ciudad de México'

 aImportacion[1, 4] = '3522-1234568'
 aImportacion[1, 5] = '2013-12-12'
 aImportacion[1, 6] = 'Aeropuerto Internacional de la Ciudad de México'

* 2
aConceptos[2, 1] = '1'                             * Cantidad
aConceptos[2, 2] = '123456'                        * Clave o código del producto
aConceptos[2, 3] = 'Arrendamiento de Vivienda'     * Descripción del producto
aConceptos[2, 4] = 'No Aplica'                     * Unidad de medida
aConceptos[2, 5] = '5000.00'                       * Importe unitario
aConceptos[2, 6] = '5000.00'                       * Importe Total

 aPredial[2,1] = '1234-1234567890'                 * Cuenta predial

* .fin conceptos
 

 

Impuestos y retenciones.

Establecemos los impuestos y/o retenciones aplicables al documento (IVA, IEPS, ISR):

* Total de Impuestos
aImpuestos[1] = '375.00'                           * Total de los impuestos retenidos
aImpuestos[2] = '274.00'                           * Total de los impuestos trasladados

* Retenciones
aRetenciones[1, 1] = 'ISR'                         * Tipo de impuesto retenido
aRetenciones[1, 2] = '250.00'                      * Importe o monto del impuesto retenido

aRetenciones[2, 1] = 'IVA'                         * Tipo de impuesto retenido
aRetenciones[2, 2] = '125.00'                      * Importe o monto del impuesto retenido

* Traslados IVA
aTraslados[1, 1] = 'IVA'                           * Tipo de impuesto trasladado
aTraslados[1, 2] = '16.00'                         * Tasa del impuesto
aTraslados[1, 3] = '250.00'                        * Importe del impuesto trasladado

aTraslados[2, 1] = 'IVA'                           * Tipo de impuesto trasladado
aTraslados[2, 2] = '0.00'                          * Tasa del impuesto
aTraslados[2, 3] = '0.00'                          * Importe del impuesto trasladado

* Traslados IEPS
aIEPS[1, 1] = 'IEPS'                               * Tipo de impuesto trasladado
aIEPS[1, 2] = '2.00'                               * Tasa del impuesto
aIEPS[1, 3] = '6.00'                               * Importe del impuesto trasladado

aIEPS[2, 1] = 'IEPS'                               * Tipo de impuesto trasladado
aIEPS[2, 2] = '3.00'                               * Tasa del impuesto
aIEPS[2, 3] = '8.00'                               * Importe del impuesto trasladado

 

Generar CFDI.

Por último llama la función de generación del CFDI y es todo,.

 
* Genera el CFDI firmado, sellado y timbrado.
 Generar_CFDI(cTmpFile) 

 

Al terminar el proceso se crean 3 archivos:

 

1.- El XML timbrado

<?xml version="1.0"?>
<cfdi:Comprobante xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv32.xsd" version="3.2" serie="AB" folio="12345" fecha="2015-08-17T23:28:16" formaDePago="Pago en una sola exhibición" metodoDePago="TARJETA DE CREDITO" condicionesDePago="Contado" motivoDescuento="Promoción" subTotal="11052.28" descuento="205.00" TipoCambio="1.000" Moneda="MXP" total="10746.28" tipoDeComprobante="ingreso" LugarExpedicion="México, D.F." NumCtaPago="9658" FolioFiscalOrig="123" SerieFolioFiscalOrig="AB" FechaFolioFiscalOrig="2012-12-12T12:12:12" MontoFolioFiscalOrig="50000.00" noCertificado="20001000000100005876" certificado="MIIEdTCCA12gAwIBAgIUMjAwMDEwMDAwMDAxMDAwMDU4NzYwDQYJKoZIhvcNAQEFBQAwggFvMRgwFgYDVQQDDA9BLkMuIGRlIHBydWViYXMxLzAtBgNVBAoMJlNlcnZpY2lvIGRlIEFkbWluaXN0cmFjacOzbiBUcmlidXRhcmlhMTgwNgYDVQQLDC9BZG1pbmlzdHJhY2nDs24gZGUgU2VndXJpZGFkIGRlIGxhIEluZm9ybWFjacOzbjEpMCcGCSqGSIb3DQEJARYaYXNpc25ldEBwcnVlYmFzLnNhdC5nb2IubXgxJjAkBgNVBAkMHUF2LiBIaWRhbGdvIDc3LCBDb2wuIEd1ZXJyZXJvMQ4wDAYDVQQRDAUwNjMwMDELMAkGA1UEBhMCTVgxGTAXBgNVBAgMEERpc3RyaXRvIEZlZGVyYWwxEjAQBgNVBAcMCUNveW9hY8OhbjEVMBMGA1UELRMMU0FUOTcwNzAxTk4zMTIwMAYJKoZIhvcNAQkCDCNSZXNwb25zYWJsZTogSMOpY3RvciBPcm5lbGFzIEFyY2lnYTAeFw0xMjA3MjcxNzAyMjZaFw0xNjA3MjcxNzAyMjZaMIHcMSkwJwYDVQQDEyBBQ0NFTSBTRVJWSUNJT1MgRU1QUkVTQVJJQUxFUyBTQzEpMCcGA1UEKRMgQUNDRU0gU0VSVklDSU9TIEVNUFJFU0FSSUFMRVMgU0MxKTAnBgNVBAoTIEFDQ0VNIFNFUlZJQ0lPUyBFTVBSRVNBUklBTEVTIFNDMSUwIwYDVQQtExxBQUEwMTAxMDFBQUEgLyBIRUdUNzYxMDAzNFMyMR4wHAYDVQQFExUgLyBIRUdUNzYxMDAzTURGUk5OMDkxEjAQBgNVBAsTCVVuaWRhZCAxMDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAuV/D53jWllewr8uPCOZmPAAU1CZkrQt9Ha+vLIf1n5tMEku8TxjpTmDnpgv5woSEbqHCrMZ8OCZtUixZWQmaViZFwo5aXD0YmBCicE++enBlpqbwMSHN/kvdtiQU6PowF44w+/bIuBf3Z5yMsmTuj39nfuoD04oPnvt+4Ebayv0CAwEAAaMdMBswDAYDVR0TAQH/BAIwADALBgNVHQ8EBAMCBsAwDQYJKoZIhvcNAQEFBQADggEBAHpGBj9KLYe5wNTyvnCKTcTfWUu1R+KwCOkvNi3sAB067Y56PMxBGLaWJyr0Hb/ElRqdhpFeo1yCVa1POBQcKCfOGzQXaR0x/89cUkoruPyrlRO7LOFmCOc/OhwZkSQik96d+2xqM8JUUH6AG8DP3HfdTxR+43JVA1v1QgqSYLhqChj65NEV1vfDNJQesI0qIRcaE9wIcr746zS0pCd+ixWVrhPLWRn3yVV160uXxVlA23QJf5n2i//B7ejjCsa1bh+T2jVYYJtrTdm5bppE2s2AMjDFvWpGzw7YH9GNZ/F5w0v0KZMgnwPB3ABzhcTanAJq1+zQ3vsGMBePc3805JU=" sello="JP+CLMcV04bI3/kGxPwSJABWIIbwURc7LVszDjT5D+JCEk2GbiUD4waW1QXY2kYVdYg3LIHUoWmS1Bszrw90WvpqIFkcsjX3d/4FcPwWIuXZRUiGGwxPUgKbhQigx0XbnNjy+1G8/6WvTsXdcPOO9B+ATNzsxbmSjwFPgjNdhVM=" xmlns:cfdi="http://www.sat.gob.mx/cfd/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <cfdi:Emisor rfc="AAA010101AAA" nombre="La Empresa Inválida, S.A. de C.V.">
 <cfdi:DomicilioFiscal calle="Domicilio Conocido" noExterior="201" noInterior="A" colonia="Col. Industrial San Antonio" localidad="México" referencia="Entre Calle 1 y Calle 2" municipio="Azcapotzalco" estado="Distrito Federal" pais="México" codigoPostal="02760"/>
 <cfdi:ExpedidoEn calle="Domicilio Conocido de la Sucursal" noExterior="205" colonia="Col. Industrial San Antonio" localidad="México" municipio="Azcapotzalco" estado="Distrito Federal" pais="México" codigoPostal="02760"/>
 <cfdi:RegimenFiscal Regimen="Regimen General de Ley"/>
 </cfdi:Emisor>
 <cfdi:Receptor rfc="MSU820125TS9" nombre="Médica Sur, S.A. de C.V.">
 <cfdi:Domicilio calle="Puente de Piedra" noExterior="150" noInterior="1A" colonia="Toriello Guerra" localidad="México" referencia="Entre Alamos y Claverìa" municipio="Tlalpan" estado="Distrito Federal" pais="México" codigoPostal="14050"/>
 </cfdi:Receptor>
 <cfdi:Conceptos>
 <cfdi:Concepto cantidad="10" unidad="Pieza" noIdentificacion="COD_001" descripcion="Coca-Cola 3 Litros" valorUnitario="25.00" importe="250.00"/>
 <cfdi:Concepto cantidad="10" unidad="Pieza" noIdentificacion="COD_002" descripcion="Botanas" valorUnitario="25.00" importe="250.00"/>
 <cfdi:Concepto cantidad="5" unidad="Pieza" noIdentificacion="COD_003" descripcion="Carnes Frias y Quesos" valorUnitario="50.00" importe="250.00"/>
 <cfdi:Concepto cantidad="5" unidad="Pieza" noIdentificacion="COD_004" descripcion="Torres 10" valorUnitario="250.00" importe="1250.00"/>
 <cfdi:Concepto cantidad="2" unidad="Pieza" noIdentificacion="COD_005" descripcion="Bolsas de hielo" valorUnitario="25.00" importe="50.00"/>
 </cfdi:Conceptos>
 <cfdi:Impuestos totalImpuestosRetenidos="375.00" totalImpuestosTrasladados="274.00">
 <cfdi:Retenciones>
 <cfdi:Retencion impuesto="IVA" importe="125.00"/>
 <cfdi:Retencion impuesto="ISR" importe="250.00"/>
 </cfdi:Retenciones>
 <cfdi:Traslados>
 <cfdi:Traslado impuesto="IVA" tasa="16.00" importe="250.00"/>
 <cfdi:Traslado impuesto="IVA" tasa="0.00" importe="0.00"/>
 <cfdi:Traslado impuesto="IEPS" tasa="2.00" importe="6.00"/>
 <cfdi:Traslado impuesto="IEPS" tasa="3.00" importe="8.00"/>
 <cfdi:Traslado impuesto="IEPS" tasa="4.00" importe="10.00"/>
 </cfdi:Traslados>
 </cfdi:Impuestos>
 <cfdi:Complemento>
 <tfd:TimbreFiscalDigital xsi:schemaLocation="http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/TimbreFiscalDigital/TimbreFiscalDigital.xsd" version="1.0" UUID="0154321C-517D-4418-AD9A-AE3FE862CAB6" FechaTimbrado="2015-08-17T23:32:33" selloCFD="JP+CLMcV04bI3/kGxPwSJABWIIbwURc7LVszDjT5D+JCEk2GbiUD4waW1QXY2kYVdYg3LIHUoWmS1Bszrw90WvpqIFkcsjX3d/4FcPwWIuXZRUiGGwxPUgKbhQigx0XbnNjy+1G8/6WvTsXdcPOO9B+ATNzsxbmSjwFPgjNdhVM=" noCertificadoSAT="20001000000100005761" selloSAT="WFgs8UV9KJIHzs9QuKo8vRsFeVzg52SJmYDweugIJqIuI95DzlIxAKu5nm5kYrBiMZkfsxKTPd1dmqRKa4XS2gXFzrHoU3KGEfMWw47eOomYfIobKTcRbyqaE/gljHxJ+J+1JeWpq5YPsT9/TpoV6rVCvrShqcrhu+0DHIM8/jc=" xmlns:tfd="http://www.sat.gob.mx/TimbreFiscalDigital"/>
 </cfdi:Complemento>
</cfdi:Comprobante>

 

2.- Imagen con el Codigo de Barras Bidimencional (CBB) en formato BMP o PNG:

Código de Barras Bidimencional (CBB)

 

3.- Archivo en formato INI o TXT con la información del timbrado:

[Factura_Electronica]
nError=0
Desc_Error=
Version=3.2
Cadena_Original=||3.2|2015-08-17T23:28:16|ingreso|Pago en una sola exhibición|Contado|11052.28|205.00|1.000|MXP|10746.28|TARJETA DE CREDITO|México, D.F.|9658|123|AB|2012-12-12T12:12:12|50000.00|AAA010101AAA|La Empresa Inválida, S.A. de C.V.|Domicilio Conocido|201|A|Col. Industrial San Antonio|México|Entre Calle 1 y Calle 2|Azcapotzalco|Distrito Federal|México|02760|Domicilio Conocido de la Sucursal|205|Col. Industrial San Antonio|México|Azcapotzalco|Distrito Federal|México|02760|Regimen General de Ley|MSU820125TS9|Médica Sur, S.A. de C.V.|Puente de Piedra|150|1A|Toriello Guerra|México|Entre Alamos y Claverìa|Tlalpan|Distrito Federal|México|14050|10|Pieza|COD_001|Coca-Cola 3 Litros|25.00|250.00|10|Pieza|COD_002|Botanas|25.00|250.00|5|Pieza|COD_003|Carnes Frias y Quesos|50.00|250.00|5|Pieza|COD_004|Torres 10|250.00|1250.00|2|Pieza|COD_005|Bolsas de hielo|25.00|50.00|IVA|125.00|ISR|250.00|375.00|IVA|16.00|250.00|IVA|0.00|0.00|IEPS|2.00|6.00|IEPS|3.00|8.00|IEPS|4.00|10.00|274.00||
NumCertificado=20001000000100005876
CertStr_Base64=MIIEdTCCA12gAwIBAgIUMjAwMDEwMDAwMDAxMDAwMDU4NzYwDQYJKoZIhvcNAQEFBQAwggFvMRgwFgYDVQQDDA9BLkMuIGRlIHBydWViYXMxLzAtBgNVBAoMJlNlcnZpY2lvIGRlIEFkbWluaXN0cmFjacOzbiBUcmlidXRhcmlhMTgwNgYDVQQLDC9BZG1pbmlzdHJhY2nDs24gZGUgU2VndXJpZGFkIGRlIGxhIEluZm9ybWFjacOzbjEpMCcGCSqGSIb3DQEJARYaYXNpc25ldEBwcnVlYmFzLnNhdC5nb2IubXgxJjAkBgNVBAkMHUF2LiBIaWRhbGdvIDc3LCBDb2wuIEd1ZXJyZXJvMQ4wDAYDVQQRDAUwNjMwMDELMAkGA1UEBhMCTVgxGTAXBgNVBAgMEERpc3RyaXRvIEZlZGVyYWwxEjAQBgNVBAcMCUNveW9hY8OhbjEVMBMGA1UELRMMU0FUOTcwNzAxTk4zMTIwMAYJKoZIhvcNAQkCDCNSZXNwb25zYWJsZTogSMOpY3RvciBPcm5lbGFzIEFyY2lnYTAeFw0xMjA3MjcxNzAyMjZaFw0xNjA3MjcxNzAyMjZaMIHcMSkwJwYDVQQDEyBBQ0NFTSBTRVJWSUNJT1MgRU1QUkVTQVJJQUxFUyBTQzEpMCcGA1UEKRMgQUNDRU0gU0VSVklDSU9TIEVNUFJFU0FSSUFMRVMgU0MxKTAnBgNVBAoTIEFDQ0VNIFNFUlZJQ0lPUyBFTVBSRVNBUklBTEVTIFNDMSUwIwYDVQQtExxBQUEwMTAxMDFBQUEgLyBIRUdUNzYxMDAzNFMyMR4wHAYDVQQFExUgLyBIRUdUNzYxMDAzTURGUk5OMDkxEjAQBgNVBAsTCVVuaWRhZCAxMDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAuV/D53jWllewr8uPCOZmPAAU1CZkrQt9Ha+vLIf1n5tMEku8TxjpTmDnpgv5woSEbqHCrMZ8OCZtUixZWQmaViZFwo5aXD0YmBCicE++enBlpqbwMSHN/kvdtiQU6PowF44w+/bIuBf3Z5yMsmTuj39nfuoD04oPnvt+4Ebayv0CAwEAAaMdMBswDAYDVR0TAQH/BAIwADALBgNVHQ8EBAMCBsAwDQYJKoZIhvcNAQEFBQADggEBAHpGBj9KLYe5wNTyvnCKTcTfWUu1R+KwCOkvNi3sAB067Y56PMxBGLaWJyr0Hb/ElRqdhpFeo1yCVa1POBQcKCfOGzQXaR0x/89cUkoruPyrlRO7LOFmCOc/OhwZkSQik96d+2xqM8JUUH6AG8DP3HfdTxR+43JVA1v1QgqSYLhqChj65NEV1vfDNJQesI0qIRcaE9wIcr746zS0pCd+ixWVrhPLWRn3yVV160uXxVlA23QJf5n2i//B7ejjCsa1bh+T2jVYYJtrTdm5bppE2s2AMjDFvWpGzw7YH9GNZ/F5w0v0KZMgnwPB3ABzhcTanAJq1+zQ3vsGMBePc3805JU=
Cert_FechaInicio=27/07/2012
Cert_FechaFin=27/07/2016
Sello_Digital=JP+CLMcV04bI3/kGxPwSJABWIIbwURc7LVszDjT5D+JCEk2GbiUD4waW1QXY2kYVdYg3LIHUoWmS1Bszrw90WvpqIFkcsjX3d/4FcPwWIuXZRUiGGwxPUgKbhQigx0XbnNjy+1G8/6WvTsXdcPOO9B+ATNzsxbmSjwFPgjNdhVM=
Serie=AB
Folio=12345
UUID_(Timbre)=0154321C-517D-4418-AD9A-AE3FE862CAB6
Certificado_SAT=20001000000100005761
Sello_SAT=WFgs8UV9KJIHzs9QuKo8vRsFeVzg52SJmYDweugIJqIuI95DzlIxAKu5nm5kYrBiMZkfsxKTPd1dmqRKa4XS2gXFzrHoU3KGEfMWw47eOomYfIobKTcRbyqaE/gljHxJ+J+1JeWpq5YPsT9/TpoV6rVCvrShqcrhu+0DHIM8/jc=
Fecha_Timbrado=2015-08-17T23:32:33
Cadena_Timbre_digital=||1.0|0154321C-517D-4418-AD9A-AE3FE862CAB6|2015-08-17T23:32:33|JP+CLMcV04bI3/kGxPwSJABWIIbwURc7LVszDjT5D+JCEk2GbiUD4waW1QXY2kYVdYg3LIHUoWmS1Bszrw90WvpqIFkcsjX3d/4FcPwWIuXZRUiGGwxPUgKbhQigx0XbnNjy+1G8/6WvTsXdcPOO9B+ATNzsxbmSjwFPgjNdhVM=|20001000000100005761||&amp;amp;amp;lt;/pre&amp;amp;amp;gt;

 

Cancelar CFDI

 

A continuación se muestra como cancelar un CFDI desde VFP:

 

Inicio del proceso

Variables involucradas en el proceso.

LOCAL cXmlTmp
LOCAL cTmpFile
LOCAL cCertFile
LOCAL cKeyFile
LOCAL cKeyPass
LOCAL cResultado
LOCAL cUUID
LOCAL cLicenciaDLL

 

Folio Fiscal.

Capturamos los datos del comprobante a cancelar:

* Establece el UUID para cancelar...
cUUID = 'C07E64CE-C48E-4945-B017-B8E27C21007A'

* Nombre del archivo temporal generado a través de la plantilla.
cTmpFile = DirPrg + '\Cancelar_CFDI.tmp'

* Archivo de certificado CER (CSD)
cCertFile = DirPrg + '\aaa010101aaa__csd_10.cer'

* Archivo de llave privada KEY (CSD)
cKeyFile = DirPrg + '\aaa010101aaa__csd_10.key'

* Contraseña llave privada (CSD)
cKeyPass = '12345678a'

* Nombre del archivo de respuesta en formato INI
* NOTA: Se recomienda usar rutas absolutas.
cResultado = DirPrg + '\R_Cancelacion.ini'

 

Cancelar CFDI.

Por último se invoca a la función para cancelar el CFDI y es todo.

* Cancela el comprobante.
 Cancelar_CFDI(cTmpFile)

 

Al terminar el proceso se crean 3 archivos:

 

 1.- Acuse de cancelación del SAT en formato XML.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><acuse xmlns="http://cancelacfd.sat.gob.mx" xmlns:ns2="http://www.w3.org/2000/09/xmldsig#" RfcEmisor="AAA010101AAA" Fecha="2014-09-15T11:04:06.4317633"><Folios><UUID>C07E64CE-C48E-4945-B017-B8E27C21007A</UUID><EstatusUUID>201</EstatusUUID></Folios><ns2:Signature Id="SelloSAT"><ns2:SignedInfo><ns2:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><ns2:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#hmac-sha512"/><ns2:Reference URI=""><ns2:Transforms><ns2:Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116"><ns2:XPath>not(ancestor-or-self::*[local-name()='Signature'])</ns2:XPath></ns2:Transform></ns2:Transforms><ns2:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha512"/><ns2:DigestValue>EkWBIJaH+lEDA4H0GA7g9hZZUl5wn2xsMAYmhp4QuV6C+oExb02e4XFzZ/31O7loehTtFYK0t3k1xr/ajSDM3A==</ns2:DigestValue></ns2:Reference></ns2:SignedInfo><ns2:SignatureValue>38dRLqZcqAHmzjO6cglOzyc3PgeM3JeJnXFjx8T7AnDGsrxyshaz3glxqkbybEtq33i8BfGvRiPPsth72Oh+IQ==</ns2:SignatureValue><ns2:KeyInfo><ns2:KeyName>00001088888800000093</ns2:KeyName><ns2:KeyValue><ns2:RSAKeyValue><ns2:Modulus>yxMvUucuS+s3aeWTFZvJrrFWIdes7kIDJmO7DA5DP+ZTapofNt37fgeIHlTUdAVvd/fDKhfiwNSh+vbrNbD58X3UEdQor3ngb6zpjrDjgYsedckPLv6fro4DO0NXLCdALFqhN8ARyX77kYBnvIj1fOSVp401Vc3urLUtiEm16Kle3tOyWhfjgFzdK3oAIXF8oeei/GburWbJnpP+NeGaHVE5bkxLCBp5757nKVonXwzpfpEGuBp204NGkI2/jyA2EH8wyRN4yUvzjT7IJYrHng23klRDlJoRYwa98QQPdQSTpcrlNu8nLhpQdI/zMTLoNF2NiBCkQNuAMacKhnvlVw==</ns2:Modulus><ns2:Exponent>AQAB</ns2:Exponent></ns2:RSAKeyValue></ns2:KeyValue></ns2:KeyInfo></ns2:Signature></acuse>

 

2.-  Información del acuse de cancelación en formato TXT.

===========================================================================================
[Servidor de pruebas] OK - Autenticación correcta, verifique los resultados por comprobante
===========================================================================================

Estatus de respuesta del SAT para el comprobante que se envió a cancelación: 

 Código de respuesta del SAT: 201
 Fecha de la operación: 2014-09-15T11:04:06.4317633
 R.F.C Emisor: AAA010101AAA
 Acuse: 38dRLqZcqAHmzjO6cglOzyc3PgeM3JeJnXFjx8T7AnDGsrxyshaz3glxqkbybEtq33i8BfGvRiPPsth72Oh+IQ==
 Digest: EkWBIJaH+lEDA4H0GA7g9hZZUl5wn2xsMAYmhp4QuV6C+oExb02e4XFzZ/31O7loehTtFYK0t3k1xr/ajSDM3A==
 Certificado: 00001088888800000093
 UUID: C07E64CE-C48E-4945-B017-B8E27C21007A

 

3.- Archivo en formato INI o TXT con la información del proceso de cancelación:

[Cancelar_Factura_Electronica]
nError=0
Desc_Error=
UUID=C07E64CE-C48E-4945-B017-B8E27C21007A
Servidor=[Servidor de pruebas] OK - Autenticación correcta.
Respuesta_SAT=201
Fecha_Op=2014-09-15T11:04:06.4317633
RFC_Emisor=AAA010101AAA
Acuse=38dRLqZcqAHmzjO6cglOzyc3PgeM3JeJnXFjx8T7AnDGsrxyshaz3glxqkbybEtq33i8BfGvRiPPsth72Oh+IQ==
Digest=EkWBIJaH+lEDA4H0GA7g9hZZUl5wn2xsMAYmhp4QuV6C+oExb02e4XFzZ/31O7loehTtFYK0t3k1xr/ajSDM3A==
Certificado=00001088888800000093

 

(c) Derechos reservados 2011-2017, FacturaRapida.com.mx.

* Para más información envíe por favor un correo a: 

Firma


Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

42 ideas sobre “Factura Electrónica en Foxpro

  • Magdalena Mata

    Buen dia, pueden proporcionarme un demo de la libreria, tenemos un sistema desarrollado en foxpro y necesito implementar el servicio de timbrado cuanto antes, y poder consumir sus servicios,
    Saludos

  • jorge mireles

    Hola buenas tardes.

    estoy interesado en adquirir su libreria, necesito saber su precio, asi como tambien si funciona en multi rfc, o si es una libreria x rfc, asi como tambien si existe una version demo, para usar antes de comprar.

    gracias x su tiempo, espero que me puedan responder.

    saludos

    • Administrador Autor

      Estimado Jorge,

      Gracias por su escribirnos, hemos enviado la información a su correo y el enlace para descargar el demo de la librería.

      Asimismo le comento que por medio de una cuenta de usuario puede dar de alta con el PAC un número ilimitado de RFC.

      Un cordial saludo.

    • Administrador Autor

      Gracias por su interés, hemos enviado toda la información a su correo.

      Asimismo, le comento que la librería DLL es 100% compatible con VB.NET v2008.

      Un cordial saludo.

  • Candelario altamirano

    Buenos Dias
    Me gustaria conocer si su libreria para visual foxpro 9, genera los timbres aplicados a facturas, notas de credito, devolucioes sobre ventas, nominas y si es actualizable a las disposiciones de timbre que el SAT nos solicite.

    de antemano muchas gracias

    • Administrador Autor

      Estimado Candelario,

      Gracias por escribirnos, efectivamente con la Librería DLL puede generar los siguientes documentos:

      * Facturas (a Público en General y con IVA desglosado)
      * Facturas con pedimentos de importación.
      * Notas de Crédito / Cargo
      * Recibos de Nómina.
      * Recibos de Honorarios y Arrendamiento.
      * Recibos IEDU.
      * Cartas Porte.

      Además puede utilizar los siguiente complementos:

      * Impuestos locales
      * Terceros
      * Vehicular

      Asimismo, incluye 1 año de soporte técnico que incluye mejoras y cambios mínimos al esquema de facturación.

      En el caso de reformas o modificaciones mayores se cobra una actualización que generalmente tiene un costo aproximado del 20% del producto completo.

      Le hemos enviado toda la información a su correo.

      Reciba un cordial saludo.

    • Administrador Autor

      Estimado Victor Hugo,

      Gracias por su interés, efectivamente la librería genera el XML firmado, sellado y timbrado.

      Le hemos enviado toda la información a su correo.

      Un cordial saludo.

  • Juan Antonio Sandoval

    Hola, buenos días.
    Me puedes enviar mas información sobre la librería por favor. Estoy usando Visual Foxpro 8.
    Vi los ejemplos, pero me queda la duda de que estructura tiene el archivo de entrada, y cual es la diferencia entre «Generar» y «Timbrar» CFDI.
    Gracias.

    • Administrador Autor

      Estimado Juan Antonio,

      Gracias por escribirnos, le explico a continuación la diferencia entre ambas funciones:

      GenerarCFDI()

      Esta función realiza todo el proceso desde la generación del XML, firmado, sellado y timbrado de forma automática hasta la generación del Código de Barras Bidimencional.(CBB).

      Adicionalmente genera un archivo en formato INI o TXT con las variables del timbrado para la representación impresa.

      TimbrarCFDI()

      Cuando el Desarrollador ya genera el XML ya sea a través de una librería de terceros o por su cuenta, puede timbrar el XML por medio de esta función.

      Esta función valida opcionalmente el XML contra el XSD del SAT para garantizar que la estructura y los datos internos sean correctos.

      Asimismo le hemos enviado los nuevos ejemplos de uso para Visual FoxPro (VFP)

      Un cordial saludo.

    • Factura Rápida Autor

      Estimado Claudio,

      Le hemos enviado el ejemplo de uso para generar los recibos de nómina con VFP.

      Muchas gracias por su compra, estamos a sus ordenes.

      Saludos.

  • jorge alfredo aquino alvarado

    Muy buenas tardes, Tengo un punto de venta en foxpro, donde se en las bases de datos se almacenan los productos e impuestos, quisiera saber si hay alguna forma de conectar mi sistema a un modulo para facturar con los mismos datos que tengo en mi base de datos y obtener la factura en el mismo momento uso foxpro 9, al igual una pequeña explicación de como instalarlo o aplicarlo

    • Factura Rápida Autor

      Jorge:

      Gracias por su interés, le comento que de momento los productos y servicios que ofrece Factura Rápida, funcionan de acuerdo con las leyes vigentes del Sistema de Administración Tributaria (SAT) de México, en breve contaremos con productos para otros países de america latina.

      Un cordial saludo.

    • Factura Rápida Autor

      Estimado Manuel,

      Gracias por su interés, le comento que de momento los productos y servicios que ofrece Factura Rápida, funcionan de acuerdo con las leyes vigentes conforme al Sistema de Administración Tributaria (SAT) de México, en breve contaremos con productos para otros países de america latina.

      Un cordial saludo.

    • Factura Rápida Autor

      Estimado Fernando,

      Gracias por su interés, le comento que de momento los productos y servicios que ofrece Factura Rápida, funcionan de acuerdo con la legislación fiscal vigente de México (SAT), en breve contaremos con productos para otros países de América Latina..

      Un cordial saludo.

    • Factura Rápida Autor

      Estimado Jesús,

      Gracias por visitarnos, hemos enviado toda la información del Servicio de Timbrado y las opciones de integración para VFP.

      Un cordial saludo.

  • Miguel Reyes

    El código del ejemplo de generar cfdi se inserta en un .prg ó en un formulario? deseo mas información, yo desarrollo en visual foxpro y deseo tener control sobre mis facturas internas, pero poder timbrarlas y generar xml y pdf..

    • Factura Rápida Autor

      Estimado Miguel,

      Gracias por escribirnos, hemos enviado toda la información a su correo.

      Le informo que contamos con los ejemplos para Visual FoxPro 9.0 muy sencillos de integrar.

      Se proporcionan los PRG’s con las rutinas necesarias para generar de una forma muy sencilla el XML sellado, firmado y timbrado.

      Reciba un cordial saludo

  • Enrique Padilla

    Buenas tardes, Tengo Un sistema Para COntrol de Hoteles. En VFP 9.0 y Necesito Generar la Facturación. me Podria enviar Informacion. Sobre esta Libreria,
    Gracias

    • Factura Rápida Autor

      Estimado Enrique,

      Hemos enviado la información de contratación para el timbrado.

      Muchas gracias por su confianza en nuestros productos y servicios.

      Cualquier duda, estamos a sus órdenes.

    • Factura Rápida Autor

      Estimado Ubaldo,

      Gracias por su interés, le comento que los ejemplos de integración se proporcionan para uso exclusivo de nuestros productos, no es posible usar el código fuente de forma parcial o total con otras herramientas o componentes de terceros.

      Un cordial saludo.

  • Hector Fabio Vanegas Garzon

    Buenas noches. Me pueden enviar información acerca de la libreria y del proceso de implementacion para colombia con un sotware desarrollado en vfp9. Gracias

    • Factura Rápida Autor

      Estimado Hector,

      Gracias por su interés, le comento que de momento los productos y servicios que ofrece Factura Rápida, funcionan de acuerdo con la legislación fiscal vigente de México (SAT), en breve contaremos con productos para otros países de América Latina..

      Un cordial saludo.