Overslaan naar inhoud
Icône de OneDrive et SharePoint — pièces jointes déposées dans Microsoft 365

OneDrive et SharePoint — pièces jointes déposées dans Microsoft 365

door Dyonysos
Gratis Odoo 20 Connector Kwaliteitscontrole: Geverifieerd OPL-1 (Odoo-propriëtair)

OneDrive SharePoint Integration for Odoo via Microsoft Graph — mirror Odoo attachments into a Microsoft 365 space: OAuth2 with admin consent, one folder per record, share link back, queue consumed by cron, Retry-After throttling honoured, and an explicit, configurable deletion policy. No network cal

Schermafbeeldingen

Microsoft 365 — Documents

Les pièces jointes d'Odoo déposées dans OneDrive et SharePoint

Un dossier par enregistrement, un lien de partage en retour, une file consommée au cron — et surtout les quatre choses que les connecteurs ratent : le jeton qui expire, le quota, la suppression, et l'appel réseau qui bloque un processus Odoo. Odoo 20 Community.

Non éprouvé contre un locataire Microsoft réel. Le programme développeur Microsoft 365, qui délivrait un locataire d'essai gratuit, est réservé depuis 2024 aux abonnés Visual Studio Professional ou Enterprise — vérifié le 14 septembre 2026. Toute la logique est éprouvée par 57 tests sur des réponses enregistrées, y compris les jetons expirés et les refus de quota, mais la conformité de bout en bout avec un vrai locataire ne l'est pas. Nous préférons l'écrire ici que vous le laisser découvrir. Un test d'intégration réelle est livré, prêt à lancer avec vos identifiants.

Odoo 20 Community — On Premise✔
Odoo.sh✔
Odoo Online (SaaS) — les appels sortants y sont interdits✘

Le constat

Les pièces jointes d'Odoo vivent dans Odoo. Les documents de l'entreprise vivent dans SharePoint. Entre les deux, quelqu'un recopie — et ce quelqu'un oublie.

Écrire un PUT vers Microsoft Graph prend vingt lignes. Le problème est tout ce qui l'entoure, et que les connecteurs traitent mal parce que ces cas sont rares en recette et certains en production : le jeton de rafraîchissement qui meurt un mardi matin, le quota atteint parce qu'un collègue a lancé un import de mille factures, la pièce jointe supprimée d'Odoo et la question de savoir si le document de l'entreprise doit disparaître avec elle, et l'envoi qui part depuis le processus qui sert la page. Ce module est fait de ces quatre réponses.

Le jeton expire, et le module le dit

Formulaire de la connexion « OneDrive — Pièces comptables ». La barre d'état est positionnée sur « Jeton expiré — reconnexion nécessaire », un bouton orange « Reconnecter » est apparu, et un bandeau rouge annonce que la file est arrêtée et que les six tâches en attente ne sont pas perdues.

La connexion est passée à « Jeton expiré — reconnexion nécessaire ». Le bandeau rouge dit exactement ce qui se passe : « La file est arrêtée pour cette connexion : les 6 tâche(s) en attente ne sont pas perdues et repartiront d'elles-mêmes dès la reconnexion. » Un bouton Reconnecter apparaît, et lui seul. Remarquez aussi les deux dates distinctes à droite : dernière tentative le 14 septembre, dernier appel abouti le 4 août — on lit la panne, on ne la devine pas.

🛑

La file s'arrête, rien n'est perdu

Les tâches restent « à faire ». Elles ne sont pas marquées en échec — une tâche en échec demanderait un geste de plus, pour chacune, le jour de la reconnexion.

🔁

Aucune tentative en boucle

Marteler un jeton mort toutes les dix minutes ne le ressuscite pas, et finit par faire bloquer le compte. Le retour est un geste humain.

🧭

Définitif ou passager, ce n'est pas pareil

invalid_grant et interaction_required exigent un humain. Un 503 du service de jetons se réessaie. Les confondre, c'est soit condamner une connexion vivante, soit marteler une connexion morte.

Le secret client aussi expire — au plus tard deux ans après sa création. Azure l'impose, et aucun module ne peut deviner cette date : elle se saisit. Un cron quotidien alerte trente jours avant. Un secret qui expire un vendredi soir sans que personne ne l'ait vu venir, c'est le même incident avec un mois de retard.

Un dossier par enregistrement

