Factura Electrónica en Visual Basic.Net 39


Factura Electrónica en Visual Basic.Net

La librería Gen_CFDI.DLL es 100% compatible con Microsoft® Visual Basic .NET (VB.NET) v2005 – 2019

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 CFDI v3.3 de integración para factura electrónica en Visual Basic.Net (incluye código fuente), el cual le permite generar de una manera muy sencilla los siguientes documentos:

Factura Electrónica en Visual Basic.Net

  • 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 v1.2.

  • Recepción de Pagos v1.0.

  • Divisas

 

A continuación se muestra como generar una factura electrónica en Visual Basic.Net:

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
Private aParametros As String() = New String(3) {}
' Comprobante (Serie, Folio, forma de pago, etc...)
Private aComprobante As String() = New String(14) {}
' CfdiRelacionado (UUID) precisa la información de los comprobantes relacionados.
Private aCfdiRelacionado As String() = New String(50) {}
' Emisor (Nombre, RFC, Regimen Fiscal)
Private aEmisor As String() = New String(2) {}
' Receptor (Nombre, RFC, UsoCFDI)
Private aReceptor As String() = New String(4) {}
' Datos de los conceptos, por defecto 1000 Conceptos (ampliar segun se requiera) / 9 atributos
Private aConceptos As String(,) = New String(1000, 9) {}
' Datos de los Impuestos Traslado, por defecto 1000 Conceptos (ampliar segun se requiera) / 5 atributos
Private aConceptosTraslado As String(,,) = New String(1000, 20, 4) {}
' Datos de los Impuestos Retencion, por defecto 1000 Conceptos (ampliar segun se requiera) / 5 atributos
Private aConceptosRetencion As String(,,) = New String(1000, 2, 4) {}
' Datos del complemento IEDU / 6 atributos.
Private aIEDU As String(,) = New String(1000, 5) {}
' Datos para el TotalImpuestosRetenidos y TotalImpuestosTrasladados
Private aImpuestos As String() = New String(1) {}
' Importes para ISR e IVA (Retenciones)
' Datos Retencion, por defecto 14 tasas / rangos (ampliar segun se requiera) / 2 atributos 
Private aRetencion As String(,) = New String(13, 1) {}
' Datos del IVA, por defecto 3 tasas / rangos (ampliar segun se requiera) / 4 atributos 
Private aTraslado As String(,) = New String(2, 3) {}
' Datos del IEPS, por defecto 14 tasas / rangos (ampliar segun se requiera) / 4 atributos
Private aIEPS As String(,) = New String(13, 3) {}

 

Comprobante.

Capturamos los datos del Comprobante:

' Datos del comprobante
aComprobante(0) = "3.3"                             ' Versión del estandar CFDI
aComprobante(1) = "AB"                              ' Serie
aComprobante(2) = "12345"                           ' Folio
aComprobante(3) = FechaActual()                     ' Fecha y hora
aComprobante(4) = "01"                              ' Forma de Pago (Catálogo: c_FormaPago)
aComprobante(5) = ""                                ' Condiciones de pago
aComprobante(6) = "350.00"                          ' SubTotal
aComprobante(7) = ""                                ' Descuento
aComprobante(8) = "MXN"                             ' Moneda (Catálogo: c_Moneda)
aComprobante(9) = ""                                ' Tipo de Cambio 
aComprobante(10) = "406.00"                         ' TOTAL
aComprobante(11) = "I"                              ' Tipo de Comprobante (Catálogo: c_TipoDeComprobante)
aComprobante(12) = "PUE"                            ' Método de Pago (Catálogo: c_MetodoPago)
aComprobante(13) = "11000"                          ' Lugar de expedición (Catálogo: c_CodigoPostal)
aComprobante(14) = ""                               ' Confirmación.

' Datos del CFDI Relacionado
cCfdiTipoRelacion = ""                              ' Tipo de Relacion (Catálogo: c_TipoRelacion)
aCfdiRelacionado(0) = ""                            ' Folio fiscal (UUID) de un CFDI relacionado.

 

Emisor.

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

' Datos del Emisor
aEmisor(0) = "TME960709LR2"                            ' RFC del emisor
aEmisor(1) = "La Empresa Inválida, S.A. de C.V."       ' Nombre del emisor
aEmisor(2) = "601"                                     ' Régimen Fiscal (Catálogo: c_RegimenFiscal)

 

