L'outil sofi-bill-to-primmo est un script installé sur le même serveur que le logiciel Primmo et permet d'automatiser le transfert des services à la carte (SAC) facturables acceptés dans SOFI vers le logiciel Primmo. Ceci évite d'avoir à générer le fichier de transfert (format MDG) manuellement dans la tuile “Facturation des services” pour chaque résidence, éliminant ainsi la perte de temps et le risque d'erreur humaine.
Pour importer dans Primmo les services de soins dispenser dans SOFI qui seront facturables, le client doit acheter un module d’importation de facturation « Maître D » (MDG) auprès de la compagnie Hopem.
Ce script exécute les opérations suivantes:
Pour une exécution de l'outil à fréquence fixe, vous devez utiliser un céduleur de tâche externe, tel que Windows task scheduler.
Afin de se protéger contre des erreurs d'importation, sofi-bill-to-primmo ne fera aucun traitement s'il est exécuté lorsqu'un ou plusieurs fichiers de types .csv ou .tmp sont encore présents dans son répertoire de fichiers de facturation (OutputDirectory).
L'installation de Node.js est requis pour le bon fonctionnement de l'outil.
Le fonctionnement de l'outil requiert un utilisateur avec les droits et la clé pour accéder aux données de SOFI.
Vous devez créer un employé bien identifié dans l'instance SOFI avec la clé API et le secret utilisé dans l'application ayant besoin d'un accès.
S'assurer que l'utilisateur créé ait la case Connexion à l'API autorisée cochée et que le groupe d'accès de cet utilisateur ait tous les droits requis pour utiliser cet outil, voir plus bas. Pour des raisons de sécurité, utiliser un utilisateur différent dans la (les) résidence(s) pour chaque outil avec des droits d’accès limiter à cet outil seulement.
Télécharger la dernière version de l'outil. Suivez le lien: https://gitlab.telemedic.ca/client-tools/sofi-bill-to-primmo/-/releases
Extraire le contenu du fichier compressé dans un sous-répertoire à la racine du disque C: (ex: c:\telemedic\billtoprimmo)
Il faut avoir les informations ci-dessous pour compléter la configuration.
Les informations de l'instance SOFI qui permettront a sofi-bill-to-primmo d'accéder aux données et les informations venant de Primmo qui identifient l'établissement qui doit être synchronisé.
Paramètre | Description |
De l'instance SOFI | |
url | URL vers le point d’accès de l’API SOFI |
apiaccesskey | Clé d’accès à l’API. |
apisecret | Secret associé à la clé d’accès. |
Venant de Primmo | |
VendorId | Vendor ID (selon la valeur configurée dans MDG) |
Les valeurs MdgFormatCol doivent être entre des guillemets | |
MdgFormatCol09 | Valeur à inscrire dans la colonne 9 du fichier MDG |
MdgFormatCol11 | Valeur à inscrire dans la colonne 11 du fichier MDG |
MdgFormatCol14 | Valeur à inscrire dans la colonne 14 du fichier MDG |
MdgFormatCol15V | Valeur à inscrire dans la colonne 15V du fichier MDG |
MdgFormatCol15P | Valeur à inscrire dans la colonne 15P du fichier MDG |
Toutes ces valeurs sont optionnelles
Paramètre | Description | |
“StartDate”: | YYYY-MM-DD or YYYY-MM-DDTHH:mm:ssZ | Date et heure de début pour la recherche de SAC acceptés. Paramètre optionnel. |
“EndDate”: | YYYY-MM-DD or YYYY-MM-DDTHH:mm:ssZ | Date et heure de fin pour la recherche de SAC acceptés. Paramètre optionnel. |
“Language”: | “FR” ou “EN” | Langue utilisée pour la description des services dans les fichiers Primmo. Paramètre optionnel (défaut=“FR”) . |
“DryRun”: | true or false | Permet d'exécuter le programme en mode de simulation, i.e. sans archiver les SAC acceptés. Paramètre optionnel (défaut=false). |
“OutputDirectory”: | “output” | Permet de préciser le répertoire où seront générés les fichiers de facturation. Paramètre optionnel (défaut=“output”). |
“FileLogging”: | { “FilePath”: “log” } | Permet de préciser le répertoire où seront générés les fichiers de journalisation. Paramètre optionnel (défaut=“log”). |
“_comment” | “_comment”: “StartDate 2023-01-01T00:00:00Z” | permet de mettre en commentaire la ligne. |
Le «backslash» (\\) est utilisé comme caractère d'échappement pour les caractères spéciaux tels que la tabulation (\t), le saut de ligne (\n), et d'autres. Afin d'interpréter correctement les «backslashs» dans un répertoire pour un fichier JSON, il est nécessaire de les doubler.
Les chemins des répertoires dans la configuration pour OutputDirectory et FileLogging doivent donc contenir des «backslashs» doublés pour interpréter littéralement le «backslash». Par exemple, “\\ordi\chemin1\chemin2” devrait être écrit comme “\\\\ordi\\chemin1\\chemin2”.
{ "Companies": [ { "url": "https://siteduclient1.telemedic.ca", "apiaccesskey": "COMPANY1_API_ACCESS_KEY", "apisecret": "API_SECRET", "PrimmoBilling": { "VendorId": null, "MdgFormatCol09": null, "MdgFormatCol11": null, "MdgFormatCol14": null, "MdgFormatCol15V": null, "MdgFormatCol15P": null } }, { "url": "https://siteduclient2.telemedic.ca", "apiaccesskey": "COMPANY1_API_ACCESS_KEY", "apisecret": "API_SECRET", "PrimmoBilling": { "VendorId": null, "MdgFormatCol09": null, "MdgFormatCol11": null, "MdgFormatCol14": null, "MdgFormatCol15V": null, "MdgFormatCol15P": null } } ], "DryRun": true, "_comment": "StartDate 2023-01-01T00:00:00Z", "_comment": "EndDate 2023-08-16T23:59:59Z", "Language": "FR", "OutputDirectory": "output", "FileLogging": { "FilePath": "log" } }
Exécuter «run.cmd»
Module | Droit |
---|---|
Admin | Voir |
Facture | Voir |
Renseignements Généraux | Voir |
Le groupe d'accès utilisé doit disposer des autorisations nécessaires pour effectuer des archivages dans sa liste de droits.
{ "Billing": { "CanArchive": true } }
[WARN] IMPORTANT! DryRun will create the files but will not set archived status for charges. : Indique que sofi-bill-to-primmo s’exécute en mode DryRun et donc ne fera pas l’archivage des SAC facturables.
[ERROR] Files found in the output directory, check logs and clean output directory before retrying : sofi-bill-to-primmo arrête son exécution puisqu’il y a déjà des fichiers de type .csv ou .tmp dans le répertoire de sortie.
[ERROR] Invalid client credentials for VendorId X : L’information de clé-secret fournie pour se connecter à l’API du vendor ID est erronée ou l’utilisateur n’a pas les droits d’accès sur l’API.
[ERROR] default - Invalid output directory 'XXXX' : Le répertoire de sortie pour les fichiers de facturation n’existe pas.
[INFO] default - Log directory 'XXXX' created : L’outil sofi-bill-to-primmo informe de la création du répertoire de journalisation XXXX.
[INFO] default - Output directory is set to 'output' : L’outil sofi-bill-to-primmo informe que le répertoire par défaut ‘output’ est utilisé pour la génération des fichiers de facturation.
[INFO] default - Company XXXX, VendorId: 901. 1 resident(s) not processed (missing ExternalId) : indique que sofi-bill-to-primmo a détecté un (des) résident(s) qui a(ont) des services facturables, mais qui n’ont pas d’ExternalID. Ces services ne seront pas traités par sofi-bill-to-primmo.