Liste « Fichiers déposés » : douze lignes, chacune avec son nom de fichier, sa connexion, son modèle res.partner, son chemin complet dans l'espace Microsoft de la forme Odoo/Contact/2026/Nom du client/fichier, son état Déposé ou En attente, et sa date de dépôt.

Le chemin est visible en clair : Odoo/Contact/2026/Menuiserie Vandeputte/Contrat cadre signé.pdf. Le gabarit {modele}/{annee}/{enregistrement} se réarrange comme vous voulez, et tout vit sous le dossier racine que vous avez nommé — le module n'écrit jamais ailleurs. Ici deux connexions suivent les mêmes contacts : chaque fichier a donc deux dépôts, l'un déjà parti vers SharePoint, l'autre encore en attente vers OneDrive. Le bouton Ouvrir n'apparaît que sur les lignes qui ont réellement obtenu un lien.

Trois dangers dans un nom de fichier, trois traitements

DangerCe qui arrive sans traitementTraitement
Évasion de cheminUn enregistrement nommé ../../secret écrit hors du dossier racineLes .. et les séparateurs sont retirés, pas échappés
Caractères refusés« : ? * | " < > » font échouer le dépôt sur un message obscur de GraphRemplacés par un tiret
Noms réservés WindowsUn dossier CON, NUL ou COM1 ne peut pas exister, extension comprisePréfixés par un tiret bas

Rien ne part tant que vous n'avez rien nommé

Formulaire de la connexion « SharePoint — Documents commerciaux », état Active, onglet Modèles suivis ouvert. Deux lignes seulement : Sociétés (res.company) et Contact (res.partner). La politique de suppression affiche « Conserver le fichier distant ».

Aucun modèle Odoo n'est suivi par défaut, et l'écran le dit lui-même. Un connecteur qui se mettrait à téléverser toute votre base au moment de son installation serait une mauvaise surprise doublée d'une facture de stockage — et il n'y aurait aucun moyen de revenir en arrière : les fichiers seraient partis. Notez à gauche la politique de suppression sur « Conserver le fichier distant », qui est le défaut.

La suppression est votre décision, jamais la nôtre

PolitiqueCe qui se passeAppel émis
Conserver
le défaut
Le dépôt passe à « conservé », le fichier distant reste, et la trace de ce qu'il est devenu est gardéeaucun
CorbeilleLe fichier va dans la corbeille du site, récupérable pendant la durée de rétention de votre locataireun
SupprimerPurge définitive, par l'en-tête Prefer: permanent-delete. Irréversibleun

Le défaut n'est pas de la prudence de façade. Retirer une pièce jointe d'Odoo n'est pas décider du sort d'un document pour l'entreprise : quelqu'un peut nettoyer un doublon dans Odoo alors que le fichier sert de pièce justificative ailleurs, et une suppression distante est irréversible pour lui. Un défaut destructeur se découvre le jour où il est trop tard — un test garde donc ce défaut.

Une file qui ne ment pas sur son état

Liste « File de transfert » : douze tâches avec leur connexion, leur sens, leur dépôt, leur état, une colonne Orphelines, le nombre de tentatives et la date de prise en charge. Une ligne orange est en cours et cochée orpheline, avec seulement un bouton Annuler ; une ligne rouge est échouée après deux tentatives, avec les boutons Relancer et Annuler.

Deux lignes disent toute la discipline du module. La ligne orange est « En cours », cochée orpheline, prise en charge il y a deux jours : son processus est mort en cours d'envoi. Elle ne porte que le bouton Annuler — pas de Relancer. La ligne rouge est simplement « Échouée » après deux tentatives : elle, se relance.

La différence n'est pas cosmétique. D'une tâche échouée, on sait qu'elle n'a rien fait. D'une orpheline, on ne sait pas si l'envoi est parti ni s'il a abouti — et un envoi qui a abouti puis qu'on refait crée un doublon dans SharePoint, qu'il faudra retrouver à la main. Le module ne la relance donc jamais tout seul : il la marque, la compte, et attend une décision. La relancer demande de l'annuler d'abord, ce qui oblige à constater qu'on abandonne l'envoi précédent au lieu de l'oublier.

Le quota est respecté, pas subi

Sur un 429, le module lit l'en-tête Retry-After, met la connexion en pause jusqu'à cette date, et remet la tâche en file. Graph limite parfois un locataire entier par un 503 assorti d'un Retry-After : ce cas est traité comme un quota, pas comme une panne. Sans en-tête on attend une minute — réessayer aussitôt est le plus sûr moyen d'être limité plus longtemps — et un Retry-After d'une journée est borné à une heure, faute de quoi il bloquerait la file pour tout le monde.

C'est la seule reprise automatique du module, et l'exception est délibérée. Elle se justifie exactement là où la règle de l'orpheline ne s'applique pas : sur un 429, on sait que l'appel n'a rien fait, puisque Graph l'a refusé avant de le traiter. Aucun doublon n'est possible.

Aucun appel réseau dans un processus qui sert une page

Téléverser un document ne fait qu'écrire une ligne en base. L'envoi part du cron, toutes les dix minutes, ou d'une action « maintenant ». La règle ne repose pas sur la discipline de celui qui écrira le prochain bouton : le transport refuse de partir si le contexte ne porte pas l'autorisation explicite. Un appel tenté depuis un champ calculé tombe pendant les tests, et non en production un jour de charge.

L’application en mouvement

Le module en marche, enregistré dans le vrai client Odoo 19 : graph connexion, graph connexion (fiche), graph depot puis graph tache. Ce n’est pas un montage — ce sont les trames du navigateur sur le module livré, pris sur sa propre base.

Vidéo MP4 — 232 ko, 1280 px, 3.3 s, 4 écrans. Une amorce animée est aussi livrée en GIF (222 ko, 560 px) pour les contextes qui n’affichent pas la balise vidéo.

Amorce animée du parcours de dyo_ms_graph_documents
Amorce GIF — 222 ko. Enregistrement réel du client Odoo 19 sur une base dédiée à ce module, avec les données de démonstration livrées avec lui.

Ce que le module ne fait pas

  • Les fichiers de plus de quatre mégaoctets. Au-delà, Graph exige une session d'envoi fragmentée, absente de cette version. Le fichier reste dans Odoo, intact, et la tâche dit pourquoi — plutôt que de laisser Graph rendre une erreur incompréhensible.
  • Il ne rapatrie pas dans Odoo les fichiers créés depuis SharePoint, et ne synchronise pas dans les deux sens.
  • Il ne remplace pas le module Documents d'Odoo Enterprise.
  • Il ne fonctionne pas sur Odoo Online : les appels sortants y sont interdits.

57 tests, aucun sur le réseau. Le transport est remplacé par des réponses enregistrées, et le remplaçant compte les appels — ce qui permet d'affirmer qu'un chemin de code n'a rien appelé du tout, l'assertion la plus difficile à faire autrement. Chaque règle centrale a ensuite été neutralisée une par une pour vérifier que des tests tombaient bien : garde réseau, jeton définitivement mort, quota, politique de suppression par défaut, assainissement des chemins, relance des orphelines. Un test qui ne tombe pas quand on casse sa règle ne teste rien.

OneDrive et SharePoint — pièces jointes déposées dans Microsoft 365 — capture 1
OneDrive et SharePoint — pièces jointes déposées dans Microsoft 365 — capture 1
OneDrive et SharePoint — pièces jointes déposées dans Microsoft 365 — capture 2
OneDrive et SharePoint — pièces jointes déposées dans Microsoft 365 — capture 2
OneDrive et SharePoint — pièces jointes déposées dans Microsoft 365 — capture 3
OneDrive et SharePoint — pièces jointes déposées dans Microsoft 365 — capture 3
OneDrive et SharePoint — pièces jointes déposées dans Microsoft 365 — capture 4
OneDrive et SharePoint — pièces jointes déposées dans Microsoft 365 — capture 4
OneDrive et SharePoint — pièces jointes déposées dans Microsoft 365 — capture 5
OneDrive et SharePoint — pièces jointes déposées dans Microsoft 365 — capture 5

Wat deze app niet doet

  • Les fichiers de plus de quatre mégaoctets. Au-delà, Graph exige une session d'envoi fragmentée, absente de cette version. Le fichier reste dans Odoo, intact, et la tâche dit pourquoi — plutôt que de laisser Graph rendre une erreur incompréhensible.
  • Il ne rapatrie pas dans Odoo les fichiers créés depuis SharePoint, et ne synchronise pas dans les deux sens.
  • Il ne remplace pas le module Documents d'Odoo Enterprise.
  • Il ne fonctionne pas sur Odoo Online : les appels sortants y sont interdits.

Vereiste applicaties van de appstore