Receptor.

Se capturan los datos del Receptor (Cliente):

' Datos del Receptor
aReceptor(0) = "XAXX010101000"                         ' RFC
aReceptor(1) = "Nombre o Razon Social del Cliente"     ' Nombre Cliente
aReceptor(2) = ""                                      ' ResidenciaFiscal
aReceptor(3) = ""                                      ' NumRegIdTrib 
aReceptor(4) = "G01"                                   ' UsoCFDI (Catálogo: c_UsoCFDI)

 

Conceptos.

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

' Concepto / Impuestos / Traslados / Traslado
' 1
aConceptos(0, 0) = "50202306"                          ' Clave Producto Servicio (Catálogo: c_ClaveProdServ)
aConceptos(0, 1) = "COD_001"                           ' Clave o código del producto (NoIdentificacion)
aConceptos(0, 2) = "10"                                ' Cantidad
aConceptos(0, 3) = "H87"                               ' Clave Unidad de medida (Catálogo: c_ClaveUnidad)
aConceptos(0, 4) = "Pieza"                             ' Unidad de medida
aConceptos(0, 5) = "Refresco 3 Litros"                 ' Descripción del producto
aConceptos(0, 6) = "25.00"                             ' Importe unitario
aConceptos(0, 7) = "250.00"                            ' Importe Total
aConceptos(0, 8) = ""                                  ' Descuento. Debe registrarse cuando el concepto efectivamente tenga algún descuento de lo contrario omitir.

' Concepto / Impuestos / Traslados / Traslado
aConceptosTraslado(0, 0, 0) = "250.00"                 ' Base para el cálculo del impuesto
aConceptosTraslado(0, 0, 1) = "002"                    ' Clave impuesto trasladado (Catálogo: c_Impuesto)
aConceptosTraslado(0, 0, 2) = "Tasa"                   ' Clave tipo de factor (Catálogo: c_TipoFactor)
aConceptosTraslado(0, 0, 3) = "0.160000"               ' Tasa o cuota del impuesto
aConceptosTraslado(0, 0, 4) = "40.00"                  ' Importe del impuesto

' 2
aConceptos(1, 0) = "50202302"                          ' Clave Producto Servicio (Catálogo: c_ClaveProdServ)
aConceptos(1, 1) = "COD_002"                           ' Clave o código del producto (NoIdentificacion)
aConceptos(1, 2) = "4"                                 ' Cantidad
aConceptos(1, 3) = "H87"                               ' Clave Unidad de medida (Catálogo: c_ClaveUnidad)
aConceptos(1, 4) = "Pieza"                             ' Unidad de medida
aConceptos(1, 5) = "Bolsas de hielo"                   ' Descripción del producto
aConceptos(1, 6) = "25.00"                             ' Importe unitario
aConceptos(1, 7) = "100.00"                            ' Importe Total
aConceptos(1, 8) = ""                                  ' Descuento

' Concepto / Impuestos / Traslados / Traslado
aConceptosTraslado(1, 0, 0) = "100.00"                 ' Base para el cálculo del impuesto
aConceptosTraslado(1, 0, 1) = "002"                    ' Clave impuesto trasladado (Catálogo: c_Impuesto)
aConceptosTraslado(1, 0, 2) = "Tasa"                   ' Clave tipo de factor (Catálogo: c_TipoFactor)
aConceptosTraslado(1, 0, 3) = "0.160000"               ' Tasa o cuota del impuesto
aConceptosTraslado(1, 0, 4) = "16.00"                  ' Importe del impuesto

' .fin conceptos

 

Impuestos y retenciones.

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

' Total de Impuestos
aImpuestos(0) = ""                                     ' Total de los impuestos retenidos
aImpuestos(1) = "56.00"                                ' Total de los impuestos trasladados

