Organisations

v2.0

Gestion multi-tenant : organisations, membres, roles et acces aux dossiers. Centralisez la gestion de vos cabinets et equipes avec un systeme de permissions granulaire.

Presentation #

Le systeme d'organisations d'Innov'Paie permet de gerer plusieurs cabinets ou entites au sein d'une meme plateforme. Chaque organisation est un espace isole qui regroupe ses propres domaines, identifiants OpenPaye, abonnements et membres.

Architecture multi-tenant. Chaque organisation est completement isolee des autres. Les donnees (domaines, dossiers, salaries, documents) ne sont accessibles qu'aux membres de l'organisation concernee.

Un utilisateur peut appartenir a plusieurs organisations et passer de l'une a l'autre via le switcher d'organisation dans la barre laterale. Les principales caracteristiques sont :

  • Isolation des donnees - Chaque organisation dispose de ses propres domaines, dossiers, salaries et documents. Aucun partage de donnees entre organisations.
  • Gestion des membres - Invitez des collaborateurs avec des roles specifiques (owner, admin, member, viewer) et gerez finement leurs acces.
  • Identifiants OpenPaye dedies - Chaque organisation dispose de ses propres identifiants OpenPaye, chiffres et securises cote serveur.
  • Abonnement Stripe lie - La facturation est geree au niveau de l'organisation via un compte Stripe Customer dedie.
  • Acces granulaire aux dossiers - Controlez precisement quels membres peuvent acceder a quels dossiers de paie.
  • Archivage des domaines et dossiers - Archivez les domaines et dossiers inactifs sans les supprimer, pour garder un historique propre.

Creation d'une organisation #

Il existe deux manieres de creer une organisation dans Innov'Paie, selon le moment ou l'utilisateur souhaite la configurer.

1

Lors de l'inscription

Lors de la creation d'un compte utilisateur, un champ optionnel companyName est disponible. Si ce champ est renseigne, une organisation est automatiquement creee avec ce nom et l'utilisateur en devient le owner (proprietaire).

  • L'organisation est creee avec le nom de l'entreprise fourni
  • L'utilisateur obtient automatiquement le role owner
  • Les identifiants OpenPaye sont configures ulterieurement
2

Depuis les parametres

