Se rendre au contenu

Écart fonctionnel & business : modules NGO vs Odoo Enterprise 19

Analyse d'écart fonctionnel — Modules NGO vs Odoo 19

Ce que la suite NGO ajoute objectivement au-dessus d'Odoo Enterprise 19 sur la chaîne de collecte de fonds : dons réguliers SDD, encaissement, lettrage, base donateurs, marketing on/offline et service donateurs.

www.blueseamless.com · contact@blueseamless.com · Août 2026 ngo-19.0 · 18 modules analysés odoo-ee-19.0 · 768 addons Enterprise Périmètre NGO : ≈ 26 700 lignes Python + ≈ 20 300 lignes XML/JS
M

Méthode, périmètre et lecture

Sources. Comparaison réalisée par lecture directe du code des trois archives fournies : la suite NGO (v19.0) et Odoo Enterprise 19.0 (socle technique inclus). Aucune capacité n'est supposée : chaque ligne des tableaux correspond à des modèles, champs, crons, assistants ou contrôleurs identifiés dans le code.

Principe de lecture. La suite NGO ne remplace pas Odoo : elle s'appuie sur les rails Enterprise (mandats SEPA, lots de paiement, abonnements, lettrage, helpdesk, CODA) et ajoute la couche d'automatisation et de métier « collecte de fonds » qui n'existe pas nativement. Les tableaux distinguent donc ce qui est réutilisé du natif et ce qui est apporté.

Natif Odoo Enterprise 19 Apporté par la suite NGO Absent / chemin manuel  Partiel (brique générique, pas le flux métier)
V

Vue d'ensemble — où se situe la valeur

COUCHE NGO métier collecte ENTERPRISE 19 rails réutilisés ENTERPRISE 19 socle Suite NGO — 18 modules · 9 blocs fonctionnels 1 · SDDAutomation 2 · SDDBatch 3 · SDDRejets 4 · Lettragedes dons 5 · Fichedonateur 6 · Sync marketing& RGPD 7 · Collecteen ligne 8 · Direct mailingpostal 9 · DonorCare Applications Enterprise requises et réutilisées account_accountant · account_batch_payment · account_sepa_direct_debit · account_iso20022 sale_subscription · helpdesk · l10n_be_coda · data_cleaning · documents Socle technique & apps de base (inclus dans Enterprise 19) contacts · account · sale · payment · website · mass_mailing · utm · partnership
Fig. V1 — Position de la suite : une couche métier « collecte de fonds » posée sur les rails Enterprise. Elle n'en réécrit aucun ; elle les alimente, les orchestre et les complète.
Acquisitionweb · postal · rue Enrôlementcontact → mandat → abonnement Encaissementprélèvements SEPA Contrôlerejets · lettrage · reçus Fidélisationrelation & soin réactivation, nouvel appel, montée en don 7 en ligne · 8 postal 1 bulletins d'agences 1 pipeline · 9 guichet natif : mandat + abo 2 lots planifiés natif : batch pain.008 3 rejets · 4 lettrage natif : CODA + widget 5 fiche · 6 sync RGPD 9 Donor Care
Fig. V2 — Chaîne de valeur du donateur. Chaque étape est couverte par au moins un bloc NGO (bleu) ; les rails Enterprise (prune) fournissent la mécanique standard sous-jacente.

Matrice de couverture par thème

Thème (trame demandée)Odoo Enterprise 19Enterprise + suite NGO
1 · SDD Automation — enrôlement en masse des donateurs réguliers
2 · SDD Batch — constitution planifiée des lots de prélèvement
3 · SDD Reject — traitement des R-transactions SEPA
4 · Payment Entries — lettrage des dons depuis le relevé
5 · Partner Field Enlargement — fiche donateur
6 · Partner Sync Marketing — source de vérité & RGPD
7 · Online Fundraising — campagnes de dons en ligne
8 · Offline Fundraising — publipostage postal & retours
9 · Donor Care — guichet donateurs outillé

Lecture : absent · partiel (briques génériques, pas le processus métier) · processus complet. Les points « partiels » sont détaillés ligne par ligne dans chaque thème ci-dessous.

1

SDD Automation — enrôlement en masse des donateurs réguliers

Modules bs_sdd_automation s'appuie sur account_sepa_direct_debitpayment_sepa_direct_debitsale_subscriptionhelpdesk
Fichiers CSVdépôt FTP par agence hors interface Odoo · traitement en tâche de fond Scan de dossierscron + verrou PostgreSQL Mapping colonnespar fournisseur Validationrègles paramétrables Pipeline atomiquesavepoint / rollback Quarantaine · doublon · rejet correction, bypass, ticket Donor Care, export Synchro des PDF de mandats dépôt par dossier · rattachés au mandat natif par code · cron OBJETS NATIFS CRÉÉS AUTOMATIQUEMENT — 5 ÉTAPES Contactres.partner Compte IBANres.partner.bank Mandat SEPAsdd.mandate Token paiementpayment.token Abonnementsale.order récurrent Journal + UTM appliqués automatiquement journal de facturation dédié · médium SDD · source = fichier importé Purge RGPD programmée cron quotidien : suppression des CSV traités après le délai de rétention
Fig. 1 — De la ligne CSV au donateur régulier facturable. En natif, les 5 objets du bas existent mais doivent être créés et reliés à la main, écran par écran, pour chaque donateur.
CapacitéOdoo Enterprise 19Suite NGO
Mandat SDD : modèle, états, échéance, PDF, XML pain.008NatifRéutilisé+ code mandat externe (agence)
Don récurrent = abonnement facturé automatiquementNatifRéutiliséplans / jour de facturation centralisés
Import en masse de bulletins de domiciliation (CSV multi-agences)AbsentApportédossiers surveillés, mapping de colonnes par source, archivage processed / error / rejects
Alimentation hors interface : dépôt de fichiers FTP dans des dossiers surveillésAbsentimport = téléversement manuel dans l'UIApporté1 sous-dossier par fournisseur, traitement en tâche de fond (cron + verrou) — aucune charge sur l'interface Odoo
Rattachement automatique de chaque abonnement créé : journal + UTMAbsentApportéjournal de facturation dédié, médium SDD, source UTM = nom du fichier importé → traçabilité par fournisseur / vague
Purge programmée des fichiers importés (RGPD)AbsentApportécron quotidien activable, délai de rétention paramétrable sur les CSV traités
Couche d'import dédiée : fichiers et lignes avec statuts, sans toucher au standardAbsentApportésdd.import.file (brouillon / en cours / terminé / partiel / erreur) + sdd.entry (brouillon / en attente / traité / doublon / quarantaine / rejeté) — les objets natifs ne sont créés qu'à la validation
Journal d'audit des traitementsAbsentApportéchatter + historique des changements d'état sur chaque fichier et chaque ligne (mail.thread, tracking) ; suivi suspendu pendant l'import de masse pour la performance
Import des PDF de mandats signés, rattachés au mandat standardAbsentpièce jointe manuelle au cas par casApportédossier surveillé, correspondance par code mandat, cron paramétrable + synchro manuelle, archivage processed — le PDF signé rejoint le sdd.mandate natif
Contrôle qualité paramétrable des entréesAbsentApportérègles typées (IBAN SEPA, fréquences, champs requis, date de signature, unicité mandat, contrôle de champ avec opérateurs et dates relatives) + sévérité
Création automatique de la chaîne donateur (5 objets)Partielsaisie manuelle objet par objetApportépipeline transactionnel : tout ou rien, erreur = quarantaine motivée
Détection de doublons dédiée au flux (contacts candidats, abonnement déjà actif)Partieldata_cleaning génériqueApportéétat « doublon » avec candidats proposés, distinct de la quarantaine
Boucle qualité vers l'externe : escalade ticket, export des rejets à l'agenceAbsentApportéwizards ticket / rejet / bypass / export, journal RGPD masqué (IBAN, email)
Plus-value objective.
  • Le natif fournit les objets (mandat, abonnement) ; il ne fournit aucun flux : chaque donateur recruté en rue exigerait la création manuelle et le chaînage de 5 enregistrements dans 4 applications.
  • La qualité de données devient un processus tracé et audité — chaque changement d'état est historisé — (règles, quarantaine, doublons, retour agence) au lieu d'un contrôle humain implicite — condition de fiabilité des prélèvements ultérieurs.
  • L'atomicité (savepoint) garantit qu'aucun donateur « à moitié créé » ne pollue la base en cas d'erreur.
  • L'alimentation par dépôt FTP et la purge automatique des CSV nominatifs déchargent l'interface et intègrent la rétention RGPD au flux — chaque don importé arrive déjà rattaché à son journal et à ses UTM, donc mesurable par fournisseur sans retraitement.