aTraslado(0, 0) = "002"                                ' Clave impuesto trasladado (Catálogo: c_Impuesto)
aTraslado(0, 1) = "Tasa"                               ' Clave tipo de factor (Catálogo: c_TipoFactor)
aTraslado(0, 2) = "0.160000"                           ' Tasa o cuota del impuesto
aTraslado(0, 3) = "56.00"                              ' Importe del impuesto

 

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" encoding="utf-8"?>
<cfdi:Comprobante xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv33.xsd" Version="3.3" Serie="AB" Folio="12345" Fecha="2018-05-13T23:16:33" Sello="MLjAx8wmEIv9bNJY1afJz5BfWxYH00BHNYixEXCyNGkcwZOXG+x3TdU/c9kDhcpUyoI7Mr2K1bP0fx6sRnM4DhdGiJ6qkIzIGJjo02tqgY1YfIjT3U3Q7D599AynP0yqlsQ1BNiFDPJbVmY8/BLYLCEn7942kOXBLmKOWiBHpBgtCH/nzmPlQTlFzAwZ7fxHyxkMLNoH8ddRwgXLgPvYtdkUt4nKcPL2OjZyqcw4I6lMdAE91e7zNPHiXyyasatQm9OpXI5GqL1AW80XBxSmKQ/fcxVwGzFggmQVPyg/s7kVHGesXmUmY+QklGcHCmmtfqwiWmu2ki6iL4rElYQwlQ==" FormaPago="01" NoCertificado="20001000000300022763" Certificado="MIIFzDCCA7SgAwIBAgIUMjAwMDEwMDAwMDAzMDAwMjI3NjMwDQYJKoZIhvcNAQELBQAwggFmMSAwHgYDVQQDDBdBLkMuIDIgZGUgcHJ1ZWJhcyg0MDk2KTEvMC0GA1UECgwmU2VydmljaW8gZGUgQWRtaW5pc3RyYWNpw7NuIFRyaWJ1dGFyaWExODA2BgNVBAsML0FkbWluaXN0cmFjacOzbiBkZSBTZWd1cmlkYWQgZGUgbGEgSW5mb3JtYWNpw7NuMSkwJwYJKoZIhvcNAQkBFhphc2lzbmV0QHBydWViYXMuc2F0LmdvYi5teDEmMCQGA1UECQwdQXYuIEhpZGFsZ28gNzcsIENvbC4gR3VlcnJlcm8xDjAMBgNVBBEMBTA2MzAwMQswCQYDVQQGEwJNWDEZMBcGA1UECAwQRGlzdHJpdG8gRmVkZXJhbDESMBAGA1UEBwwJQ295b2Fjw6FuMRUwEwYDVQQtEwxTQVQ5NzA3MDFOTjMxITAfBgkqhkiG9w0BCQIMElJlc3BvbnNhYmxlOiBBQ0RNQTAeFw0xNjEwMjEyMDU0MDFaFw0yMDEwMjEyMDU0MDFaMIG4MRwwGgYDVQQDExNJTk1PQiBFRE1BIFNBIERFIENWMRwwGgYDVQQpExNJTk1PQiBFRE1BIFNBIERFIENWMRwwGgYDVQQKExNJTk1PQiBFRE1BIFNBIERFIENWMSUwIwYDVQQtExxUTUU5NjA3MDlMUjIgLyBIRUdUNzYxMDAzNFMyMR4wHAYDVQQFExUgLyBIRUdUNzYxMDAzTURGUk5OMDkxFTATBgNVBAsUDFBydWViYXNfQ0ZESTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJgqZ+ezJyeJXACMK8ehFp64ecAl8jfYKB4xMJy0RRb+qXKRewxtLojiTFECWdCx283tEkdHUj8bLzsCfFAMnsP2G4CS2aE2/1LLCHoZpdImaasLX1YJL2bUzxKQKi+RlL63M49yyfvGBjEgG7f6TMwVSUSbgDFpYAFHqx4LK+p2GVHuUUzoiIm8xRYaW1YPMa457be5W8wsjw0nGRLfo8hRIjPHedkwtcqYPj57xsPXMfxWP45vOlW7GuLkMq/ECccHxJiPitiThcDFKlf/mAR0kaux9LTffvWilA2uQAlyVyNVjqfdpvDdq4ycTaoIMYKrv/9R31dQ0AmdXT8cfbcCAwEAAaMdMBswDAYDVR0TAQH/BAIwADALBgNVHQ8EBAMCBsAwDQYJKoZIhvcNAQELBQADggIBAF5kwvyBUp7Ad99DktzEhrJwnMQyhA79sVc4Ns2SpLON/cV244ZnG5hgXk2awKbHEiSj/ke7EhgEpGS818ERsj7eW/wRgugBZraVn48GOn6qX0uV9EjwWEGK5uT6IDN25igeXxVJHP3hn40fX2BPqsaqRP49YMxcOWD7mhWRh2E6BnoKYjgHVJbavUN6pjCBLmy4hKwfitbjqtUiiWOmBDvvmLFpEGXG8OXn2xladBUkfC4sfgMBpVZVuEV7RqAgCSCZ2xo6UEyd4KKpTjbdp0Tj5gw+NmiovAZHwU/NPRojN95f/ibj7268LBr2DcO5rlmr7szwJ3dtwu86N7HkUxW3vo3qGHTVK2HRBArda9VN4pEyIL0Qt46ci5rFYXB2cCWU8XAh8gaZnxJoNTSY4A4yMJG9UfM/2rHC+YvOouIZ2kJZ2h+SwKOYGJOX749P/QeF4Z/L/ODs3E08bV7IQna1ZHmd6ydYhZVpheMgNoNnIG6jdzfyuo8NZAIIW/JGmPTANPCwTSHqBY1lmnp/oZNrkxGWtGhbltRfBoFQfTqCZALm6fsVeQqHQ6a7W45FJ2RD1nltPSdniMo3Iz/t4eHCjFvM3aORvA9oJEPr5ZzzBV2fQOXkyS8QdsSVb5ZmJG+FqZKKlsiaX6xhqK6gqTLyJN+7/yr9T/ZZ4M7VrRoL" SubTotal="350.00" Moneda="MXN" Total="406.00" TipoDeComprobante="I" MetodoPago="PUE" LugarExpedicion="11000" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cfdi="http://www.sat.gob.mx/cfd/3">
	<cfdi:Emisor Rfc="TME960709LR2" Nombre="ENTORNO DE DESARROLLO" RegimenFiscal="601"/>
	<cfdi:Receptor Rfc="XAXX010101000" Nombre="Nombre o Razon Social del Cliente" UsoCFDI="G01"/>
	<cfdi:Conceptos>
		<cfdi:Concepto ClaveProdServ="50202306" NoIdentificacion="COD_001" Cantidad="10" ClaveUnidad="H87" Unidad="Pieza" Descripcion="Refresco 3 Litros" ValorUnitario="25.00" Importe="250.00">
			<cfdi:Impuestos>
				<cfdi:Traslados>
					<cfdi:Traslado Base="250.00" Impuesto="002" TipoFactor="Tasa" TasaOCuota="0.160000" Importe="40.00"/>
				</cfdi:Traslados>
			</cfdi:Impuestos>
		</cfdi:Concepto>
		<cfdi:Concepto ClaveProdServ="50202302" NoIdentificacion="COD_002" Cantidad="4" ClaveUnidad="H87" Unidad="Pieza" Descripcion="Bolsas de hielo" ValorUnitario="25.00" Importe="100.00">
			<cfdi:Impuestos>
				<cfdi:Traslados>
					<cfdi:Traslado Base="100.00" Impuesto="002" TipoFactor="Tasa" TasaOCuota="0.160000" Importe="16.00"/>
				</cfdi:Traslados>
			</cfdi:Impuestos>
		</cfdi:Concepto>
	</cfdi:Conceptos>
	<cfdi:Impuestos TotalImpuestosTrasladados="56.00">
		<cfdi:Traslados>
			<cfdi:Traslado Impuesto="002" TipoFactor="Tasa" TasaOCuota="0.160000" Importe="56.00"/>
		</cfdi:Traslados>
	</cfdi:Impuestos>
	<cfdi:Complemento>
		<tfd:TimbreFiscalDigital xsi:schemaLocation="http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/sitio_internet/cfd/TimbreFiscalDigital/TimbreFiscalDigitalv11.xsd" Version="1.1" UUID="A5212703-8662-48D6-8480-EFAC06AFA48F" FechaTimbrado="2018-05-13T23:18:34" RfcProvCertif="DAL050601L35" SelloCFD="MLjAx8wmEIv9bNJY1afJz5BfWxYH00BHNYixEXCyNGkcwZOXG+x3TdU/c9kDhcpUyoI7Mr2K1bP0fx6sRnM4DhdGiJ6qkIzIGJjo02tqgY1YfIjT3U3Q7D599AynP0yqlsQ1BNiFDPJbVmY8/BLYLCEn7942kOXBLmKOWiBHpBgtCH/nzmPlQTlFzAwZ7fxHyxkMLNoH8ddRwgXLgPvYtdkUt4nKcPL2OjZyqcw4I6lMdAE91e7zNPHiXyyasatQm9OpXI5GqL1AW80XBxSmKQ/fcxVwGzFggmQVPyg/s7kVHGesXmUmY+QklGcHCmmtfqwiWmu2ki6iL4rElYQwlQ==" NoCertificadoSAT="20001000000300022323" SelloSAT="pPMevPUh/LYSi56dQqeQu4vkAeiS+r0CpG1oeYobHZbk0fNCh1P3He+TiQhj02Z5NGXwo9q7Xrd6T6aMyDpbBUSi08Qn2iVHnszr/xbVA3l8UiBEf6b3BXg7lJFOF9j3TR/Zb+cCmpQvdL0m5dEa4Pe6+BlqPZ3HTERd50TzXsDmtElbEuocYRnnCWdUX2hco5if4ufTx1nIU+loDESGC5M8det62V2fm5DDNH4Y2eC3LFzTlVsxv0Wrl+x4Wt69GmtakyOfSCJ8CYgMtViI0opOdP1w+1qcQziuC6zSjgynpJEpwZhXzWsC8llPkLAdOH3oQnoPWNO/S2s9JSYbXA==" 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:

 

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