Apres inscription, un utilisateur peut creer une nouvelle organisation depuis la page de parametres des organisations. Cette methode necessite de fournir les identifiants OpenPaye pour validation.

  • Renseigner le nom de l'organisation
  • Fournir les identifiants OpenPaye (nom d'utilisateur + mot de passe)
  • Les identifiants sont valides via connexion Puppeteer a OpenPaye
  • Les identifiants sont chiffres et stockes en base de donnees
  • La synchronisation des domaines demarre en arriere-plan
Flux de creation complet. Lors de la creation depuis les parametres, le flux est le suivant : validation des identifiants OpenPaye via Puppeteer → creation de l'organisation → attribution du role owner → chiffrement des identifiants → synchronisation des domaines en arriere-plan.

Flux de creation (depuis les parametres)

Identifiants
Validation
Creation
Chiffrement
Sync

Roles et hierarchie #

Chaque membre d'une organisation se voit attribuer un role qui determine ses permissions. Les roles suivent une hierarchie stricte : un role superieur dispose de toutes les permissions des roles inferieurs.

Role Niveau Description Permissions cles
Owner 4 Proprietaire de l'organisation Tous les droits, transfert de propriete, suppression de l'organisation, ne peut pas etre supprime
Admin 3 Administrateur de l'organisation Gestion des membres, invitations, modification des parametres, acces a tous les dossiers
Member 2 Membre de l'organisation Acces aux domaines et dossiers assignes, execution des automatisations, consultation des documents
Viewer 1 Observateur en lecture seule Consultation des dossiers et documents uniquement, aucune modification possible
Hierarchie des roles. Le systeme utilise une hierarchie numerique : Owner (4) > Admin (3) > Member (2) > Viewer (1). Un utilisateur avec un role de niveau N dispose de toutes les permissions des niveaux inferieurs. Par exemple, un Admin peut faire tout ce qu'un Member ou un Viewer peut faire.

Matrice des permissions

Action Viewer Member Admin Owner
Voir les dossiers
Lire les documents
Executer des automatisations
Inviter des membres
Modifier les roles
Gerer les acces dossiers
Modifier les parametres
Transferer la propriete
Supprimer l'organisation
Protection du proprietaire. Le membre avec le role Owner ne peut pas etre supprime de l'organisation. Pour changer de proprietaire, il faut d'abord transferer la propriete a un autre membre.

Gestion des membres #

Les administrateurs et proprietaires peuvent gerer les membres de l'organisation : inviter de nouveaux collaborateurs, modifier leurs roles et revoquer leurs acces.

Inviter des membres

Admin+

Envoyez une invitation par email a un collaborateur. Il recevra un lien pour rejoindre l'organisation. Vous pouvez definir son role au moment de l'invitation.

  • Saisir l'adresse email du collaborateur
  • Choisir le role a attribuer (viewer, member, admin)
  • Un email d'invitation est envoye automatiquement

Modifier les roles

Admin+

Changez le role d'un membre existant. Un admin ne peut promouvoir un membre qu'a un niveau egal ou inferieur au sien. Seul le owner peut promouvoir quelqu'un au role admin.

  • Selectionnez le membre dans la liste
  • Choisissez le nouveau role
  • Le changement est effectif immediatement

Retirer un membre

Admin+

Supprimez un membre de l'organisation. Il perdra immediatement acces a toutes les donnees. Le proprietaire (owner) ne peut pas etre retire.

Quitter une organisation

Tous

Tout membre peut quitter une organisation de son propre chef. Le proprietaire doit d'abord transferer la propriete avant de pouvoir quitter.

Acces aux dossiers #

Le systeme d'acces aux dossiers permet de controler finement quels membres peuvent acceder a quels dossiers de paie. Cette fonctionnalite est particulierement utile pour les cabinets comptables gerant de nombreux clients.

Dossiers restreints. Un dossier peut etre marque comme "restreint" (isRestricted: true). Dans ce cas, seuls les membres ayant un acces explicite (via FolderAccess) ou les admins/owners peuvent y acceder.

Operations disponibles

Lister les acces d'un dossier

Consultez la liste de tous les membres ayant acces a un dossier specifique, avec leur role et la date d'attribution de l'acces.

Accorder un acces

Attribuez l'acces a un dossier restreint a un membre specifique. L'acces est effectif immediatement. Admin+ requis.

Revoquer un acces

Retirez l'acces d'un membre a un dossier restreint. Le membre perd immediatement la visibilite sur ce dossier et ses documents. Admin+ requis.

Acces implicite pour les admins. Les membres avec le role Admin ou Owner ont automatiquement acces a tous les dossiers, meme les dossiers restreints. Il n'est pas necessaire de leur attribuer un acces explicite.

Guards de securite

Cote backend, l'acces aux dossiers est protege par des guards NestJS qui verifient a la fois l'appartenance a l'organisation et les droits specifiques :

// DomainOwnerGuard et FolderOwnerGuard verifient :
1. L'utilisateur est-il proprietaire direct (legacy) ?
2. L'utilisateur est-il membre de l'organisation ?
3. Le dossier est-il restreint ?
4. Si restreint, l'utilisateur a-t-il un FolderAccess ?
5. Si admin/owner, acces implicite a tout.

Switcher d'organisation #

Le switcher d'organisation est un composant situe dans la barre laterale, juste en dessous du logo Innov'Paie. Il permet de basculer rapidement entre les differentes organisations auxquelles l'utilisateur appartient.

Fonctionnement

  • 1
    Le switcher affiche le nom et le logo de l'organisation actuellement selectionnee
  • 2
    En cliquant dessus, un menu deroulant affiche toutes les organisations de l'utilisateur
  • 3
    En selectionnant une autre organisation, le contexte change immediatement
  • 4
    Les domaines, dossiers, salaries et documents affiches sont ceux de la nouvelle organisation
  • 5
    L'organisation selectionnee est persistee dans le localStorage pour etre conservee entre les sessions
Persistance du choix. Le store Zustand (organisations.store.ts) persiste l'UUID de l'organisation courante dans le localStorage. Ainsi, lorsque l'utilisateur revient sur la plateforme, il retrouve directement l'organisation qu'il avait selectionnee.
Creation rapide. Le switcher inclut egalement un bouton "Creer une organisation" qui ouvre la modale de creation (CreateOrganisationModal) sans quitter la page en cours.

Parametres de l'organisation #

La page de parametres de l'organisation (/organisations) regroupe toutes les informations et options de configuration de l'organisation courante.

Informations de l'entreprise

Les informations suivantes peuvent etre configurees par les administrateurs et le proprietaire :

Champ Description Requis
Nom Nom de l'organisation / cabinet
Logo Logo de l'entreprise (affiche dans le switcher) Optionnel
Email Adresse email de contact de l'entreprise Optionnel
Telephone Numero de telephone de contact Optionnel
SIRET Numero SIRET de l'entreprise (14 chiffres) Optionnel
Site web URL du site web de l'entreprise Optionnel
Adresse Adresse postale du siege social Optionnel

Facturation Stripe

Chaque organisation est liee a un Stripe Customer dedie. Cela permet de gerer les abonnements, factures et methodes de paiement au niveau de l'organisation plutot qu'au niveau de l'utilisateur individuel.

  • Un Stripe Customer est cree automatiquement a la creation de l'organisation
  • Les abonnements sont factures a l'organisation, pas a l'utilisateur
  • Seuls les admins et le owner peuvent gerer la facturation

Gestion des membres

La page de parametres inclut une section dediee a la gestion des membres. Elle affiche la liste de tous les membres avec :

  • Nom, prenom et email de chaque membre
  • Role actuel avec badge de couleur
  • Date d'ajout a l'organisation
  • Actions rapides : modifier le role, retirer le membre

Archivage

Les domaines et dossiers d'une organisation peuvent etre archives. L'archivage permet de masquer les elements inactifs sans les supprimer, preservant ainsi l'historique et les donnees.

Archiver un domaine

Le domaine et tous ses dossiers sont masques de la vue par defaut. Les donnees restent intactes et peuvent etre restaurees a tout moment.

Archiver un dossier

Le dossier est masque de la liste active. Les documents, salaries et historique d'automatisations sont conserves et restaurables.

Retrocompatibilite. Le systeme supporte egalement le mode "legacy" ou les domaines et dossiers sont lies directement a un utilisateur (sans organisation). Les guards DomainOwnerGuard et FolderOwnerGuard verifient les deux cas : propriete directe et appartenance a l'organisation.
Precedent Coffre-Fort
Suivant Templates