Domaines fonctionnels

Documents et conformité

Les documents servent à justifier une identité, une organisation, une facture, une autorisation, un paiement, une vente ou une obligation de conformité.

Documents et conformité

Les documents servent à justifier une identité, une organisation, une facture, une autorisation, un paiement, une vente ou une obligation de conformité.

Types de documents

Le système distingue 21 types de fichiers (DocumentType). Certains sont regroupés en 6 « groupes de documents » (DocumentGroupType) qui définissent la composition attendue (une pièce ou plusieurs, alternatives possibles) ; d'autres types sont déposés isolément, sans groupe formel.

Groupe (DocumentGroupType)PropriétaireOptions acceptées (une option = un jeu de fichiers suffisant)Correspondance KYC Mangopay
USER_IDENTITY_PROOFPersonneCarte d'identité (recto ID_CARD_FRONT + verso ID_CARD_BACK) OU PASSPORT—
PROOF_OF_ADDRESSPersonnePROOF_OF_ADDRESS—
LEGAL_REPRESENTATIVE_IDENTITY_PROOFOrganisationCarte d'identité du représentant légal (LEGAL_REPRESENTATIVE_ID_CARD_FRONT + LEGAL_REPRESENTATIVE_ID_CARD_BACK) OU LEGAL_REPRESENTATIVE_PASSPORTidentityProof
KBISOrganisationKBIS (justificatif d'immatriculation)registrationProof
ORGANISATION_STATUSESOrganisationORGANISATION_STATUSES (statuts/acte constitutif)articlesOfAssociation
RIBOrganisationRIB— (géré hors Mangopay)

Types de documents non rattachés à un groupe formel, déposés à l'unité selon le contexte : AGREEMENT_BANK, VAT_CERTIFICATE, LOAN_OFFER, PROOF_FUNDS, VAT_EXEMPTION_REQUEST, TRANSPORT_PROOF, EXPORT_PROOF, OTHER_VAT_EXEMPTION_CERTIFICATE, OTHER_DOCUMENT, LONG_TERM_VAT_EXEMPTION_REQUEST, LONG_TERM_VAT_EXEMPTION_PROOF.

Catégorie fonctionnelleExemple d'usage
PersonnelIdentité, justificatif d'adresse individuel, KYC
OrganisationKYB, mandat, justificatif entreprise (KBIS, statuts, RIB)
FactureDocument financier associé à une facture
Vente ou lotFichier public ou privé lié à un lot
AutorisationDocument exigé pour participer ou vendre
PublicDocument visible sur une fiche ou un profil public

Obligation d'un groupe selon le contexte

Un groupe de documents n'est proposé au dépôt (et donc considéré comme requis) que si ses conditions sont réunies :

GroupeRôle organisation requisCondition d'affichage
USER_IDENTITY_PROOF, PROOF_OF_ADDRESSAucun (tout utilisateur)Toujours proposés sur le profil personnel
KBISBUYER ou SELLERProposé seulement si le pays et le type de société (companyType) de l'organisation sont reconnus dans le référentiel légal (voir ci-dessous) ; sinon le groupe n'apparaît pas tant que ces informations ne sont pas complétées
RIBBUYER ou SELLERProposé seulement si le flag KYB est désactivé, ou si l'organisation dispose d'un accès KYB interne (hasInternalKybAccess). Quand le KYB Mangopay externe s'applique, le RIB est géré via l'onboarding bancaire Mangopay et non via cette liste
LEGAL_REPRESENTATIVE_IDENTITY_PROOF, ORGANISATION_STATUSES—Ne figurent pas dans la liste de documents « organisation » standard : ils sont collectés via le parcours d'onboarding vendeur KYB (Mangopay), pas via la page générique de dépôt

Ambiguïté : la page « documents » de l'organisation n'expose donc explicitement que KBIS et RIB comme groupes requis ; LEGAL_REPRESENTATIVE_IDENTITY_PROOF et ORGANISATION_STATUSES existent dans le référentiel partagé mais leur collecte passe par un autre parcours (onboarding KYB), non revue en détail ici.

Obligations documentaires par pays et type de société (KYB)

Quand le flag KYB est actif et que l'utilisateur est vendeur, un référentiel légal (ORGANISATION_DOCUMENT_LEGAL_REQUIREMENTS) précise, par pays et par type de société (PRIVATE = société privée/indépendante, PUBLIC = personne publique/association), quelles pièces papier alternatives sont acceptées pour chaque groupe. Ce référentiel couvre les 27 pays de l'EEE + Royaume-Uni, Suisse, Norvège et un groupe générique « hors EEE » (OUTSIDE_EEA). Règles générales observées :

  • Pièce d'identité du représentant légal : carte nationale d'identité, permis de conduire, titre de séjour ou passeport, selon le pays. Le passeport est systématiquement accepté partout.
  • Certains pays restreignent la liste : la Suisse (CH) n'accepte que titre de séjour et passeport ; le Royaume-Uni (GB) que permis de conduire et passeport ; hors EEE, seul le passeport est accepté.
  • La France accepte en plus un extrait Sirene comme équivalent du KBIS (registrationProof.FR.SIRENE_NOTICE) et distingue les permis de conduire émis avant/après 1994.
  • La Suède (SE) ajoute un justificatif fiscal (TAX_ID) à la liste des pièces d'identité acceptées.
  • La Grèce (GR) exclut l'ancien permis de conduire rose.
  • Pour chaque pays/type de société, un justificatif d'immatriculation (équivalent KBIS) et un justificatif de statuts (équivalent ORGANISATION_STATUSES) sont définis.

Cycle de validation

flowchart TD
  depot["Document déposé"] --> antivirus{"Contrôle antivirus"}
  antivirus -->|Infecté| rejet["Dépôt rejeté (DOCUMENT_HAS_VIRUS)"]
  antivirus -->|Sain| controle["Contrôle automatique ou admin"]
  controle --> decision{"Décision"}
  decision -->|Validé| valide["Document validé"]
  decision -->|Refusé| refuse["Document refusé avec motif"]
  decision -->|Expiré| expire["Document expiré"]
  refuse --> correction["Utilisateur dépose une nouvelle version"]
  expire --> correction
  correction --> controle

Le dépôt d'un nouveau document pour un groupe déjà rempli archive automatiquement les documents précédents des mêmes types (statut ARCHIVED, avec l'auteur et la date de l'archivage).

Actions possibles

ActionQui ?Règle
DéposerUtilisateur concerné, organisation autorisée ou adminLe document doit être rattaché au bon objet ; le fichier passe par une URL signée puis un contrôle antivirus avant d'être enregistré
ConsulterPersonne/organisation autorisée ou adminLes documents personnels et factures sont protégés ; toute prévisualisation ou téléchargement passe par une URL signée temporaire
ValiderAdmin avec la permission ORGANISATION.DOCUMENT.MANAGEDécision tracée (personne + date) ; réservé aux documents au statut TO_VALIDATE pour l'action rapide
RefuserAdmin avec la permission ORGANISATION.DOCUMENT.MANAGEMotif obligatoire, choisi parmi 3 valeurs : ILLIGIBLE_DOCUMENT (document illisible — orthographe telle quelle dans le code), NON_COMPLIANT_DOCUMENT, OUTDATED_DOCUMENT ; réservé aux documents au statut TO_VALIDATE pour l'action rapide
Changer le statut manuellementAdmin avec la permission ORGANISATION.DOCUMENT.MANAGEUn formulaire dédié permet de forcer le statut vers VALIDATED, REFUSED, EXPIRED, ARCHIVED ou DELETED (statut courant exclu des choix), avec les métadonnées associées
RemplacerPropriétaire ou adminLe dépôt d'un nouveau document du même type archive automatiquement l'ancien (statut ARCHIVED)
Supprimer (côté utilisateur)Propriétaire du documentPasse le document au statut ARCHIVED (suppression douce), jamais un retrait définitif
Supprimer (côté admin, statut DELETED)Admin avec la permission ORGANISATION.DOCUMENT.MANAGEDéclenche un appel de suppression réelle (endpoint DELETE), distinct d'un simple archivage

Ces 3 motifs de refus (DocumentRefusedReason) s'appliquent au document lui-même. Ils sont distincts des motifs de refus d'une demande d'autorisation (AuthorizationRequestRefusedReasons, 8 valeurs, voir plus bas), qui peuvent citer un document comme cause mais relèvent d'une autre entité.

Règles de confidentialité

  • Un document personnel n'est pas public.
  • Un document facture est réservé aux personnes finance autorisées et admin.
  • Un document organisation est visible uniquement par les membres ou admins autorisés.
  • Un document public doit être explicitement considéré comme publiable.
  • La validation ou le refus doit rester consultable en historique admin.
  • Le listing des documents est toujours filtré par un identifiant de rattachement explicite (personne, organisation, facture ou boutique) ; aucune liste globale non filtrée n'est exposée côté client.
  • Côté organisation, un vendeur ne voit pas la liste des documents de sa propre boutique via le même composable que les autres rôles (garde !isCurrentOrganisationShopOwner).
  • Toute consultation ou téléchargement d'un fichier passe par une URL signée à durée limitée, jamais par un accès direct au stockage.

Ce qui est implémenté

  • Un document exige une URI, un type et un nom de fichier.
  • Un document personnel exige une personne rattachée.
  • Un document d'organisation exige une organisation rattachée.
  • Un document de facture exige une facture rattachée.
  • Le dépôt peut enregistrer l'auteur et la date.
  • Le dépôt est bloqué si le contrôle antivirus détecte une infection (erreur DOCUMENT_HAS_VIRUS) ; le document n'est alors jamais enregistré.
  • Les documents de type pièce d'identité (USER_IDENTITY_PROOF, LEGAL_REPRESENTATIVE_IDENTITY_PROOF) sont contraints en taille entre 32 Ko et 7 Mo ; les autres documents Mangopay (KBIS, RIB, justificatif d'adresse) entre 1 Ko et 7 Mo.
  • Un groupe de documents est considéré comme « rempli » (et débloque le parcours associé) dès qu'une option du groupe a tous ses fichiers au statut VALIDATED ou TO_VALIDATE : la simple soumission en attente de validation suffit déjà à lever le blocage, pas seulement la validation effective.
  • Valider un document non facture et non exemption longue durée exige une date d'expiration.
  • Une validation ou un refus publie une notification de changement de statut.
  • Un document archivé ou supprimé perd sa date d'expiration.
  • La suppression passe le document au statut supprimé puis le retire.
  • Un document d'identité peut mettre à jour le libellé d'identité de l'organisation.
  • Un justificatif d'exemption TVA longue durée valide active l'exemption sur l'organisation.
  • L'expiration, la suppression ou le passage en supprimé de ce justificatif désactive l'exemption.
  • Les documents qui expirent dans 7 jours sont détectés pour notification.
  • Les documents expirés la veille sont détectés comme expirés.
  • Les KBIS proches de l'expiration sont détectés sur une fenêtre de 10 jours.

Vérifié côté backend (auctelia/documents) : passer un document au statut VALIDATED sans date d'expiration renvoie une erreur bloquante (EXPIRATION_DATE_REQUIRED), même si le formulaire admin ne marque pas le champ comme obligatoire à l'écran. Deux exceptions exemptent de cette contrainte : un document rattaché à une facture (invoiceShortId renseigné), et les deux documents d'exonération de TVA de long terme (demande et justificatif). Pour ces cas, la validation est possible sans date d'expiration.

Lien avec KYB, KYC et SCA

ContrôleExplication
KYCVérification d'une personne
KYBVérification d'une organisation
SCAAuthentification forte ou validation de paiement selon contexte

Un contrôle de conformité peut bloquer la vente, l'achat, le paiement ou l'accès à certaines actions.

KYB interne ou externe : comment c'est déterminé

Selon le contrat de vente actif de l'organisation vendeuse, la conformité suit l'un de deux circuits (première situation applicable) :

SituationCircuit KYB
Vente commissaire-priseur, ou achat-reventeInterne
Vendeur « public » (personne publique / association), quel que soit l'encaissementInterne
Courtage encaissé via MangoPayExterne (MangoPay)
Courtage encaissé via Paybox ou paiement direct au vendeurInterne

Le KYB interne est suivi et validé en interne (statut porté par l'organisation) ; le KYB externe délègue la vérification à MangoPay (KYC des personnes, bénéficiaires effectifs, authentification forte). Un vendeur en courtage encaissé par un autre canal (ex. Ponto) peut ne correspondre à aucune règle : son KYB reste alors « non configuré ».

Statuts KYB et compte de reversement

  • Exigence KYB : non configuré, manquant, à valider, validé, refusé.
  • KYB interne : passe à « validé » ou « refusé » manuellement par un administrateur. Quand la fonction KYB est active, valider en interne exige au préalable un RIB interne complet (titulaire + IBAN + BIC).
  • Bénéficiaires effectifs (UBO) exigés uniquement pour une société privée.
  • Compte de reversement : statuts en attente / validé / refusé / archivé. Un seul compte validé par défaut par organisation, boutique et type de KYB — enregistrer un nouveau compte par défaut archive l'ancien. Le reversement du vendeur exige un compte validé.
  • La validation KYB ne modifie pas le statut principal de l'organisation. À l'inverse, faire passer l'organisation « validée » fait passer ses personnes « compte complet » et déclenche la création de son compte MangoPay (voir Statuts et transitions).

KYC, KYB, dépôts et paiement

  • Les documents d'identité personne sont distingués des documents d'organisation.
  • L'autorisation de participation refuse une personne dont le profil n'est pas complété.
  • Une demande d'autorisation peut être validée, refusée ou révoquée.
  • Une validation d'autorisation peut valider les documents associés et traiter les autres demandes.
  • Un refus d'autorisation conserve une liste de motifs et déclenche une notification.
  • Le dépôt bancaire peut bloquer une enchère.
  • Le compte payeur peut bloquer la facturation automatique.
  • Pour une organisation en KYB externe (Mangopay), le statut interne du document (TO_VALIDATE/VALIDATED/REFUSED) est complété par le statut retourné par Mangopay (validé, refusé, à modifier, en attente) avec un code de raison et, si disponible, une suggestion de correction affichée à l'utilisateur ; les deux statuts peuvent diverger temporairement (ex. document interne encore TO_VALIDATE pendant que Mangopay a déjà renvoyé un retour).
  • Seul un admin disposant de la permission ORGANISATION.DOCUMENT.MANAGE peut valider, refuser ou changer le statut d'un document ; sans cette permission, les actions de la liste de validation ne s'affichent pas.
Copyright © 2026