C.2 — Validation et envoi des instructions Equity BCDC

Chapitre C.2 du Manuel PIGBF

C.2.2.1 — Vue d'ensemble du circuit Equity

2.1 Vue d'ensemble du circuit Equity

Le circuit Equity BCDC gère les virements bancaires destinés aux établissements scolaires partenaires du programme PAAF. Ces virements correspondent à la part « école » de la bourse, qui couvre les frais scolaires des bénéficiaires (frais de scolarité, minerval, IPP, bulletin, etc.).

La transmission des instructions à Equity Bank Congo repose sur le mécanisme H2H (Host-to-Host) : des fichiers CSV structurés sont générés par la plateforme, chiffrés avec la clé PGP d'Equity Bank, puis déposés sur un serveur SFTP sécurisé. Equity Bank récupère ces fichiers, les traite, et renvoie des fichiers de retour (ACK, NACK, PSR) confirmant le résultat des virements.

📸 Capture d'écran à insérer : Schéma du flux technique Equity H2H : laravel-pigbf (Validateur valide et envoie) → api-pigbf (génère le fichier CSV, chiffre PGP, dépose SFTP) → Equity Bank SFTP → traitement bancaire → fichiers ACK/NACK/PSR → scheduler api-pigbf (récupère toutes les 30 minutes) → mise à jour statuts laravel-pigbf

En tant que Validateur de Paiement PAAF, votre intervention dans le circuit Equity couvre les étapes 2 et 3 du cycle :

Étape Qui Action
Étape 1 — Génération Admin PAAF / Admin Plateforme Sélection des écoles éligibles, calcul des montants, création des lots
Étape 2 — Validation Vous (Validateur PAAF) Contrôle des lots, approbation ou rejet
Étape 3 — Envoi Vous (Validateur PAAF) Transmission sécurisée par OTP vers Equity Bank
Étape 4 — Suivi Vous (Validateur PAAF) Monitoring des fichiers H2H (ACK/NACK/PSR)

C.2.2.2 — Étape 2 — Validation des instructions Equity

2.2 Étape 2 — Validation des instructions Equity

2.2.1 Accéder à l'écran de validation

Menu latéral → Gestion des paiements → Equity BCDC → Validation.

📸 Capture d'écran à insérer : Page de validation des instructions Equity BCDC, état initial avec des lots en attente : zone de filtres en haut (champs "Du" et "Au" pour les dates de génération, bouton "Réinitialiser"), tableau "Instructions en attente de validation" en dessous avec plusieurs lignes visibles. La mention "2 instructions" est affichée en badge dans l'onglet actif du menu Validation

La page affiche exclusivement les lots dont le statut est « En attente de validation » (étape 1 du workflow de validation, validation_step = 1). Les lots déjà validés, rejetés ou envoyés ne s'affichent pas sur cet écran.

2.2.2 Description de l'écran

Zone de filtres

Filtre Type Description
Du (date de génération) Sélecteur de date Filtre les lots générés à partir de cette date (incluse)
Au (date de génération) Sélecteur de date Filtre les lots générés jusqu'à cette date (incluse)
Réinitialiser Bouton Efface tous les filtres actifs et recharge la liste complète

📸 Capture d'écran à insérer : Zone de filtres de l'écran de validation Equity : deux sélecteurs de dates ("Du : dd/mm/yyyy" et "Au : dd/mm/yyyy") côte à côte, bouton "Réinitialiser" à droite. Exemple avec "Du : 01/11/2025" et "Au : 30/11/2025" saisis, filtrant les lots du mois de novembre 2025

Tableau "Instructions en attente de validation"

Colonne Description
# Numéro de ligne dans la page (ordre d'affichage)
École Nom complet de l'établissement scolaire destinataire du virement
Compte Equity Numéro de compte bancaire Equity de l'école (partiellement masqué pour la sécurité)
Date de génération Date et heure de création du lot par l'Admin PAAF
Généré par Nom de l'utilisateur ayant généré le lot (Admin PAAF ou Admin Plateforme)
Nb paiements Nombre d'instructions de paiement individuelles incluses dans ce lot (généralement = 1 par lot pour Equity, une instruction = une école)
Montant total Montant total du lot en Francs Congolais (CDF)
Actions Boutons d'action disponibles : Valider (vert) · Rejeter (rouge) · Voir détails (icône œil)