Geen.

Gebruikte Odoo Community-modules

base

SerieVersieStatusGepubliceerd op
20.020.0.1.0.0 Beschikbaar 02-10-2026
19.019.0.1.0.0 Beschikbaar

Fiche gegenereerd uit de code van de uitgever (privé-repository, branch 20.0): de broncode is niet gepubliceerd.

Automatische controle van de appstore (los van de uitgever), toegepast op alle applicaties. Conforme.

ControleResultaatEffect indien afwezig
Manifeste lisible sans exécution conforme bloquant
Licence reconnue (OPL-1) conforme bloquant
Aucune dépendance vers Odoo Enterprise conforme bloquant
Aucun import de code Enterprise conforme bloquant
Aucun en-tête de licence Enterprise conforme bloquant
Icône static/description/icon.png conforme déclasse
Description (static/description/index.html ou README) conforme déclasse
Tests automatisés (tests/test_*.py) conforme déclasse
Traduction française (i18n/fr.po) conforme info
Section « Ce que le module ne fait pas » conforme info
Titre de 70 caractères au plus (67 actuellement) conforme info
Résumé en français absent info

Guide de l'utilisateur — OneDrive et SharePoint

Ce guide vous mène de l'application Azure vide au premier fichier déposé, puis vous explique quoi faire le jour où quelque chose casse — parce que quelque chose cassera, et que c'est ce jour-là qu'un guide sert.

À lire avant de commencer. Ce module n'a jamais été éprouvé contre un locataire Microsoft réel : le programme développeur Microsoft 365 n'est plus ouvert sans abonnement Visual Studio. La logique est testée sur des réponses enregistrées ; la conformité de bout en bout ne l'est pas. Faites votre première mise en service sur un dossier d'essai, pas sur vos documents comptables.


1. Préparer l'application Azure

Tout part du portail Azure, et rien ne peut être fait depuis Odoo : Microsoft exige que l'application soit déclarée et consentie de son côté.

1.1. Créer l'inscription d'application

  1. Ouvrez portal.azure.com > Microsoft Entra ID > Inscriptions d'applications > Nouvelle inscription.
  2. Donnez-lui un nom qui vous parlera dans deux ans — « Odoo — dépôt des pièces jointes » et non « test1 ».
  3. Comptes pris en charge : ce répertoire d'organisation uniquement, sauf si vous savez précisément pourquoi vous voulez autre chose.
  4. Validez.

Relevez sur la page d'accueil de l'application :

Ce que dit Azure Ce que demande Odoo
ID d'application (client) Identifiant d'application (client)
ID d'annuaire (locataire) Identifiant de locataire (tenant)

1.2. Créer le secret client

Certificats et secrets > Nouveau secret client.

Azure impose une durée de vie, deux ans au maximum. Notez la date d'expiration : vous allez la saisir dans Odoo, et c'est elle qui déclenchera l'alerte trente jours avant. Copiez la valeur du secret immédiatement — Azure ne la remontre jamais.

1.3. Accorder les autorisations

Autorisations d'API > Ajouter une autorisation > Microsoft Graph.

Pour le mode application, celui d'un site SharePoint d'entreprise, choisissez Autorisations d'application :

  • Files.ReadWrite.All
  • Sites.ReadWrite.All

Puis — et c'est l'étape qu'on oublie — cliquez sur « Accorder un consentement administrateur pour ». Sans ce clic, le jeton sera délivré et Graph refusera chaque appel avec un 403 incompréhensible.

Pour le mode délégué, celui d'un OneDrive personnel, choisissez Autorisations déléguées et ajoutez offline_access — sans lui, Microsoft ne délivre aucun jeton de rafraîchissement, et la connexion mourra au bout d'une heure sans explication.

1.4. Trouver l'identifiant du lecteur

C'est la partie la moins agréable, et Microsoft ne l'a pas simplifiée.

Pour un site SharePoint, avec l'explorateur Graph (developer.microsoft.com/graph/graph-explorer), connecté avec un compte de votre organisation :

GET https://graph.microsoft.com/v1.0/sites/contoso.sharepoint.com:/sites/vente

La réponse porte l'id du site, de la forme contoso.sharepoint.com,<guid>,<guid>. Puis :

GET https://graph.microsoft.com/v1.0/sites/<cet id>/drives

La réponse liste les bibliothèques de documents ; l'id de celle que vous visez est votre identifiant de lecteur.