2

SDD — Batch : constitution planifiée des lots de prélèvement

Modules bs_batch_paiement_automation s'appuie sur account_batch_paymentaccount_iso20022account_sepa_direct_debitsale_subscriptionqueue_job (OCA)
Job planifié par journalSDD clients · SCT fournisseurs Sélection des factures duesdate de collecte = J + offset ouvré Lot crééCORE / B2B XML pain.008 / 001génération native Banque Calendrier TARGET2jours fériés BCE — bootstrap / import Prévision d'encaissement 365 jfactures existantes et projetées Journal des exécutions + tableau de bordsuccès · erreurs · factures écartées
Fig. 2 — La date de collecte est calculée en jours ouvrés TARGET2 ; le lot et le fichier bancaire s'appuient sur la mécanique native. En natif, la sélection des paiements et la création du lot restent des opérations manuelles, sans calendrier interbancaire ni journal d'exécution.
CapacitéOdoo Enterprise 19Suite NGO
Lots de paiements + fichiers SEPA (pain.008 / pain.001)NatifRéutilisé
Constitution automatique et planifiée des lots (par journal, par schéma)Partielcréation manuelle uniquementApportéjobs héritant d'ir.cron, prélèvements clients et virements fournisseurs
Calcul des dates en jours ouvrés interbancairesAbsentApportécalendrier TARGET2 (BCE) administrable, offset de collecte D-n
Prévision d'encaissement SDDAbsentApportévue SQL : factures dues + factures projetées des abonnements, horizon 365 j
Traçabilité des exécutionsAbsentApportéruns horodatés, montants, factures écartées avec motif, alertes email
Plus-value objective.
  • Supprime une tâche comptable récurrente (constituer les lots à la bonne date) et le risque de collecte un jour non ouvré — cause classique de rejets techniques.
  • Donne à la trésorerie une visibilité chiffrée des encaissements SDD à venir, y compris sur des factures pas encore émises.
  • L'audit trail des runs rend la chaîne de prélèvement contrôlable (qui, quand, combien, ce qui a été écarté et pourquoi).
3

SDD — Reject : traitement des R-transactions SEPA

