Aunque los lenguajes NET pueden acceder facilmente a los WebServices de la AFIP puede usar la inteface COM del control para trabajar en una forma más rapida y cómoda sin conocer en profundidad los detalles de la implementación de la AFIP.
Este ejemplo usa el identificador "1" como 3°er argumento del método registrar. Debe usar un identificador único y diferente para obtener CAE diferentes en cada ejecución. Después de probar el ejemplo lea toda la documentación referente a "identificador" y "reproceso" para una explicación detallada sobre la función de este argumento.
dim fe as new WSAFIPFE.factura
dim cIdentificador as string
If fe.iniciar(WSAFIPFE.Factura.modoFiscal.Test, "cuit sin separador", "ruta del certificado", "") Then
If fe.ObtenerTicketAcceso() Then
fe.FECabeceraCantReg = 1
fe.FECabeceraPresta_serv = 1
fe.indice = 0
fe.FEDetalleFecha_vence_pago = "20090101"
fe.FEDetalleFecha_serv_desde = "20090101"
fe.FEDetalleFecha_serv_hasta = "20090101"
fe.FEDetalleFecha_vence_pago = "20090101"
fe.FEDetalleImp_neto = 100
fe.FEDetalleImp_total = 121
fe.FEDetalleFecha_cbte = "20090101"
fe.FEDetalleNro_doc = "aquí cuit cliente"
fe.FEDetalleTipo_doc = WSAFIPFE.Factura.TipoDocumento.CUIT
cIdentificador = "1"
bResultado = fe.Registrar(1, WSAFIPFE.Factura.TipoComprobante.FacturaA, cIdentificador)
fe.indice = 0
If bResultado Then
fe.indice = 0
MsgBox("CAE: " + fe.FERespuestaDetalleCae + Chr(10) + "MOTIVO: " + fe.FERespuestaDetalleMotivo + Chr(10) + "PROCESO: " + fe.FERespuestaReproceso + Chr(10) + "Numero: " + Str(fe.FERespuestaDetalleCbt_desde))
Else
MsgBox("mOTIVO: " + fe.FERespuestaDetalleMotivo + Chr(10) + " eRROR " + fe.Permsg + "ULTMO: " + fe.UltimoMensajeError)
End If
Else
MsgBox(fe.UltimoMensajeError)
End If
Else
MsgBox(fe.UltimoMensajeError)
End If