GENERALIDADES
·
Consultar
el estado del comprobante (CFDI) Revisar
Portal Web Transacción CONSULTAR_DOCUMENTO o CONSULT_DOCUMENT para identificar
que regresa en RequestTransactionResponse nodos ResponseData1 y ResponseData2.
o
Si
el comprobante está “Vigente” pero es “No Cancelable”
§ Se debe
solicitar la cancelación del comprobante que lo antecede.
§ Si se solicita
la cancelación de un CFDI en este estado, siempre el SAT devolverá 201 pero no
realizará acción alguna.
o
Si
el comprobante está “Cancelado”
§ No se debe
realizar acción alguna.
o
Si
el comprobante está “Vigente” y es “Cancelable” (Sin o Con Aceptación).
§ Realizar
solicitud de cancelación del comprobante CANCEL_DOCUMENT_3
§ MYSuite
realizará proceso descrito anteriormente (segunda solicitud consulta de estado de cancelación para
efectos de tabla intermedia).
§ Realizar
consulta del estado del comprobante CONSULT_DOCUMENT
·
Si
el comprobante ya se encuentra Cancelado (los casos en el que el comprobante es
“Cancelable sin Aceptación”).
o
MYSuite
regresa en RequestTransactionResponse:
§
<Code>3027</Code>
§
<Description>El
documento solicitado ya fue marcado como cancelado.</Description>
·
En
los casos en el que el comprobante es “Cancelable con Aceptación”
o
Debe seguir consultando (desde el ERP), hasta la resolución por parte del receptor
del comprobante, obteniendo en ese lapso el atributo “EstatusCancelacion”:
§ En proceso.
§ Solicitud
rechazada.
o
Tomar
en cuenta que MYSuite realizará las solicitudes de consulta de estatus de cancelación necesarias (cada
24 horas a partir de la segunda solicitud de consulta de estatus de cancelación en automático), hasta
obtener en la respuesta que el comprobante se encuentra como "Cancelado" por parte del SAT (siempre y cuando el receptor haya
aceptado la cancelación), o puede seguir “en proceso” o “solicitud rechazada”.
o
Si
el comprobante ya se encuentra Cancelado (en el momento en que realizas la
consulta desde tu ERP).
§ MYSuite regresa
en RequestTransactionResponse:
·
<Result>false</Result>
·
<Code>3027</Code>
·
<Description>El
documento solicitado ya fue marcado como cancelado.</Description>
·
En
todos los casos en los que se obtenga
<Result>false</Result><Code>3027</Code>*se debe entender que el comprobante ya ha sido Cancelado.
·
Si
en el sistema interno (ERP), se desea obtener el acuse de cancelación que el
SAT proporciona al realizar la consulta de estatus del comprobante y que este se marca como Cancelado, se debe realizar la transacción: GET_ACUSE_CANCEL
teniendo en cuenta las siguientes consideraciones en la solicitud:
<ws:RequestTransaction>
<ws:Requestor>0c320b03-d4f1-47bc-9fb4-77995f9bf33e</ws:Requestor>
<ws:Transaction>GET_ACUSE_CANCEL</ws:Transaction>
<ws:Country>MX</ws:Country>
<ws:Entity>JES900109Q90</ws:Entity>
<ws:User>0c320b03-d4f1-47bc-9fb4-77995f9bf33e</ws:User>
<ws:UserName>Jan_Test</ws:UserName>
*Folio Fiscal UUID del CFDI que se encuentra cancelado*
<ws:Data1>fe055b1e-2103-4aa4-bf5a-2e98c42a63b4</ws:Data1>
*Año de emisión del CFDI del cual se quiere el acuse de cancelación*
<ws:Data2>2020</ws:Data2>
*Se debe enviar vacío*
<ws:Data3></ws:Data3>
</ws:RequestTransaction>
·
El RequestTransactionResponse obtenido es el
siguiente:
<RequestTransactionResponse
xmlns="http://www.fact.com.mx/schema/ws">
<RequestTransactionResult>
<Request>
<Requestor>00000000-0000-0000-0000-000000000000</Requestor>
<RequestorActive>true</RequestorActive>
<Transaction>GET_ACUSE_CANCEL</Transaction>
<Country>MX</Country>
<Entity>JES900109Q90</Entity>
<User>00000000-0000-0000-0000-000000000000</User>
<UserName>Jan_Test</UserName>
<Id>5eb0c166-94fd-427e-bb60-a355f84faf8c</Id>
<TimeStamp>2020-01-27T13:13:45.642082-06:00</TimeStamp>
</Request>
<Response>
<Result>true</Result>
<TimeStamp>2020-01-27T13:13:45.657682-06:00</TimeStamp>
<LastResult/>
<Code>1</Code>
<Description/>
<Hint/>
<Data>8731
5eb0c166-94fd-427e-bb60-a355f84faf8c</Data>
<Processor>TEST-BACK01</Processor>
<Identifier>
<SuggestedFileName>AcuseCancelacion_AAA010101AAA_fe055b1e-2103-4aa4-bf5a-2e98c42a63b4</SuggestedFileName>
</Identifier>
</Response>
<ResponseData>
<ResponseData1>XML del Acuse de
Cancelación codificado en Base64</ResponseData1>
<ResponseData2/>
<ResponseData3/>
</ResponseData>
</RequestTransactionResult>
</RequestTransactionResponse>
* En todos los escenarios con Result = “true” el elemento Code es = “1”.
1.
<Result>false</Result>
<Code>3027</Code>:
a.
Se presenta cuando se realiza la solicitud de
cancelación o la consulta de un comprobante que ya se encuentra Cancelado.
2.
<Result>false</Result> <Code>3192</Code>:
a.
Se presenta cuando se realiza la solicitud de
cancelación de un comprobante que se encuentra con EstatusCancelacion “en
proceso”, se presenta generalmente en comprobante que es “Cancelable con
Aceptación”.
3.
<Result>false</Result>
<Code>5024</Code>:
a.
Reportar a MYSuite para su revisión.
4.
<Result>false</Result>
<Code>3167</Code>:
a.
Reportar a MYSuite.
5.
<Result>false</Result>
<Code>3052</Code>:
a.
Se presenta cuando en la solicitud RequestTransaction
faltan valores requeridos o no son enviados en la codificación correcta.
6.
<Result>false</Result>
<Code>3168</Code>: