timbre refid.

 

El servicio de Timbre Fiscal® ofrece un mecanismo para que puedas identificar un comprobante de entre cualquier otro, permitiéndote realizar reintentos o recuperación del timbre, sin que dupliques el folio fiscal (timbre) del comprobante en cada petición.

De esta manera diverza® se asegura que este valor sea único para ese RFC en todas sus instancias de base de datos. Con este mecanismo, en caso de enviar múltiples peticiones, las cuales tengan el mismo RefId en Timbre Fiscal®, solo generará un solo folio fiscal (el proceso de certificación solo se realizará la primera vez, el resto de las peticiones obtendrán el mismo complemento de timbre generado la primera vez).


A cada CFDi timbrado le corresponde un folio fiscal único UUID, en términos simples lo veremos así. Pero, ¿qué pasa si por accidente vuelves a enviar exactamente el mismo comprobante a timbrar con mi PAC? Por cada petición correcta de timbrado, se generará la misma cantidad CFDis timbrados (cada un folio fiscal distinto) y entregados al SAT, y por lo tanto todos serán reconocidos fiscalmente.

El servicio de Timbre Fiscal® incluye el atributo llamado RefID, que te permite identificar cada documento que envíes a procesar con nosotros. Por cada RefID único que utilices obtendrás el mismo complemento de timbre (y folio fiscal), así podrás implementar mecanismos de recuperación como reintentos sin que estés generando nuevos timbres por el mismo comprobante.

 ¿cómo funciona?

No es extraño que tus sistemas internos coloquen un identificador único a cada comprobante, incluso antes de enviarlo a timbrar, digamos que el CFDi que envías tiene como identificador: SGFR98322-20140815T09:40, y envías ese dato como parte del request.

Entonces, si la petición es correcta timbraremos y certificaremos el comprobante respondiéndote los datos del complemento <tfd:TimbreFiscalDigital> digamos que con el UUID=5e881398-b62a-42c1-bf17-5d44a2f54a84 y adicionalmente registramos en nuestro sistema que el RefID=SGFR98322-20140815T09:40 corresponde al CFDi generado con UUID 5e881398-b62a-42c1-bf17-5d44a2f54a84. Por lo tanto, la siguiente ocasión en que envíes una petición de timbrado con el mismo RefID (aunque el CFDi sea diferente) nosotros te responderemos con el mismo timbre que se había generado en la primera ocasión que usaste dicho RefID, con esto, aseguramos que aunque envíes varias veces el mismo CFDi (respetando el valor del RefID), no estarás duplicando los comprobantes.


escenario de ejemplo

1. Primer timbrado de un comprobante

El ejemplo inicia timbrado un CFDi de pruebas con la siguiente información:

    Servidor de prueba: https://staging.diverza.com/api/v1/timbrar
    Token de prueba: ABCD1234
    **RefID: SGFR98322-20140815T09:40**
    Metodo HTTP: POST
    Header HTTP: x-auth-token
    Header HTTP: x-refid
    Header HTTP: Content-Type
    Header HTTP: Content-MD5

Petición

cURL https://staging.diverza.com/stamp -X POST --data @cfdi.xml -H "Content-Type: application/vnd.sat.cfdi+xml; charset=UTF-8" -H "x-auth-token: ABCD1234" -H "Content-MD5: kso376aw88wkdms1723o21mdasl213u2" -H "x-refid: SGFR98322-20140815T09:40" -i

* El archivo cfdi enviado es igual a cualquier otro, no se ve afectado por el RefID

Respuesta

    Status Code: 200 OK
    Cache-Control: max-age=0, private, must-revalidate
    Connection: keep-alive
    Content-Length: 730
    Date: Fri, 15 Aug 2014 14:43:39 GMT
    Server: nginx/1.0.15
<tfd:TimbreFiscalDigital xmlns:tfd="http://www.sat.gob.mx/TimbreFiscalDigital" xsi:schemaLocation="http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/sitio_internet/cfd/TimbreFiscalDigital/TimbreFiscalDigital.xsd" selloSAT="rInX4E+pRgkuIxJGRlJp49rTN9kMCjMYQz4t3m+IXjkHsFxbIuEeHTXPdUms7NvcX0ayS3NO1GzpVFQyJLCf6lLcJrao4ngkTVcNSwxWi77U1fjHEGtzU+FFhQUHZ63NX6GCEeb0xsXBN03xzxwBmTLYZ8FdCAFIqUMKX5YN640=" noCertificadoSAT="20001000000100005761" selloCFD="ElqnU5BgK66ZWCvJU6NMqA6bzAHpJZ1Va2Ilcp+eIit0BtGjHpzPp2UjpRYttpMc01YBQtbHo4ErG/WDJ3jHKsYZ455NJgRirYgHVGvcMV3UdQ0gSILGcubcjLgBIGYozKuipRcYqOtk3wwkzxQa3sEMZpLczNxirVLtbaX/vpU=" FechaTimbrado="2014-08-15T09:43:39" UUID="5e881398-b62a-42c1-bf17-5d44a2f54a84" version="1.0"/>

