Función VirtualXML_GetStatusCFDI
VirtualXML
Verifica en los registros del SAT el estado de cancelación de un CFDI. Vigente a partir del 1 de Noviembre de 2018.

Esta función valida los 6 posibles estados de un CFDI antes, durante y  depués del nuevo proceso de cancelación.

Se cobrará 1 timbre por consulta de CFDI, pero solo la primera vez que se consulte el estado de un documento, las demas veces no tendrá costo.

Namespace: VirtualXML®
Aplicación: CFDI 3.3
Sintaxis

public static int VirtualXML_GetStatusCFDI(
string szUsuario
string szRfcEmisor
string szRfcReceptor
string szTotal
string szUuid
string szResult
string szLog )

Parametros


szUsuario
Tipo: System  String
Nombre del usuario VirtualPAC
szRfcEmisor
Tipo: System  String
RFC del emisor del CFDI que deseamos consultar su estado.
szRfcReceptor
Tipo: System  String
RFC del receptor del CFDI del que queremos consultar su estado
szTotal
Tipo: System  String
Importe del total del CFDI a consultar
szUuid
Tipo: System  String
UUID del CFDI a consultar
szResult
Tipo: System  String
Nombre y ruta de un archivo de salida donde obtendremos el resultado de la busqueda del CFDI. Este archivo es muy importante ya que muestra detalles del estado del CFDI en los registros del SAT. Si se especifica la extensión ".INI" en el nombre de este archivo se obtendrán los resultados en el formato de un archivo INI, si se especifica cualquier otra extensión o bien se omite la extensión la información se presentará como un texto normal.
szLog
Tipo: System  String
Nombre y ruta de un archivo de salida donde obtendremos la bitácora del proceso de búsqueda del CFDI, Su función es similar a la del archivo VirtualXML.LOG, es decir, proporcionar información sobre los pasos seguidos durante el proceso de cancelación y su uso será unicamente para reportar al equipo de desarrollo de VirtualXML posibles fallas en el proceso de cancelación.


Valor retornado:

Tipo: Int32

Retorna un valor númerico que nos indicará el estado del CFDI dentro del nuevo esquema de cancelaciones del SAT, es importante que además de obtener el número resultado del proceso de cancelación revisemos el archivo de resultados para mas información sobre el resultado de la consulta. Los posibles valores de retorno son:
  • 2 - CFDI con estado Vigente Cancelable (con o sin aceptación)
  • 1 - CFDI con estado Vigente no Cancelable.
  • 0 - CFDI con estado Vigente con Cancelación en proceso
  • -1 - CFDI con estado Cancelado (cualquier modalidad)
  • -2 - CFDI No encontrado en los registros del SAT.
  • -3 - Error de comunicaciones o error en el servicio de cancelación del SAT, para mas detalles de este error, revisar el archivo de bitácora (no el de resultados).
Ejemplo:

private void GeneraDocto(String version)
{
// Solicitamos la cancelación
    int nResultado = VirtualXML_GetStatusCFDI("usuario","AAA010101AAA","CTE940531F58","1160.00",;
"D8E18C2F-2859-4927-A0F0-EA3E93642DDC","C:\CSD\Resultado.INI","C:\CSD\Bitacora.log");
switch ( nResult )
{
case 2:
MsgBox("CFDI Vigente y Cancelable");
break;
case 1:
MsgBox("CFDI NO Cancelable");
break;
case 0:
MsgBox("CFDI Vigente, cancelación EN PROCESO");
break;
case -1:
MsgBox("CFDI Cancelado");
break;
case -2:
MsgBox("UUID No encontrado en los registos del SAT, intente mas tarde");
break;
case -3:
MsgBox("Servicio de cancelaciones del SAT temporalmente fuera de servicio, reintente su operación mas tarde"); }
break;
}
}
Veáse Tambien