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
- Inserción del Syncfy Widget en la Interfaz del Usuario
- 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
},
},
};
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 | |||||
credential.update | |||||
credential.refresh | |||||
documents.completed | |||||
documents.success | |||||
documents.fail |
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: