Implementar SAT All in One

Este documento propone una solución para obtener un Perfil Completo de SAT (SAT All in One) mediante un RFC/CIEC registrado en el servicio Fiscal de Syncfy.

Qué se obtiene actualmente de este “Perfil completo de SAT”:

Facturas CFDI 3.2, CFDI 3.3, CFDI 4.0

    Información Obtenida: Metadata, XML/JSON

    Comportamiento esperado: Descarga diaria de la información

 Factura de Retenciones e Información de Pagos Versión 1.0, Versión 2.0

    Información Obtenida: Metadata, XML/JSON

    Comportamiento esperado: Descarga diaria de la información

Declaraciones Anuales (2018, 2019, 2020, 2021)

    Información Obtenida: PDF/JSON

    Comportamiento esperado: Descarga mensual de la información

Declaraciones Mensuales

    Información Obtenida: PDF/JSON

    Comportamiento esperado: Descarga mensual de la información

Opinión de Cumplimiento del SAT

    Información Obtenida: PDF/JSON

    Comportamiento esperado: Descarga una sola vez de la información

Constancia de Situación Fiscal

    Información Obtenida: PDF/JSON

    Comportamiento esperado: Descarga una sola vez de la información

Requerimientos funcionales para la solución

  1. Inserción del Syncfy Widget en la Interfaz del Usuario
  2. Habilitar un Webhook para la recepción de notificaciones

Inserción del Syncfy Widget en la interfaz del Usuario

Antes de continuar con ésta sección, es necesario revisar detalladamente el apartado del Widget en la documentación de Syncfy Widget

Como se ha revisado en la documentación el Syncfy Widget es configurable tanto en su apariencia como en su funcionamiento.

Para nuestro objetivo nos basta mencionar que se deberá habilitar al menos para dos secciones de la Interfaz del Usuario:

  • Registro de las credenciales del SAT . Generalmente se hace durante el proceso de onboarding del usuario.
  • Actualización de las credenciales del SAT . En la interfaz de usuario debe existir un apartado en donde el usuario pueda actualizar el valor de sus credenciales de SAT. En éste apartado se recomienda desplegar al usuario un estatus actualizado de su sincronización con SAT:
    • Resultado de la última conexión
    • Fecha de la última conexión
    • Fecha de la última descarga de información

Configuración del Widget:

 {
    // Set up the token
    token: '<token>',
    enableTestMode : true,
    config: {
        // Set up the language to use:
       locale: 'es',
       entrypoint: {
           site: "61c12b8cde3c034b3c8b25b1" // !REQUIRED: id_site of SAT All in One
       },
       navigation: {
           oneSiteFlow: true, // !REQUIRED
       },
    },
};

image

Habilitar Webhook para la recepción de notificaciones

Los Webhooks permiten recibir las notificaciones del proceso de SAT All In One , al procesar correctamente sus mensajes la solución podrá determinar si un RFC se ha conectado adecuadamente o ha tenido algún inconveniente.

Es posible registrar un Webhook para recibir las notificaciones de todos los usuarios vinculados a la solución o bien, establecer un Webhook por cada usuario. Ya que el mensaje enviado al Webhook establece el usuario al cuál pertenece la notificación la práctica sugerida es registrar un único webhook general.

A continuación se listan los eventos, su descripción y la información del SAT a la cual están relacionados.

Evento Descripción
credential_create Notificación de la creación de una credencial, es decir, el acceso al sitio. Sólo se recibe para credenciales que han sido creadas por primera vez para un usuario.
credential_update Notificación de la actualización de una credencial. Se recibe cuando inicia la conexión y cuando concluye la conexión con el sitio.
refresh Notificación para informar que una credencial cuenta con información nueva o actualizada.
documents_completed Notificación para informar que hay documentos listos para descargarse.
Evento/Sitio CIEC CIEC Retenciones Declaraciones Anuales/Mensuales Constancia de Situación Fiscal Opinión de Cumplimiento
credential.create :white_check_mark: :white_check_mark: :white_check_mark:
credential.update :white_check_mark: :white_check_mark: :white_check_mark:
credential.refresh :white_check_mark: :white_check_mark: :white_check_mark:
documents.completed :white_check_mark: :white_check_mark:
documents.success :white_check_mark: :white_check_mark:
documents.fail :white_check_mark: :white_check_mark:

Los eventos documents.success y documents.fail sólo estan disponibles en la version 3 de los Webhooks, los cuales se crean desde el dashboar de Syncfy.com en la sección de webhooks.

Nota: El API de Syncfy no debe de utilizarse como una base de datos, es solamente la fuente de los datos. Para construir una optima conexión a SAT All in One y brindar la mejor experiencia al Usuario es necesario persistir en la base de datos de la solución toda la información entregada por el API de Syncy y cada que la Interfaz del Usuario la requiera deberá entregarla mediante el Backend haciendo uso de las consultas a al Servidor DB de la solución.

Paso a paso: