Skip to content

Organisations

Audience

Cet article s'adresse aux opérateurs de la plateforme GCM. Les administrateurs d'église devraient plutôt consulter Utilisateurs et rôles.

L'onglet Organisations à Administrateur de plateforme -> Organisations (/platform/organizations) est la liste maîtresse de chaque espace de travail sur la plateforme. C'est la page dans laquelle vous vivez pendant les appels de support : recherchez par nom, changez un plan en ligne, ouvrez la feuille latérale pour voir le personnel et les détails de facturation, ou poussez un changement de plan en masse sur les dix organisations que vous venez de monter en gamme après un appel téléphonique.

Liste des organisations avec bandeau KPI

Le bandeau KPI

Les cinq tuiles en haut reflètent l'onglet Vue d'ensemble afin que les chiffres correspondent toujours. Elles sont calculées côté client à partir des données mises en cache organisations/plans — pas d'aller-retour supplémentaire :

  • Total organisations — chaque ligne dans organizations, indépendamment du statut.
  • Activessubscription_status = 'active'.
  • En essaisubscription_status = 'trialing'.
  • En retardsubscription_status = 'past_due'. S'allume en ambre quand supérieur à zéro.
  • MRR — somme de plans.price_monthly_usd pour chaque organisation active. Exclut les essais et les en retard. Les cents sont convertis en dollars au moment de l'affichage.

Si le MRR semble incorrect, le coupable habituel est une ligne de plan manquant price_monthly_usd — corrigez le plan dans Plans et modules plutôt que de toucher aux organisations.

Rechercher et filtrer

La boîte de recherche effectue un ilike côté serveur contre le nom, le slug et le domaine personnalisé. La pagination utilise 25 lignes par défaut ; les résultats sont anti-rebond à 300 ms pour que taper vite n'inonde pas le réseau.

Cliquez sur le bouton Filtres pour ajouter jusqu'à quatre dimensions de restriction :

  • Plan — starter / growth / network / unlimited.
  • Statut — trialing / active / past_due / canceled / paused.
  • Créé du / au — plage de dates contre created_at.

La pastille de filtre devient rouge tant qu'au moins un est actif ; cliquez sur Effacer dans la barre de filtres pour tous les supprimer.

Modifier une seule ligne

Le plan et le statut se rendent tous deux en tant que contrôles SearchableDropdown en ligne. Choisir une nouvelle valeur déclenche immédiatement updateOrgPlan ou updateOrgStatus — il n'y a pas de boîte de dialogue de confirmation. La requête en cache est invalidée afin que le bandeau KPI se rééquilibre au même rendu.

Lorsque vous changez de plan, la limite de membres suit : starter -> 500, growth -> 2 500, network -> 10 000, unlimited -> 99 999 999 (la sentinelle de base de données pour "sans plafond"). Si vous avez besoin d'une limite hors liste, utilisez la boîte de dialogue Modifier l'abonnement des Opérations de facturation, qui expose memberLimit directement.

Cliquez sur le chevron à la fin d'une ligne pour ouvrir la feuille latérale. La feuille tire une charge de détails plus profonde — paiements récents, liste du personnel, surcharges de modules, la bascule par organisation "autoriser les dons via la passerelle de la plateforme" et le bouton de suppression de la zone de danger.

Créer une organisation

Le bouton Créer une organisation ouvre une petite boîte de dialogue. Vous n'avez qu'à remplir le nom et l'e-mail de l'administrateur ; le slug se dérive automatiquement du nom (First Church -> first-church) et le plan se met par défaut à starter avec un essai de 14 jours.

Sauter le paiement

Basculez Sauter le paiement lorsque vous semez un espace de travail de test ou que vous accordez le droit acquis à une église partenaire. Cela contourne entièrement la tentative de facturation de fin d'essai. À utiliser avec parcimonie — chaque paiement sauté apparaît comme un drapeau dans le rapprochement de facturation mensuel.

La boîte de dialogue appelle l'assistant createOrganization, qui provisionne :

  • Une ligne dans organizations avec le slug et le plan choisis.
  • Les modules de démarrage pour le plan.
  • Un e-mail d'invitation à l'adresse de l'administrateur.
  • Une entrée dans platform_audit_log avec action = 'org_created'.

Actions en masse

Cochez la case sur deux lignes ou plus et une barre flottante apparaît en haut du tableau :

  • Changer le plan — applique un plan à chaque ligne sélectionnée, mettant à jour chaque limite de membres au passage.
  • Changer le statut — applique un statut à chaque ligne sélectionnée. Utile pour mettre en pause une cohorte pendant une migration.
  • Supprimer — ouvre une confirmation de suppression définitive. La boîte de dialogue accepte une chaîne de raison qui est enregistrée contre chaque suppression dans platform_audit_log.

Les opérations en masse s'exécutent séquentiellement, pas dans une transaction. Un toast à la fin rapporte les succès et les échecs séparément ("Plan mis à jour pour 8 organisation(s) — 2 échouées"). Les lignes échouées restent sélectionnées pour que vous puissiez réessayer sans avoir à les retrouver.

Appuyez sur Esc à tout moment pour effacer la sélection.

Journal de suppression

Sous le tableau principal, la carte Journal de suppression liste les dernières suppressions définitives de platform_organization_deletions. Chaque ligne montre le nom de l'organisation, le slug, le nombre de membres au moment de la suppression, qui l'a fait et la raison. C'est la piste d'audit pour "où est passée Springfield Bible ?" — la suppression douce n'est pas utilisée pour les organisations parce que la suppression en cascade doit libérer le slug pour la réutilisation.

Pas d'annulation

Supprimer une organisation est irréversible. Tous les membres, l'assiduité, les dons, les champs personnalisés et les fichiers de stockage de cette organisation sont supprimés. Si le client pourrait revenir, mettez le statut à canceled à la place — il préserve les données et libère la place dans les calculs MRR.

Quand les modifications en ligne échouent

La plupart des échecs ici proviennent de RLS ou de violations de contraintes :

  • "new row violates row-level security policy" — votre compte a perdu la revendication platform_admin ou superadmin. Déconnectez-vous et reconnectez-vous.
  • "violates check constraint orgs_member_limit_positive" — vous avez essayé de fixer une limite en dessous de 1 via l'éditeur de plan en masse avec une ligne de plan personnalisée. Corrigez le plan ou utilisez la boîte de dialogue des opérations de facturation.
  • "duplicate key value violates unique constraint organizations_slug_key" — le slug que vous avez tapé dans Créer une organisation est pris. Les slugs sont globaux ; choisissez-en un nouveau ou vérifiez le journal de suppression pour confirmer que le précédent propriétaire est bien parti.

Pour tout le reste, ouvrez le Journal d'erreurs et filtrez par source = vercel_api — c'est là que les fonctions edge de création / suppression rapportent.