Saltar a contenido

Integración con el Servicio Web de Anulación de CFE

¡Hola! En este artículo le guiaremos en la integración de su ERP con el servicio de anulación de CFE de InvoiCy.

El servicio web de Anulación de CFE (.../aws_anulacion.aspx) permite anular rangos de CFEs que aún no hayan sido registrados en InvoiCy, informando el número inicial y final, la serie y el tipo de CFE correspondiente al rango a anular.

Ejemplo: https://appuypruebas.migrate.info/InvoiCy/aws_anulacion.aspx?wsdl

Layout

Layout de Anulación de Rangos de CFE. Download

Estructura de Envio

La estructura del XML de entrada de este servicio web está detallada en el layout de envío de anulación de rangos de CFE. A continuación, se muestra un ejemplo del SOAP donde dicho XML debe ser enviado. Esta estructura también puede consultarse accediendo al WSDL en aws_anulacion.aspx?WSDL.

1
2
3
4
5
6
7
8
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:gx="Gx">
   <soapenv:Header/>
   <soapenv:Body>
      <gx:WS_Anulacion.Execute>
         <gx:Xmlanulacion><!--(1)--></gx:Xmlanulacion>
      </gx:WS_Anulacion.Execute>
   </soapenv:Body>
</soapenv:Envelope>
  1. Aquí estará tu XML de anulación convertido, reemplazando < y > por < y > respectivamente.

Dentro de la etiqueta , debe enviarse el XML de la solicitud convertido a texto, como se muestra en el siguiente ejemplo.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:gx="Gx">
   <soapenv:Header/>
   <soapenv:Body>
      <gx:WS_Anulacion.Execute>
         <gx:Xmlanulacion>&lt;Anulacion&gt;
   &lt;Encabezado&gt;
      &lt;EmpCodigo&gt;Codigo de la empresa&lt;/EmpCodigo&gt;
      &lt;EmpPK&gt;Clave del Partner&lt;/EmpPK&gt;
      &lt;EmpCK&gt;Clave de Comunicación&lt;/EmpCK&gt;
   &lt;/Encabezado&gt;
   &lt;AnulacionCFE&gt;
      &lt;RangoCFE&gt;
         &lt;CFENumeroInicial&gt;Numero Inicial del rango&lt;/CFENumeroInicial&gt;
         &lt;CFENumeroFinal&gt;Numero Final del rango&lt;/CFENumeroFinal&gt;
         &lt;CFESerie&gt;Serie de los comprobantes&lt;/CFESerie&gt;
         &lt;CFETipo&gt;Tipo de los comprobantes&lt;/CFETipo&gt;
      &lt;/RangoCFE&gt;
   &lt;/AnulacionCFE&gt;
&lt;/Anulacion&gt;</gx:Xmlanulacion>
      </gx:WS_Anulacion.Execute>
   </soapenv:Body>
</soapenv:Envelope>

Al realizar el envío del XML al servicio web, los comprobantes de todos los rangos informados serán anulados y en caso de falla se retornará el código y un mensaje de error.

Respuesta

A continuación, se muestra la estructura del XML de respuesta generado por el servicio web de anulación.

<Xmlretorno>
   <![CDATA[
   <xml version="1.0" encoding="utf-8"?>
   <AnulacionRetorno>
      <Encabezado>
         <EmpCodigo>Codigo de la empresa</EmpCodigo>
         <MsgCod>Codigo del mensaje de retorno de la anulación</MsgCod>
         <MsgDsc>Mensaje de retorno de la anulación</MsgDsc>
      </Encabezado>
      <AnulacionCFE>
         <RangoCFE>
            <CFENumeroInicial>Numero Inicial del rango</CFENumeroInicial>
            <CFENumeroFinal>Numero Final del rango</CFENumeroFinal>
            <CFESerie>Serie de los comprobantes</CFESerie>
            <CFETipo>Tipo de los comprobantes</CFETipo>
            <CFEStatus>Estado de los comprobantes al final del procesamiento</CFEStatus>
            <Mensaje>Mensaje de error</Mensaje>
         </RangoCFE>
      </AnulacionCFE>
   </AnulacionRetorno>]]>
</Xmlretorno>