Comprobante fiscal 4.0

Ejemplo en VBA/VB6

Sub EjemploCfdi4()
    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 fachadaCfdiV4 As New USLibV4COM.FachadaCfdiV4COM

If Not fachadaCfdiV4.P00Setup(cerPath:=cerPath, keyPath:=keyPath, keyPassword:=keyPass) Then
    Call MsgBox("Error al certificados, o clave no valida")
End If


 Call fachadaCfdiV4.P01DatosGenerales( _
                serie:="A", _
                folio:="101", _
                fecha:="2021-12-27T15:30:59", _
                formaPago:="99", _
                condicionesDePago:="Contado", _
                subTotal:="100.00", _
                descuento:="0.00", _
                moneda:="MXN", _
                tipoCambio:="0.00", _
                total:="116.00", _
                tipoDeComprobante:="I", _
                exportacion:="01", _
                metodoPago:="PPD", _
                lugarExpedicion:="85040", _
                confirmacion:="")

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

 Call fachadaCfdiV4.P05Receptor( _
                rfc:="EMC160315TX7", _
                nombre:="EMCORSOFT, S.A.P.I. DE C.V.", _
                domicilioFiscalReceptor:="85040", _
                residenciaFiscal:="", _
                numRegIdTrib:="", _
                regimenFiscalReceptor:="601", _
                usoCFDI:="P01")
                
Dim idConcepto As String

idConcepto = fachadaCfdiV4.P06Concepto( _
                  claveProdServ:="01010101", _
                  noIdentificacion:="", _
                  cantidad:="1", _
                  claveUnidad:="ZZ", _
                  unidad:="", _
                  descripcion:="Producto 1", _
                  valorUnitario:="100", _
                  importe:="100", _
                  descuento:="0", _
                  objetoImp:="02")
                  

 Call fachadaCfdiV4.P06ConceptoImpuestosTraslados( _
                baseCalculoImpuesto:="100", _
                impuesto:="002", _
                tipoFactor:="Tasa", _
                tasaOCuota:="0.16", _
                importe:="16", _
                idConcepto:=idConcepto)

Call fachadaCfdiV4.P07ImpuestosCrearResumenPorConceptos

Dim cadena As String
cadena = fachadaCfdiV4.P08GenerarCadenaOriginal()
Call fachadaCfdiV4.P09GenearSelloDigital

Dim respuesta As USLibV4COM.CfdiResponseCOM

Set respuesta = fachadaCfdiV4.P10TimbrarCfdi(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