Modules bs_sdd_rejectsbs_parse_file s'appuie sur l10n_be_codaaccount_accountantaccount_batch_payment
Relevé CODA importénatif + parseur enrichi Détection R-transactionmotif + références du parseur enrichi Fiche rejetmotif SEPA (AC04, AM04, MS03…)sévérité · échéance de traitement Liens automatiqueslot d'origine · paiement · mandatfacture · abonnement · donateur Replanifier le prélèvementnouveau paiement à date choisie Avoir / extournede la facture rejetée Action serveur par motifautomatisation configurable Suivi & escaladeworkflow, visibilité sur l'abonnement
Fig. 3 — Chaque rejet devient un dossier qualifié avec actions guidées. Odoo Enterprise 19 n'offre aucune détection ni gestion des R-transactions : la ligne de rejet apparaît dans le relevé comme un mouvement quelconque, à investiguer manuellement. La détection repose sur les champs exposés par le parseur enrichi (bs_parse_file) — le même socle qui alimente le lettrage (thème 4) et la boucle VCS du publipostage (thème 8).
CapacitéOdoo Enterprise 19Suite NGO
Import du relevé bancaire CODANatifRéutiliséparseur enrichi (codes, contrepartie, VCS)
Détection automatique des rejets / retours / remboursements / contrepassationsAbsentApportéfondée sur les champs du parseur enrichi (motif de rejet, type de R-transaction, références), validée contre le référentiel des motifs SEPA
Référentiel des motifs SEPA avec pilotageAbsentApportécode → catégorie métier, sévérité, action recommandée, action serveur associée
Rattachement automatique au dossier d'origineAbsentApportélot, paiement, mandat, facture, abonnement, contact
Résolution outilléeAbsentApportééchéance selon sévérité, replanification du prélèvement, avoir, états nouveau → clôturé
Visibilité des rejets côté abonnement / donateurAbsentApporté
Plus-value objective.
  • Les rejets (provision insuffisante, compte clos, contestation) sont le principal point de fuite d'un programme de dons réguliers ; sans outil, chaque cas exige une enquête manuelle multi-écrans.
  • La distinction récupérable / non récupérable (sévérité + action recommandée) transforme un travail comptable en processus de rétention du donateur.
  • Les délais de re-présentation et l'historique par mandat deviennent mesurables — base d'un pilotage du taux d'attrition.
4

Payment Entries — lettrage des dons depuis le relevé bancaire

Modules bs_donation_bank_reconciliationbs_parse_filebs_invoice_enrichment s'appuie sur account_accountantl10n_be_coda
Ligne de relevé CODAimport natif Parseur enrichicontrepartie, adresse, VCScodes famille, JSON brut Identification du donateurVCS · IBAN · réf. permanentescréation depuis le relevé Classification métierrègles ET/OU : connu, type, montant,mots-clés → produit + journal Factures de don en masseproduit « don » marquébase des attestations fiscales Lettrage automatiquewidget natif étendudates banque sur facture Attribution marketingUTM du mailing d'appel sur la facture
Fig. 4 — Du mouvement bancaire brut à un don comptabilisé, lettré et attribué à son appel. Les règles de lettrage natives (account.reconcile.model) savent pointer une écriture ; elles ne créent ni donateur, ni facture de don, ni lien avec la campagne.
CapacitéOdoo Enterprise 19Suite NGO
Widget de lettrage + règles de rapprochement génériquesNatifRéutiliséwidget patché pour le flux don
Exposition complète des données CODAPartielparse minimal (montant, libellé, partenaire)Apportéchamps structurés : contrepartie, IBAN/BIC, adresse, VCS + type, codes transaction, dates valeur, JSON brut
Décodage VCS → mailing d'appel + contact + donateurAbsentApporté
File de traitement des dons (transaction par ligne, états, tableau de bord)AbsentApporté
Création / mise à jour du donateur depuis le relevé (nom, IBAN, adresse)AbsentApporté+ correspondances « références permanentes » historiques
Règles de classification métier du donPartielrègles comptables, sans logique donateurApportéconnu / inconnu, particulier / société, seuils, mots-clés, opérateur ET/OU, règle par défaut
Facturation en masse des dons + lettrageAbsentApporté
Attribution du don à la campagne (UTM sur facture)AbsentApporté
Dates de paiement banque visibles sur la factureAbsentApportébs_invoice_enrichment
Plus-value objective.
  • Les dons par virement arrivent par centaines de lignes ; le natif impose de traiter chaque ligne comme une écriture comptable anonyme. Ici chaque ligne devient un don identifié, comptabilisé et rattaché à son appel.
  • L'attribution VCS → mailing fournit le ROI réel par campagne sans saisie — impossible nativement.
  • La facture de don sur produit marqué + registre national + titulaire fiscal du foyer (thème 5) constitue le socle de calcul des attestations fiscales.
5

Partner Field Enlargement — la fiche donateur

Modules bs_partner_extendedbs_partner_extend_marketing_bridg s'appuie sur contactspartnershipdata_cleaning
Fiche contact — res.partner SOCLE NATIF ODOO · Nom (champ unique) · Adresse simple (rue / rue 2) · Étiquettes, société, langue · Comptes bancaires · Grades membres (partnership) ⚠ res.partner.title (civilité) supprimé d'Odoo 19 Ni naissance, ni genre, ni décès, ni foyer, ni identifiant national. Identité civile prénom / nom · nom de naissance civilité & salutation restaurées genre · naissance · âge · tranche nationalité · décès (+ date) Identifiants officiels registre national validé (règles par pays, stdnum) BCE / KBO : forme, statut, codes NACE, synchronisation Adresse fine rue · numéro · boîte cohérence d'adresse couple lieu de naissance Foyers & relations ménages / couples (2 membres) titulaire fiscal du foyer statut « prêt pour attestation » relations typées entre contacts Segmentation donateur statut professionnel · fonction niveau partenaire · statut pays canal préféré · fréquence contact source de la donnée Qualité de données recherche floue cron de qualité fusion adaptée aux liens déduplication orchestrée
Fig. 5 — Le socle natif gère un contact commercial ; la couche NGO en fait une fiche donateur : identité complète, foyer fiscal, identifiants officiels et segmentation. Odoo 19 a même retiré la civilité, que la suite restaure.
CapacitéOdoo Enterprise 19Suite NGO
Fiche contact de base, étiquettes, comptes bancairesNatifRéutilisé
Grades de membres / cotisationsNatifpartnershipRéutilisé
Prénom / nom séparés, nom de naissance, nom d'usageAbsentApporté
Civilité, abréviation, formule de salutationAbsentretiré en v19Apportérestauré + référentiels
Naissance, âge, tranche d'âge, genre, nationalité, décèsAbsentApportédécès = coupure marketing automatique
Adresse décomposée (rue / n° / boîte)AbsentApportéindispensable au publipostage et aux imports
N° de registre national validéAbsentApportéprérequis attestations fiscales / Belcotax
Données d'entreprise BCE / KBO, codes NACEPartielpartner_autocomplete (IAP)Apportéréférentiel dédié BE + contrôle d'adresse
Foyers / couples avec titulaire fiscalAbsentApporté
Relations typées entre contactsAbsentApporté
Plus-value objective.
  • Une base donateurs vit des courriers nominatifs, des reçus fiscaux et de la segmentation : aucun de ces trois usages n'est possible avec la fiche native (pas de civilité, pas d'adresse décomposée, pas d'identifiant fiscal, pas de foyer).
  • Le couple / foyer avec titulaire fiscal résout un cas réel : deux conjoints donnent ensemble, l'attestation doit viser une personne physique identifiée.
  • La gestion du décès protège la réputation (arrêt automatique des sollicitations) — risque très concret en collecte.
6

Partner Sync Marketing — source de vérité unique & RGPD