2. Reenvío del mismo comprobante con el mismo RefID

Si enviamos nuevamente la misma petición, utilizando el mismo RefID, obtendremos exactamente la misma respuesta:

Misma petición

cURL https://staging.diverza.com/stamp -X POST --data @cfdi.xml -H "Content-Type: application/vnd.sat.cfdi+xml; charset=UTF-8" -H "x-auth-token: ABCD1234" "Content-MD5: kso376aw88wkdms1723o21mdasl213u2" -H "x-refid: SGFR98322-20140815T09:40" -i

Misma respuesta

    Status Code: 200 OK
    Cache-Control: max-age=0, private, must-revalidate
    Connection: keep-alive
    Content-Length: 730
    Date: Fri, 15 Aug 2014 14:50:19 GMT
    Server: nginx/1.0.15
<tfd:TimbreFiscalDigital xmlns:tfd="http://www.sat.gob.mx/TimbreFiscalDigital" xsi:schemaLocation="http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/sitio_internet/cfd/TimbreFiscalDigital/TimbreFiscalDigital.xsd" selloSAT="rInX4E+pRgkuIxJGRlJp49rTN9kMCjMYQz4t3m+IXjkHsFxbIuEeHTXPdUms7NvcX0ayS3NO1GzpVFQyJLCf6lLcJrao4ngkTVcNSwxWi77U1fjHEGtzU+FFhQUHZ63NX6GCEeb0xsXBN03xzxwBmTLYZ8FdCAFIqUMKX5YN640=" noCertificadoSAT="20001000000100005761" selloCFD="ElqnU5BgK66ZWCvJU6NMqA6bzAHpJZ1Va2Ilcp+eIit0BtGjHpzPp2UjpRYttpMc01YBQtbHo4ErG/WDJ3jHKsYZ455NJgRirYgHVGvcMV3UdQ0gSILGcubcjLgBIGYozKuipRcYqOtk3wwkzxQa3sEMZpLczNxirVLtbaX/vpU=" FechaTimbrado="2014-08-15T09:43:39" UUID="5e881398-b62a-42c1-bf17-5d44a2f54a84" version="1.0"/>

No importa cuántas veces se envíe la petición, el resultado será el mismo.

3. Reenvío de un comprobante diferente, pero con el mismo RefID

Ten cuidado: Si hacemos nuevamente la misma petición, utilizando el mismo RefID, pero con un comprobante distinto obtendremos exactamente la misma respuesta:

Misma petición, otro documento

cURL https://staging.diverza.com/stamp -X POST --data @otro_cfdi.xml -H "x-auth-token: ABCD1234" -H "x-refid: SGFR98322-20140815T09:40" -i

Misma respuesta

    Status Code: 200 OK
    Cache-Control: max-age=0, private, must-revalidate
    Connection: keep-alive
    Content-Length: 730
    Date: Fri, 15 Aug 2014 13:03:12 GMT
    Server: nginx/1.0.15
<tfd:TimbreFiscalDigital xmlns:tfd="http://www.sat.gob.mx/TimbreFiscalDigital" xsi:schemaLocation="http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/sitio_internet/cfd/TimbreFiscalDigital/TimbreFiscalDigital.xsd" selloSAT="rInX4E+pRgkuIxJGRlJp49rTN9kMCjMYQz4t3m+IXjkHsFxbIuEeHTXPdUms7NvcX0ayS3NO1GzpVFQyJLCf6lLcJrao4ngkTVcNSwxWi77U1fjHEGtzU+FFhQUHZ63NX6GCEeb0xsXBN03xzxwBmTLYZ8FdCAFIqUMKX5YN640=" noCertificadoSAT="20001000000100005761" selloCFD="ElqnU5BgK66ZWCvJU6NMqA6bzAHpJZ1Va2Ilcp+eIit0BtGjHpzPp2UjpRYttpMc01YBQtbHo4ErG/WDJ3jHKsYZ455NJgRirYgHVGvcMV3UdQ0gSILGcubcjLgBIGYozKuipRcYqOtk3wwkzxQa3sEMZpLczNxirVLtbaX/vpU=" FechaTimbrado="2014-08-15T09:43:39" UUID="5e881398-b62a-42c1-bf17-5d44a2f54a84" version="1.0"/>

La facilidad de utilizar tu propio identificador interno es uno de los beneficios de control que te ofrece Timbre Fiscal®, utilízalo adecuadamente. Recuerda que puedes realizar todas las pruebas que necesites antes de tu salida a producción.

Si tienes dudas llámanos o escríbenos.