Pour un OneDrive personnel, GET /me/drive suffit.


2. Créer la connexion dans Odoo

Paramètres > Microsoft 365 > Connexions > Nouveau.

Champ Ce qu'on y met
Nom Ce que vous voulez lire dans la liste : « SharePoint — Documents commerciaux »
Mode d'authentification Application pour un site SharePoint, Délégué pour un OneDrive personnel
Identifiant de locataire L'ID d'annuaire relevé en 1.1
Identifiant d'application L'ID d'application relevé en 1.1
Secret client La valeur copiée en 1.2. Visible des seuls administrateurs, jamais écrite dans le journal
Le secret expire le La date relevée en 1.2. Ne la sautez pas : sans elle, l'expiration vous surprendra
Identifiant du site Pour SharePoint, l'id relevé en 1.4. Vide en OneDrive personnel
Identifiant du lecteur L'id de la bibliothèque, relevé en 1.4
Dossier racine Odoo par défaut. Tout ce que le module dépose vit là-dessous, et nulle part ailleurs
Arborescence {modele}/{annee}/{enregistrement} par défaut

L'arborescence

Les jetons disponibles :

Jeton Ce qu'il rend
{modele} Le nom lisible du modèle Odoo — « Contact », « Commande client »
{enregistrement} Le nom affiché de l'enregistrement
{id} Son identifiant numérique
{annee}, {mois} La date du dépôt

Un jeton mal orthographié ne fait pas tomber le dépôt : l'arborescence se rabat sur {modele}/{enregistrement}. Une faute de frappe dans un gabarit ne doit pas punir une pièce jointe qui, elle, va très bien.

Les noms sont assainis automatiquement. Un client nommé Dupont & Fils : S.A. donnera un dossier Dupont & Fils - S.A. — les deux-points sont refusés par Windows. Un enregistrement nommé .. ne vous fera pas sortir du dossier racine.


3. Choisir ce qui part

Onglet « Modèles suivis ».

Rien ne part tant que vous n'avez rien nommé ici. C'est délibéré : un connecteur qui téléverserait toute votre base à l'installation ne vous laisserait aucun moyen de revenir en arrière — les fichiers seraient partis.

Ajoutez les modèles dont vous voulez que les pièces jointes soient déposées : res.partner, sale.order, account.move… Les modèles à pièces jointes techniques — vues, ressources web — sont refusés : les envoyer remplirait votre espace Microsoft de fichiers que personne ne lira.


4. Choisir ce qui se passe à la suppression

Champ « Quand la pièce jointe est supprimée d'Odoo ».

Choix Effet
Conserver le fichier distant (défaut) Le fichier reste dans Microsoft 365. Le dépôt passe à « conservé » et garde la trace
Déplacer vers la corbeille Le fichier va dans la corbeille du site, récupérable pendant la durée de rétention de votre locataire
Supprimer définitivement Le fichier est purgé. Irréversible

Prenez ce choix au sérieux. Retirer une pièce jointe d'Odoo n'est pas décider du sort d'un document pour votre entreprise : quelqu'un peut nettoyer un doublon dans Odoo alors que le fichier sert de pièce justificative ailleurs.


5. Vérifier que ça marche

Bouton « Essayer maintenant », en haut du formulaire.

Il appelle Microsoft Graph pour de vrai, demande la racine de votre lecteur, et affiche ce qui revient. C'est ainsi qu'on valide un consentement fraîchement accordé.

Ce que vous voyez Ce que ça veut dire
État Active Tout est en place
AADSTS7000215 Le secret client est faux ou a été recopié tronqué
AADSTS700016 L'identifiant d'application n'existe pas dans ce locataire
403 accessDenied Le consentement administrateur n'a pas été accordé (étape 1.3)
404 itemNotFound L'identifiant du lecteur est faux
Code HTTP 0 Rien n'est revenu : votre serveur Odoo n'a pas d'accès sortant

Déposez ensuite une pièce jointe sur un enregistrement d'un modèle suivi. Elle apparaît aussitôt dans Fichiers déposés, à l'état « en attente », et dans la File de transfert.

Elle partira au prochain passage du cron, toutes les dix minutes. Pour ne pas attendre : ouvrez la file et lancez « Consommer maintenant ».


6. Le jour où ça casse

Un bandeau rouge : « Le jeton de rafraîchissement a expiré »