[Factura_Electronica]
nError=0
Desc_Error=
Version=3.3
NumCertificado=20001000000300022763
Cert_FechaInicio=
Cert_FechaFin=
Sello_Digital=MLjAx8wmEIv9bNJY1afJz5BfWxYH00BHNYixEXCyNGkcwZOXG+x3TdU/c9kDhcpUyoI7Mr2K1bP0fx6sRnM4DhdGiJ6qkIzIGJjo02tqgY1YfIjT3U3Q7D599AynP0yqlsQ1BNiFDPJbVmY8/BLYLCEn7942kOXBLmKOWiBHpBgtCH/nzmPlQTlFzAwZ7fxHyxkMLNoH8ddRwgXLgPvYtdkUt4nKcPL2OjZyqcw4I6lMdAE91e7zNPHiXyyasatQm9OpXI5GqL1AW80XBxSmKQ/fcxVwGzFggmQVPyg/s7kVHGesXmUmY+QklGcHCmmtfqwiWmu2ki6iL4rElYQwlQ==
Serie=AB
Folio=12345
UUID_(Timbre)=A5212703-8662-48D6-8480-EFAC06AFA48F
Certificado_SAT=20001000000300022323
RfcProvCertif=DAL050601L35
Sello_SAT=pPMevPUh/LYSi56dQqeQu4vkAeiS+r0CpG1oeYobHZbk0fNCh1P3He+TiQhj02Z5NGXwo9q7Xrd6T6aMyDpbBUSi08Qn2iVHnszr/xbVA3l8UiBEf6b3BXg7lJFOF9j3TR/Zb+cCmpQvdL0m5dEa4Pe6+BlqPZ3HTERd50TzXsDmtElbEuocYRnnCWdUX2hco5if4ufTx1nIU+loDESGC5M8det62V2fm5DDNH4Y2eC3LFzTlVsxv0Wrl+x4Wt69GmtakyOfSCJ8CYgMtViI0opOdP1w+1qcQziuC6zSjgynpJEpwZhXzWsC8llPkLAdOH3oQnoPWNO/S2s9JSYbXA==
Fecha_Timbrado=2018-05-13T23:18:34
Cadena_Timbre_digital=||1.1|A5212703-8662-48D6-8480-EFAC06AFA48F|2018-05-13T23:18:34|DAL050601L35|MLjAx8wmEIv9bNJY1afJz5BfWxYH00BHNYixEXCyNGkcwZOXG+x3TdU/c9kDhcpUyoI7Mr2K1bP0fx6sRnM4DhdGiJ6qkIzIGJjo02tqgY1YfIjT3U3Q7D599AynP0yqlsQ1BNiFDPJbVmY8/BLYLCEn7942kOXBLmKOWiBHpBgtCH/nzmPlQTlFzAwZ7fxHyxkMLNoH8ddRwgXLgPvYtdkUt4nKcPL2OjZyqcw4I6lMdAE91e7zNPHiXyyasatQm9OpXI5GqL1AW80XBxSmKQ/fcxVwGzFggmQVPyg/s7kVHGesXmUmY+QklGcHCmmtfqwiWmu2ki6iL4rElYQwlQ==|20001000000300022323||

 