Modules bs_mailing_hubbs_partner_extend_marketing_bridg s'appuie sur mass_mailingdata_cleaningdocuments
res.partner SOURCE DE VÉRITÉ CRM · comptabilité · dons mailing.contact PROJECTION CONTRÔLÉE 1 par partenaire et par société Hub de synchronisation champs synchronisés verrouillés à l'ORM opt-in explicite · contacts système exclus archivage sûr → blacklist auto de l'email restauration contrôlée · wizard de liaison Consentement RGPD par canal — statut, date, source, document de preuve Email SMS Téléphone Postal WhatsApp Natif : deux référentiels indépendants, aucune synchronisation, blacklist globale sans motif ni consentement par canal.
Fig. 6 — Le donateur n'existe qu'une fois ; le marketing en consomme une projection gouvernée, avec des consentements opposables par canal.
CapacitéOdoo Enterprise 19Suite NGO
Listes de diffusion, contacts marketing, blacklist email globaleNatifRéutilisé
Synchronisation res.partner ↔ mailing.contactAbsentdeux silosApporté1 contact par partenaire / société, champs protégés à l'ORM
Gouvernance : opt-in explicite, exclusion des contacts système, archivage sûrAbsentApportéblacklist automatique de l'email à l'archivage, restauration contrôlée
Consentement par canal, horodaté, sourcé, avec preuve documentaireAbsentApportéemail · SMS · téléphone · postal · WhatsApp ; synthèse lecture seule sur la fiche
Motifs de blacklist administrablesAbsentApporté
DéduplicationNatifdata_cleaningÉtendudétection par email + orchestration depuis la fiche
Plus-value objective.
  • Sans synchronisation, toute organisation qui segmente sérieusement finit avec deux bases divergentes (adresses, décès, opt-out non répercutés) — risque opérationnel et légal.
  • Le consentement par canal avec date, source et pièce jointe rend la conformité RGPD démontrable, pas seulement déclarée.
  • La blacklist motivée et l'archivage sûr évitent le pire scénario du secteur : réécrire à un donateur qui a demandé l'oubli.
7

Online Fundraising — campagnes de dons en ligne

Modules bs_ad_fundraisingbs_utm_dimension appui email bs_mass_mailing_snippetsbs_mass_mailing_device_visibilitybs_email_marketing_sale_config s'appuie sur websitepaymentmass_mailing
Campagne de collecteobjectif · collecté · progressiondates · FAQ · visuels · montants Snippet site (OWL)formulaire don + heromontant libre ou suggéré Paiement en ligneproviders natifs(Stripe, Mollie, SDD…) Don ponctueltransaction de collecte → facturation don Don récurrentmandat SDD tokenisé + abonnement natif Attribution enrichie : dimensions UTM personnalisées 8 dimensions « reporting » pivotables + tables « light » illimitéescapture URL native · console unifiée Chemin natif CE : snippet « Donation » → paiement ponctuel → fin. Pas de campagne, pas d'objectif, pas de récurrent, pas de facture de don.
Fig. 7 — Une page de don pilotée par un objet campagne, avec bascule ponctuel / récurrent, comptabilisation et attribution fine des canaux.
CapacitéOdoo Enterprise 19Suite NGO
Formulaire de don : montants prédéfinis + montant libre, paiement en lignePartielsnippet « Donation » basiqueRemplacé / étendusnippet OWL configurable, hero, FAQ stylable, variantes d'images
Objet campagne : objectif, montant collecté, progression, période, responsable, étatsAbsentApporté
Don récurrent en ligne (mandat + abonnement) dans le parcours donateurPartielbriques présentes (payment_sepa_direct_debit, sale_subscription) mais non assemblées en parcours de donApportéproduit ponctuel / produit récurrence par campagne
Traçage comptable du don en lignePartielpayment.transaction seulementApportétransaction de collecte séquencée, reliée au paiement, base de facturation
Attribution multi-dimensionsPartielUTM : campagne / source / médiumApportédimensions supplémentaires définies par le métier, pivotables comme le natif
Industrialisation des emails d'appelPartielbuilder génériqueApportébibliothèque de sections, visibilité desktop / mobile par bloc, journal-produit-analytique par mailing
Plus-value objective.
  • Le don natif est un paiement anonyme sans pilotage : ni objectif affiché, ni suivi de campagne, ni document comptable — insuffisant pour rendre compte à un conseil d'administration ou à un bailleur.
  • Le récurrent en ligne est l'enjeu économique majeur (valeur vie du donateur) : la suite assemble les briques Enterprise en un parcours effectif.
  • Les dimensions UTM supplémentaires permettent d'analyser la collecte selon les axes du métier (thématique, segment, vague…) sans développement.
