Comprobante fiscal 4.0 – Pago

Ejemplo en VBA/VB6

Sub EjemploPagos2()
    Dim cerPath As String
    cerPath = "D:\Wsdl\RFC-PAC-SC\Personas Morales\FIEL_XIA190128J61_20190614164226\CSD_XIA190128J61_20190617140806\CSD_Xenon_Industrial_Articles_XIA190128J61_20190617_140751s.cer"
    Dim keyPath As String
    keyPath = "D:\Wsdl\RFC-PAC-SC\Personas Morales\FIEL_XIA190128J61_20190614164226\CSD_XIA190128J61_20190617140806\CSD_Xenon_Industrial_Articles_XIA190128J61_20190617_140751.key"
    Dim keyPass As String
    keyPass = "12345678a"
    
    Dim pagos As New USLibV4COM.FachadaCfdi40Pagos20COM
    If Not pagos.P00Setup(cerPath:=cerPath, keyPath:=keyPath, keyPassword:=keyPass) Then
        Call MsgBox("Error al certificados, o clave no valida")
    End If

Call pagos.P01DatosGenerales(serie:="A", folio:="10", fecha:="2021-12-27T15:30:59", lugarExpedicion:="85160", confirmacion:="")

Call pagos.P02Emisor( _
              rfc:="XIA190128J61", _
              nombre:="XENON INDUSTRIAL ARTICLES S DE CV", _
              regimenFiscal:="601", _
              facAtrAdquirente:="")

Call pagos.P03Receptor( _
                rfc:="EMC160315TX7", _
                nombre:="EMCORSOFT, S.A.P.I. DE C.V.", _
                domicilioFiscalReceptor:="85040", _
                residenciaFiscal:="", _
                numRegIdTrib:="", _
                regimenFiscalReceptor:="601", _
                usoCFDI:="P01")

Dim idPago As String
idPago = pagos.P04Pago(fechaPago:="2021-12-27T15:30:59", formaDePagoP:="03", monedaP:="MXN", tipoCambioP:="1", monto:="100", _
                 numOperacion:="", rfcEmisorCtaOrd:="", nomBancoOrdExt:="", ctaOrdenante:="", rfcEmisorCtaBen:="", _
                 ctaBeneficiario:="", tipoCadPago:="", certPago:="", cadPago:="", selloPago:="")

 Dim idDocumento As String
 idDocumento = "92DAA84E-E116-45D0-8CA0-7F34EC4E4782"
 
 Call pagos.P05DoctoRelacionado(idPago:=idPago, idDocumento:=idDocumento, _
                serie:="A", folio:="10", monedaDR:="MXN", equivalenciaDR:="1", numParcialidad:=1, impSaldoAnt:="100", impPagado:="50", impSaldoInsoluto:="50", objetoImpDR:="02")
                
Call pagos.P05DoctoRelacionadoImpuestoTraslado(idPago:=idPago, idDocumento:=idDocumento, baseDR:="50", _
                impuestoDR:="002", tipoFactorDR:="Tasa", tasaOCuotaDR:="0.16", importeDR:="8")

Call pagos.P06ImpuestosTraslados(idPago:=idPago, baseP:="50", impuestoP:="002", tipoFactorP:="Tasa", tasaOCuotaP:="0.16", importeP:="8")

Call pagos.P07Totales( _
                totalRetencionesIVA:="0", _
                totalRetencionesISR:="0", _
                totalRetencionesIEPS:="0", _
                totalTrasladosBaseIVA16:="50", _
                totalTrasladosImpuestoIVA16:="8", _
                totalTrasladosBaseIVA8:="0", _
                totalTrasladosImpuestoIVA8:="0", _
                totalTrasladosBaseIVA0:="0", _
                totalTrasladosImpuestoIVA0:="0", _
                totalTrasladosBaseIVAExento:="0", _
                montoTotalPagos:="50")

Dim respuesta As USLibV4COM.CfdiResponseCOM

Set respuesta = pagos.P08TimbrarCfdi(esPrueba:=True, idServicio:="", referenceId:="")
If respuesta.Success Then
    
    Dim sResultado As String
    sResultado = respuesta.TfdCadenaOriginal & vbCrLf _
    & respuesta.TfdFechaTimbrado & vbCrLf _
    & respuesta.TfdNoCertificadoSAT & vbCrLf _
    & respuesta.TfdRfcProvCertif & vbCrLf _
    & respuesta.TfdUuid
    
    Call MsgBox(sResultado)
    
    Call respuesta.GuardarCfdi(directorio:="D:\Wsdl\Test\", nombreArchivo:=respuesta.TfdUuid)
    Call respuesta.GuardarCbb(directorio:="D:\Wsdl\Test\", nombreArchivo:=respuesta.TfdUuid)
Else
    Call MsgBox(respuesta.ErrorMessages)
End If

End Sub

Desarrollado porBetterDocs