Cancelar CFDI

A continuación se muestra como cancelar un CFDI desde VB.NET:

 

Inicio del proceso

Variables involucradas en el proceso.

Dim cXmlTmp As String
Dim cTmpFile As String
Dim cCertFile As String
Dim cKeyFile As String
Dim cKeyPass As String
Dim cResultado As String
Dim cUUID As String
Dim cLicenciaDLL As String

 

Folio Fiscal.

Capturamos los datos del comprobante a cancelar:

' Establece el UUID para cancelar...
cUUID = "A5212703-8662-48D6-8480-EFAC06AFA48F"

' Nombre del archivo temporal generado a traves de la plantilla.
cTmpFile = "Cancelar_CFDI.tmp"

' Archivo de certificado CER (CSD)
cCertFile = "CSD_Pruebas_CFDI_TME960709LR2.cer"

' Archivo de llave privada KEY (CSD)
cKeyFile = "CSD_Pruebas_CFDI_TME960709LR2.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"

' Licencia de uso de la Librería DLL para CFDI v3.3
cLicenciaDLL = ""

 

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="TME960709LR2" Fecha="2018-05-23T11:04:06.4317633"><Folios><UUID>A5212703-8662-48D6-8480-EFAC06AFA48F</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>xOovRbIxUIVBbf9gGpESGlYtu0dbzkWteMJIA8CD87y8HRiZ9YzfLE97Jo02vH7mvgznRFo7Grpv9U2pk6uSEQ==</ns2:DigestValue></ns2:Reference></ns2:SignedInfo><ns2:SignatureValue>2C9lIm9YKCX3spD8j6qAOlPJ4jvG7+OKomT/NGaTMprl3VGLYenKNvAwASaC9Uy0d2Jk4Hg0+XyijOGw1Ju9KQ==</ns2:SignatureValue><ns2:KeyInfo><ns2:KeyName>00001088888800000093</ns2:KeyName><ns2:KeyValue><ns2:RSAKeyValue><ns2:Modulus>vAr6QLmcvW6auTg7a+Ogm0veNvqJ30rD3j0iSAHxGzGVrg1d0xl0Fj5l+JX9EivD+qhkSY7pfLnJoObLpQ3GGZZOOihJVS2tbJDmnn9TW8fKUOVg+jGhcnpCHaUPq/Poj8I2OVb3g7hiaREORm6tLtzOIjkOv9INXxIpRMx54cw46D5F1+0M7ECEVO8Jg+3yoI6OvDNBH+jABsj7SutmSnL1Tov/omIlSWausdbXqykcl10BLu2XiQAc6KLnl0+Ntzxoxk+dPUSdRyR7f3Vls6yUlK/+C/4FacbR+fszT0XIaJNWkHaTOoqz76Ax9XgTv9UuT67j7rdTVzTvAN363w==</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: 2018-05-23T11:04:06.4317633
 R.F.C Emisor:TME960709LR2
 Acuse: 38dRLqZcqAHmzjO6cglOzyc3PgeM3JeJnXFjx8T7AnDGsrxyshaz3glxqkbybEtq33i8BfGvRiPPsth72Oh+IQ== 
 Digest: EkWBIJaH+lEDA4H0GA7g9hZZUl5wn2xsMAYmhp4QuV6C+oExb02e4XFzZ/31O7loehTtFYK0t3k1xr/ajSDM3A== 
 Certificado: 00001088888800000093 
 UUID: A5212703-8662-48D6-8480-EFAC06AFA48F

 

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

[Cancelar_Factura_Electronica]
nError=0
Desc_Error=
UUID=A5212703-8662-48D6-8480-EFAC06AFA48F
Servidor=[Servidor de pruebas] OK - Autenticación correcta.
Respuesta_SAT=201
Fecha_Op=2018-05-23T11:04:06.4317633
RFC_Emisor=TME960709LR2 
Acuse=38dRLqZcqAHmzjO6cglOzyc3PgeM3JeJnXFjx8T7AnDGsrxyshaz3glxqkbybEtq33i8BfGvRiPPsth72Oh+IQ== 
Digest=EkWBIJaH+lEDA4H0GA7g9hZZUl5wn2xsMAYmhp4QuV6C+oExb02e4XFzZ/31O7loehTtFYK0t3k1xr/ajSDM3A== 
Certificado=00001088888800000093

 

(c) Derechos reservados 2011-2020, 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 *

39 ideas sobre “Factura Electrónica en Visual Basic.Net