8

Offline Fundraising — publipostage postal & retours

Modules bs_direct_mailingbs_mailing_return boucle retour via bs_parse_filebs_donation_bank_reconciliation s'appuie sur mass_mailingutm
Mailing postalextension mailing.mailing : états,ciblage listes, coût, médium UTM CSV imprimeurcolonnes paramétrées · communication VCSet référence QR uniques par destinataire Envoi FTP / SFTPempreinte serveur vérifiée1 trace par destinataire Imprimeur → Postecourrier chez le donateur Don par virementavec la communication VCS Relevé CODAimport natif Attribution automatiqueVCS → mailing d'appel (thème 4) ROI réel par appeltaux de retour, montants, tableau de bord Retours NPAI — saisie / scan, motifs administrables, actions serveur adresse invalide, désabonnement… · statistiques par mailing et par campagne le courrier non distribué nettoie la base au lieu de coûter à chaque vague
Fig. 8 — La boucle complète : de l'export imprimeur à l'attribution du don et au nettoyage NPAI. Le natif ne couvre que l'email (mass_mailing) et la lettre unitaire via service payant (snailmail) — aucune campagne postale, aucune référence de paiement par destinataire, aucune gestion des retours.
CapacitéOdoo Enterprise 19Suite NGO
Campagnes email / SMSNatifSMS via crédits IAP · marketing_automationRéutilisé
Lettre unitaire (facture, relance) via service en ligneNatifsnailmail (IAP)Hors sujetusage différent du publipostage
Campagne postale de masse (workflow, ciblage, coût, tableau de bord)AbsentApporté
Export imprimeur : CSV à colonnes paramétrables + dépôt FTP / SFTP sécuriséAbsentApportépréréglages VCS / QR, vérification d'empreinte du serveur
Référence de paiement unique par destinataire (VCS + QR)AbsentApportéclé de toute la mesure de retour
Attribution automatique des dons reçus au mailingAbsentApportéboucle CODA / VCS avec le thème 4
Gestion des retours NPAIAbsentApportéwizard scanner, motifs → actions serveur, stats par mailing / campagne
Plus-value objective.
  • Le publipostage reste le premier canal de collecte de nombreuses ONG ; nativement, Odoo ne sait ni le produire, ni le mesurer.
  • La référence VCS par destinataire ferme la boucle : chaque euro reçu est rattaché à son appel sans aucune saisie — le taux de retour devient un fait comptable, pas une estimation.
  • Le traitement NPAI convertit un coût récurrent (courriers perdus à chaque vague) en amélioration continue de la base.
9

Donor Care — guichet donateurs outillé