📸 Capture d'écran à insérer : Tableau "Instructions en attente de validation" avec 3 lignes : colonnes # / École / Compte Equity / Date génération / Généré par / Nb paiements / Montant total / Actions. Exemples : ligne 1 "INSTITUT VANESSA 2" / compte "EQ-XXXX-1234" / "25/11/2025 21h13" / "Emmanuel" / badge "1" / "2 836 200 CDF" / boutons Valider(vert) Rejeter(rouge). Ligne 2 similaire avec un autre établissement. Pagination en bas

ℹ️ Note : Le tableau est paginé à 20 lots par page. Si le nombre de lots dépasse 20, utilisez la pagination en bas de tableau pour naviguer entre les pages. Les lots sont triés par date de génération décroissante (les plus récents en premier).


2.2.3 Consulter le détail d'un lot avant validation

Avant de valider ou de rejeter un lot, il est vivement recommandé d'en consulter les détails complets. Cliquez sur l'icône Voir (œil) ou directement sur le nom de l'école dans la ligne du lot.

📸 Capture d'écran à insérer : Fenêtre modale "Détails du lot Equity" ouverte : titre "Détail du lot #REF-EQUITY-0042", bloc supérieur "Informations du lot" en gris clair contenant : École (lien cliquable vers la fiche), Référence du lot, Compte Equity (numéro complet visible), Agent Equity, Montant total, Nombre de paiements, Généré par (nom + date), Commentaire de génération. Bloc inférieur "Paiements inclus" avec un tableau listant chaque instruction individuelle : UID école, Montant CDF, Statut (En attente). Bouton "Fermer" en bas

Les informations à vérifier attentivement dans cette vue détaillée :

  1. Le nom de l'école — Correspond-il bien à un établissement partenaire connu ?
  2. Le compte Equity — Est-il correctement renseigné et non vide ?
  3. Le montant total — Est-il cohérent avec la tranche de paiement en cours et le nombre d'élèves bénéficiaires de l'école ?
  4. La date de génération — Le lot a-t-il été généré dans le cadre de la campagne de paiement en cours ?
  5. L'auteur de la génération — Reconnaissez-vous l'utilisateur ayant généré ce lot ?

2.2.4 Valider un lot individuellement

  1. Sur la ligne du lot à valider, cliquez sur le bouton Valider (icône coche verte).

📸 Capture d'écran à insérer : Fenêtre modale "Valider le lot" ouverte : titre "Confirmer la validation", récapitulatif compact du lot (École : INSTITUT VANESSA 2, Référence : REF-EQUITY-0042, Compte Equity : EQ-****-1234, Prestataire : Equity BCDC, Nombre de paiements : 1, Montant total : 2 836 200 CDF, Généré par : Emmanuel le 25/11/2025 à 21h13, Commentaire : "Tranche 1 — Novembre 2025"), message de confirmation en fond bleu clair "Après validation, ce lot sera disponible pour envoi vers Equity BCDC. Cette action sera enregistrée dans le journal d'activités.", boutons "Annuler" (gris) et "Valider" (vert)

  1. Vérifiez une dernière fois toutes les informations affichées dans la modale de confirmation.
  2. Cliquez sur Valider.
  3. Un message de succès s'affiche en haut à droite de l'écran :

📸 Capture d'écran à insérer : Notification toast de succès : bandeau vert en haut à droite "Lot validé avec succès. Il est maintenant disponible pour envoi vers Equity BCDC." avec icône de validation (coche)

  1. Le lot disparaît immédiatement de la liste des instructions en attente de validation et devient visible dans l'écran Envoi (étape 3).

Effet immédiat : Après validation, le statut du lot passe de validation_step = 1 à validation_step = 2. La plateforme enregistre automatiquement votre identifiant, votre nom et la date/heure de la validation dans le workflow du lot.


2.2.5 Rejeter un lot

Un lot doit être rejeté lorsqu'une anomalie est détectée : compte bancaire incorrect ou manquant, montant incohérent, école non éligible, erreur de tranche, etc.

  1. Sur la ligne du lot à rejeter, cliquez sur le bouton Rejeter (icône croix rouge).

📸 Capture d'écran à insérer : Fenêtre modale "Rejeter le lot" ouverte : titre "Confirmer le rejet", même récapitulatif du lot que pour la validation (École, Référence, Compte, Montant, Généré par), champ obligatoire "Raison du rejet" (zone de texte libre, placeholder "Décrivez précisément la raison du rejet pour permettre la correction..."), alerte orange en dessous "Ce lot sera marqué comme rejeté. Les paiements associés resteront en attente. L'Admin PAAF devra corriger l'anomalie et régénérer un nouveau lot.", boutons "Annuler" (gris) et "Rejeter" (rouge)

  1. Renseignez la Raison du rejet de manière précise et détaillée. Exemples de raisons bien formulées :
    - "Compte Equity de l'école vide — numéro de compte bancaire non renseigné dans la fiche école"
    - "Montant incohérent : 2 836 200 CDF reçu pour 1 seule élève, alors que le montant attendu est 53 000 CDF par élève pour la tranche 1"
    - "École INST. VANESSA 2 non présente dans la liste des écoles partenaires validées pour cette tranche"
  2. Cliquez sur Rejeter.

📸 Capture d'écran à insérer : Notification toast de rejet : bandeau orange en haut à droite "Lot rejeté. L'Admin PAAF a été notifié et pourra régénérer un nouveau lot après correction." avec icône d'avertissement

  1. Le lot disparaît de la liste en attente de validation. Son statut passe à validation_step = 4 (rejeté). La raison du rejet est consignée dans le workflow du lot et visible par l'Admin PAAF dans son écran de suivi.