C'est l'incident normal d'un connecteur Microsoft, pas un défaut du module.

Ce qui se passe déjà, sans vous : la file est arrêtée pour cette connexion. Vos tâches en attente ne sont pas perdues et ne sont pas marquées en échec. Aucun appel n'est tenté — marteler un jeton mort finit par faire bloquer le compte.

Ce que vous avez à faire :

  1. lisez le message affiché. AADSTS700082 signifie quatre-vingt-dix jours sans usage ; AADSTS65001, un consentement retiré ;
  2. réglez la cause côté Microsoft — reconsentez l'application, ou renouvelez le secret s'il a expiré ;
  3. revenez sur la connexion et cliquez « Reconnecter ».

Les tâches repartent d'elles-mêmes au passage suivant du cron. Vous n'avez aucune tâche à relancer une par une.

Un bandeau bleu : « Microsoft Graph a demandé d'attendre »

Vous avez atteint une limite de débit. Le module a lu le délai demandé par Microsoft, mis la connexion en pause jusque-là, et remis les tâches en file. Il n'y a rien à faire : la file reprendra seule.

Si cela revient souvent, espacez le cron ou réduisez la taille du lot (dyo_ms_graph_documents.lot_par_passage, vingt par défaut).

Une tâche marquée « orpheline »

Son processus est mort en cours d'envoi. On ignore si le fichier est parti et s'il a abouti.

Le module ne la relance jamais tout seul, et c'est voulu : si l'envoi avait abouti, le refaire créerait un doublon dans SharePoint, que vous devriez retrouver à la main.

Allez voir dans votre espace Microsoft si le fichier est là :

  • il y est → annulez la tâche ;
  • il n'y est pas → annulez-la, puis relancez-la. Le détour est volontaire : il vous oblige à constater que vous abandonnez l'envoi précédent.

Le secret client va expirer

Un bandeau orange trente jours avant, et une ligne dans le journal Odoo chaque jour. Créez un nouveau secret dans Azure, saisissez sa valeur et sa nouvelle date dans la connexion. Rien d'autre ne change.

Un fichier trop gros

« Au-delà de quatre mégaoctets, Microsoft Graph exige une session d'envoi fragmentée, que ce module ne prend pas en charge. »

La pièce jointe reste dans Odoo, intacte. Déposez le fichier à la main dans SharePoint, puis annulez la tâche.


7. Les écrans de surveillance

Fichiers déposés

Un dépôt par fichier. Il survit à la pièce jointe : quand celle-ci est supprimée d'Odoo, le dépôt reste, avec le chemin distant et l'identifiant du fichier. Sans lui, on ne saurait plus quel fichier distant existe encore.

Le bouton Ouvrir mène au fichier dans Microsoft 365.

File de transfert

Filtres utiles : « À faire », « Échouées », et « Orphelines — décision attendue ».

Journal des appels

Durée, code de retour et résumé de chaque appel, les succès compris. Un journal qui ne garderait que les erreurs ne servirait à rien le jour où il faut prouver qu'un fichier est bien parti, ni celui où l'on cherche pourquoi les dépôts sont passés de trois cents millisecondes à huit secondes.

Les jetons et le secret ne sont jamais écrits ici.

Purge automatique à deux mois.


8. Réglages avancés

Paramètres > Technique > Paramètres système :

Clé Défaut Effet
dyo_ms_graph_documents.lot_par_passage 20 Nombre de tâches traitées par passage du cron
dyo_ms_graph_documents.minutes_orpheline 30 Délai au-delà duquel une tâche « en cours » est déclarée orpheline

Les quatre crons sont dans Paramètres > Technique > Actions planifiées : vider la file (10 min), signaler les orphelines (1 h), signaler les secrets qui expirent (1 j), purger le journal (1 sem).


9. Ce que le module ne fait pas

  • Odoo Online (SaaS) : impossible, les appels sortants y sont interdits. On Premise et Odoo.sh uniquement.
  • Les fichiers de plus de quatre mégaoctets.
  • Le rapatriement dans Odoo des fichiers créés depuis SharePoint.
  • La synchronisation dans les deux sens.

Beoordelingen van ingelogde klanten. Eén beoordeling per klant; de uitgever kan erop reageren. Log in om een beoordeling te plaatsen.

Uitgever
DYONYSOS
E-mail
contact@omnifloo.com
Omnifloo-klanten
Support inbegrepen volgens uw formule: helpcentrum.