Modules bs_help_donor_carebs_sdd_donor_care s'appuie sur helpdeskbs_sdd_automation
escalades automatiques entrantes : quarantaine SDD (thème 1) · rejets (thème 3) Helpdesk Enterpriseéquipes, étapes, SLA, portail Équipe Donor Carepréconfigurée, étapes natives Ticket entrantappel, courrier, formulaire Wizard SDD Donor Carecontrôles : doublon d'abonnement,plan et jour de facturation CHAÎNE COMPLÈTE CRÉÉE EN UNE OPÉRATION — OBJETS NATIFS Contactres.partner Compte IBANres.partner.bank Mandat + PDF jointsdd.mandate Token paiementpayment.token Abonnementsale.order récurrent
Fig. 9 — Un agent au téléphone crée un donateur régulier complet depuis le ticket, avec les mêmes garde-fous que l'import de masse — sans naviguer dans quatre applications ni polluer les écrans d'import.
CapacitéOdoo Enterprise 19Suite NGO
Helpdesk : équipes, étapes, SLA, portail, rapportsNatifRéutilisé
Équipe « Donor Care » prête à l'emploiAbsentApportéconfiguration livrée, étapes natives réutilisées
Création guidée de la chaîne donateur depuis un ticketAbsentApportépipeline dédié réutilisant la configuration SDD, sans créer d'entrées d'import
Garde-fous du guichet (doublon d'abonnement actif, plan / jour de facturation)AbsentApporté
Tickets automatiques depuis les anomalies (quarantaine, rejets)AbsentApportévia les thèmes 1 et 3
Plus-value objective.
  • Le service donateurs devient un canal d'enrôlement à part entière (téléphone, courrier) avec la même rigueur que l'import de masse.
  • Les anomalies des chaînes SDD (quarantaine, rejets) arrivent comme tickets qualifiés : le back-office et la relation donateur travaillent dans le même outil.
  • Sans la suite, un agent devrait créer et relier manuellement 5 objets dans 4 applications par donateur pris au téléphone.
S

Synthèse & points d'objectivité

Périmètre livré par thème — lignes de code (Python + XML/JS), indicateur d'ampleur, pas de valeur 1 · SDD Automation 12 024 7 · Online Fundraising 8 675 4 · Payment Entries (lettrage) 6 133 5 · Fiche donateur 5 382 8 · Direct Mailing + retours 4 907 2 · SDD Batch 3 729 6 · Sync marketing & RGPD 3 685 3 · SDD Rejects 2 267 9 · Donor Care 191 — mince car il réutilise le pipeline du thème 1 Total analysé ≈ 46 990 lignes. Mesure brute sur les sources fournies.
Fig. S1 — L'effort se concentre là où le natif s'arrête : enrôlement de masse, collecte en ligne, lettrage des dons.

Ce que montre objectivement la comparaison

Sur les 9 thèmes, Odoo Enterprise 19 fournit des briques génériques solides (mandats, lots, XML SEPA, abonnements, lettrage, helpdesk, email marketing) mais aucun processus de collecte de fonds : pas d'enrôlement en masse, aucune gestion des rejets SEPA, pas de lettrage « don » avec attribution, une fiche contact commerciale, deux référentiels marketing non synchronisés, un don en ligne réduit à un paiement, aucun publipostage postal, un helpdesk sans lien avec le donateur. La suite NGO couvre précisément ces neuf écarts en réutilisant systématiquement les rails Enterprise plutôt qu'en les dupliquant — c'est vérifiable dans les dépendances déclarées de chaque module.

Limites et conditions — à énoncer pour rester objectif

Applications requises. La suite s'installe au-dessus d'Odoo Enterprise 19 et s'appuie notamment sur account_accountant, account_batch_payment, account_sepa_direct_debit, account_iso20022, sale_subscription, helpdesk, l10n_be_coda, data_cleaning, documents.

Dépendances externes. queue_job (OCA) pour le thème 2 ; bibliothèques Python paramiko (SFTP) et python-stdnum (registre national).

Ancrage belge. CODA, communication structurée VCS, BCE/KBO et registre national sont des standards belges : accélérateur majeur en Belgique, adaptation nécessaire pour d'autres pays (le SEPA — mandats, lots, rejets, TARGET2 — reste, lui, paneuropéen).

Répartition de la valeur. Là où le natif excelle (génération XML, moteur d'abonnement, widget de lettrage, envoi d'emails), la suite ne réécrit rien : la plus-value est l'orchestration métier et l'automatisation de volume, pas la technologie de base.

Analyse produite par lecture des sources : ngo-19.0 (18 modules) · odoo-ee-19.0 (socle odoo-ce-19.0 inclus). Trame des 9 thèmes conforme à la demande. Les mentions « Natif / Partiel / Absent / Apporté » se réfèrent aux modèles, champs et automatisations effectivement présents dans le code.