ℹ️ Après un rejet : L'Admin PAAF doit corriger l'anomalie signalée (généralement sur la fiche de l'école concernée dans le module Écoles), puis régénérer un nouveau lot via l'écran de Génération. Le lot rejeté ne peut pas être réactivé : seul un nouveau lot peut être créé.


2.2.6 Validation ou rejet groupé de plusieurs lots

Lorsque plusieurs lots doivent être traités simultanément (par exemple, en début de campagne de paiement), la plateforme permet de valider ou rejeter plusieurs lots en une seule opération.

📸 Capture d'écran à insérer : Tableau de validation avec plusieurs lots cochés : cases à cocher cochées sur 4 lignes (lignes 1, 2, 4 et 5), case "Sélectionner tout" en en-tête cochée partiellement (état intermédiaire), bandeau apparu en haut du tableau "4 lots sélectionnés — Montant total : 11 344 800 CDF", deux boutons actifs "Valider les lots sélectionnés" (vert) et "Rejeter les lots sélectionnés" (rouge)

Procédure pour une validation groupée :

  1. Cochez les cases à gauche de chaque lot à traiter. La case en en-tête du tableau permet de tout sélectionner sur la page courante.
  2. Un bandeau récapitulatif apparaît, affichant le nombre de lots sélectionnés et le montant total cumulé.
  3. Cliquez sur Valider les lots sélectionnés.

📸 Capture d'écran à insérer : Fenêtre modale de validation groupée : titre "Valider X lots", récapitulatif sous forme de tableau compact (Lot / École / Montant) pour chaque lot sélectionné, total en bas "Montant total à valider : Z CDF", message "Ces X lots seront validés simultanément. Vous serez enregistré comme validateur de chacun d'eux.", boutons "Annuler" et "Tout valider" (vert)

  1. Vérifiez le récapitulatif. Cliquez sur Tout valider pour confirmer.

Procédure pour un rejet groupé :

  1. Cochez les lots à rejeter de la même manière.
  2. Cliquez sur Rejeter les lots sélectionnés.

📸 Capture d'écran à insérer : Fenêtre modale de rejet groupé : même liste récapitulative des lots sélectionnés, champ unique "Raison du rejet (applicable à tous les lots sélectionnés)" avec placeholder, avertissement "Cette raison sera appliquée à l'ensemble des X lots. Si les raisons diffèrent, effectuez des rejets individuels.", boutons "Annuler" et "Tout rejeter" (rouge)

  1. Saisissez la Raison du rejet (une seule raison commune sera appliquée à tous les lots sélectionnés). Si les raisons sont différentes selon les lots, effectuez des rejets individuels.
  2. Cliquez sur Tout rejeter.

⚠️ Attention : Si les lots sélectionnés présentent des anomalies de natures différentes, utilisez systématiquement le rejet individuel pour consigner une raison précise et distincte pour chaque lot. Un rejet groupé avec une raison générique rend la correction plus difficile pour l'Admin PAAF.


C.2.2.3 — Étape 3 — Envoi des instructions vers Equity BCDC

2.3 Étape 3 — Envoi des instructions vers Equity BCDC

2.3.1 Vue d'ensemble de l'envoi sécurisé

L'envoi des instructions Equity est l'opération la plus sensible du cycle. Elle déclenche la transmission effective des données financières à la banque. Pour cette raison, elle est protégée par un mécanisme de vérification à deux facteurs :

Ce mécanisme garantit que seule la personne physique habilitée, ayant accès à la fois à ses identifiants de connexion et à sa messagerie email professionnelle, peut déclencher un virement bancaire.

2.3.2 Accéder à l'écran d'envoi

Menu latéral → Gestion des paiements → Equity BCDC → Envoi.

📸 Capture d'écran à insérer : Page d'envoi des instructions Equity, état avec lots disponibles : zone de filtres en haut (sélecteurs de date "Validé depuis" / "Validé jusqu'au", bouton "Réinitialiser"), tableau "Lots validés — prêts à l'envoi" en dessous avec plusieurs lignes, cases à cocher à gauche de chaque ligne, colonnes Référence / École / Nb paiements / Montant total / Validé par. Montant global visible en haut à droite du tableau "Total visible : 65 584 400 CDF"

Cet écran n'affiche que les lots dont le statut est « Validé » (validation_step = 2), c'est-à-dire ceux que vous ou un autre Validateur avez approuvés à l'étape précédente. Les lots en attente de validation ou déjà envoyés n'apparaissent pas ici.

Description des colonnes du tableau "Lots validés — prêts à l'envoi"

Colonne Description
Case à cocher Permet de sélectionner le lot pour l'envoi groupé
Référence Identifiant unique du lot généré par la plateforme
École Nom de l'établissement scolaire destinataire, avec le numéro de compte Equity partiellement masqué
Nb paiements Nombre de paiements individuels dans le lot
Montant total Montant en CDF à virer à cet établissement
Validé par Nom du Validateur ayant approuvé ce lot à l'étape 2

📸 Capture d'écran à insérer : Tableau "Lots validés — prêts à l'envoi" avec 4 lignes cochées : colonnes Référence (ex. "TMP210_4310...PAAF_00001.csv") / École / Nb paiements / Montant total / Validé par. Badge "4 sélectionnés" visible. Bandeau apparu en haut "Sélection prête à l'envoi. Une validation OTP sera requise." en fond bleu clair avec boutons "Envoyer vers Equity" (bleu) et "Désélectionner tout" (gris)


2.3.3 Procédure complète d'envoi sécurisé par OTP

Étape A — Sélectionner les lots à envoyer

  1. Si nécessaire, filtrez les lots par date de validation avec les sélecteurs Validé depuis et Validé jusqu'au.
  2. Cochez les lots à envoyer. La case en en-tête sélectionne tous les lots visibles sur la page courante.
  3. Vérifiez le total affiché dans le bandeau récapitulatif. Ce montant correspond à la somme de tous les lots sélectionnés.
  4. Cliquez sur Envoyer vers Equity.

Étape B — Demande du code OTP

La fenêtre modale "Envoi vers Equity BCDC" s'ouvre.

📸 Capture d'écran à insérer : Fenêtre modale "Envoi vers Equity BCDC", Étape 1 (demande OTP) : titre "Envoi vers Equity BCDC — Confirmation sécurisée", bloc récapitulatif (Lots sélectionnés : X, Nombre total d'instructions : Y, Montant total à envoyer : Z CDF en gras rouge pour attirer l'attention), séparateur, texte explicatif "Pour sécuriser cet envoi, un code à usage unique (OTP) va être envoyé à votre adresse email enregistrée : v***@paaf.cd. Ce code est valide 5 minutes.", bouton "Recevoir le code OTP" (bleu, centré), bouton "Annuler" en bas à gauche

  1. Vérifiez le récapitulatif : nombre de lots, nombre total d'instructions et montant total à envoyer. C'est le dernier moment pour annuler si une anomalie est détectée.
  2. Cliquez sur Recevoir le code OTP.

📸 Capture d'écran à insérer : Fenêtre modale, transition entre Étape 1 et Étape 2 : message de confirmation en fond vert "Code OTP envoyé à votre adresse email" avec icône enveloppe, compte à rebours visible sous la forme "Code valide pendant : 4:52" (minuterie décroissante), champ "Code OTP" (6 cases distinctes ou un champ numérique, inactif tant qu'aucun chiffre n'est saisi), bouton "Envoyer" (gris, inactif)

  1. Ouvrez immédiatement votre messagerie email (dans un autre onglet du navigateur ou sur votre téléphone). Vérifiez aussi le dossier Spam / Courrier indésirable si l'email n'apparaît pas dans la boîte de réception dans les 30 secondes.

📸 Capture d'écran à insérer : Email OTP reçu dans la boîte de réception : expéditeur "PIGBF - PAAF <noreply@pigbf.org>", objet "Votre code de validation OTP — Envoi Equity BCDC", corps du message : "Bonjour [Prénom Nom, Vous avez initié un envoi de paiement Equity BCDC d'un montant total de Z CDF. Votre code OTP : 483027 (affiché en grand, gras). Ce code est valide 5 minutes à compter de sa réception. Ne partagez ce code avec personne." ]

Étape C — Saisie du code OTP

  1. Copiez ou notez le code à 6 chiffres reçu par email.
  2. Revenez sur la fenêtre modale de la PIGBF.
  3. Saisissez le code dans le champ Code OTP.

📸 Capture d'écran à insérer : Fenêtre modale, Étape 2 avec code saisi : champ OTP rempli avec "483027" (6 chiffres visibles), bouton "Envoyer" devenu actif (bleu), compte à rebours affichant "3:21" (encore du temps disponible), message vert "Code OTP reçu — prêt à envoyer"

  1. Le bouton Envoyer s'active dès qu'un code à 6 chiffres est détecté dans le champ. Cliquez sur Envoyer.

Étape D — Confirmation de l'envoi

📸 Capture d'écran à insérer : Fenêtre modale, Étape 3 — confirmation finale : spinner de chargement pendant quelques secondes, puis message de succès "Vos instructions de paiement ont été transmises à Equity BCDC avec succès. Les X lots sont maintenant en attente de traitement par la banque." en fond vert, avec détails (Référence de transmission, Date et heure, Montant total envoyé), bouton "Fermer"

Après confirmation, le système réalise automatiquement les opérations suivantes en séquence :
- Marque chaque lot sélectionné au statut « Envoyé » (validation_step = 3)
- Enregistre votre identifiant, votre nom et la date/heure de l'envoi dans le workflow de chaque lot
- Transmet une requête à l'api-pigbf pour déclencher la génération des fichiers CSV au format H2H Equity
- Chiffre les fichiers avec la clé PGP d'Equity Bank Congo
- Dépose les fichiers chiffrés sur le serveur SFTP d'Equity pour traitement bancaire

📸 Capture d'écran à insérer : Écran d'envoi Equity après transmission réussie : le tableau "Lots validés — prêts à l'envoi" est vide (message "Aucun lot validé en attente d'envoi"), ou les lots envoyés ont disparu et les lots restants (non sélectionnés) sont toujours visibles


2.3.4 Gestion des erreurs lors de l'envoi

Code OTP expiré

📸 Capture d'écran à insérer : Message d'erreur OTP expiré dans la modale : compte à rebours à "0:00", message rouge "Votre code OTP a expiré. Cliquez sur 'Recevoir un nouveau code' pour en générer un.", bouton "Recevoir un nouveau code OTP" actif, champ OTP grisé

Si le compte à rebours atteint 00:00 avant que vous ayez saisi le code, le code expire. Cliquez sur Recevoir un nouveau code OTP pour en générer un nouveau. Cette opération peut être répétée sans limitation.

Code OTP invalide

📸 Capture d'écran à insérer : Message d'erreur code OTP incorrect : champ OTP avec bordure rouge, message sous le champ "Code incorrect. Vérifiez le code reçu par email et réessayez. X tentatives restantes.", bouton "Envoyer" repassé en gris

Si le code saisi est incorrect, un message d'erreur s'affiche. Vérifiez soigneusement le code reçu par email (attention aux confusions entre 0 et O, 1 et I). Après plusieurs tentatives invalides, un nouveau code doit être demandé.

Erreur de transmission SFTP

📸 Capture d'écran à insérer : Message d'erreur de transmission : fond rouge dans la modale "Une erreur est survenue lors de la transmission des fichiers vers Equity BCDC (Erreur SFTP). Les lots ont été marqués en statut 'Erreur'. Vous pouvez relancer l'envoi depuis l'écran de Suivi → menu Actions → Renvoyer. Si le problème persiste, contactez l'équipe IT GROUP." bouton "Fermer"

En cas d'erreur technique lors du dépôt SFTP, les lots concernés sont marqués en statut « Erreur » dans l'écran de Suivi. Vous pouvez relancer l'envoi depuis le menu Actions (bouton trois points) → Renvoyer, disponible sur chaque fichier en erreur.

⚠️ Important — Sécurité absolue du code OTP :

Le code OTP est votre signature électronique personnelle pour cette opération financière. Il ne doit être communiqué à personne, même à un supérieur hiérarchique, même à l'équipe IT GROUP. Si une personne vous demande votre code OTP, refusez catégoriquement et signalez cet incident immédiatement à votre responsable et à l'équipe IT GROUP. La demande de votre OTP par un tiers est le signe caractéristique d'une tentative de fraude.


C.2.2.4 — Bonnes pratiques — Module Equity

2.4 Bonnes pratiques — Module Equity

Traitez les validations et les envois dans la même session de travail. Valider un lot mais ne pas l'envoyer dans la foulée retarde les décaissements aux établissements. Prévoyez suffisamment de temps pour effectuer les deux étapes lors de la même connexion.

Vérifiez votre accès email avant de lancer un envoi. Avant de cliquer sur "Envoyer vers Equity", assurez-vous que votre boîte email est accessible et que vous pouvez y lire le code OTP dans les 5 minutes. Une connexion Internet instable ou une messagerie saturée peut faire rater l'OTP.

Ne tentez pas d'envoyer des lots le soir ou en dehors des horaires bancaires d'Equity. Même si la transmission SFTP peut s'effectuer à n'importe quelle heure, le traitement par Equity Bank s'effectue généralement pendant les horaires ouvrables. Les fichiers déposés en dehors de ces créneaux seront traités le prochain jour ouvrable.

Archivez les confirmations d'envoi. En cas de litige ou d'audit, conservez les confirmations par email et les références de transmission affichées par la plateforme.