Documents et 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étaire | Options acceptées (une option = un jeu de fichiers suffisant) | Correspondance KYC Mangopay |
|---|---|---|---|
USER_IDENTITY_PROOF | Personne | Carte d'identité (recto ID_CARD_FRONT + verso ID_CARD_BACK) OU PASSPORT | — |
PROOF_OF_ADDRESS | Personne | PROOF_OF_ADDRESS | — |
LEGAL_REPRESENTATIVE_IDENTITY_PROOF | Organisation | Carte d'identité du représentant légal (LEGAL_REPRESENTATIVE_ID_CARD_FRONT + LEGAL_REPRESENTATIVE_ID_CARD_BACK) OU LEGAL_REPRESENTATIVE_PASSPORT | identityProof |
KBIS | Organisation | KBIS (justificatif d'immatriculation) | registrationProof |
ORGANISATION_STATUSES | Organisation | ORGANISATION_STATUSES (statuts/acte constitutif) | articlesOfAssociation |
RIB | Organisation | RIB | — (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 fonctionnelle | Exemple d'usage |
|---|---|
| Personnel | Identité, justificatif d'adresse individuel, KYC |
| Organisation | KYB, mandat, justificatif entreprise (KBIS, statuts, RIB) |
| Facture | Document financier associé à une facture |
| Vente ou lot | Fichier public ou privé lié à un lot |
| Autorisation | Document exigé pour participer ou vendre |
| Public | Document 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 :
| Groupe | Rôle organisation requis | Condition d'affichage |
|---|---|---|
USER_IDENTITY_PROOF, PROOF_OF_ADDRESS | Aucun (tout utilisateur) | Toujours proposés sur le profil personnel |
KBIS | BUYER ou SELLER | Proposé 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 |
RIB | BUYER ou SELLER | Proposé 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
| Action | Qui ? | Règle |
|---|---|---|
| Déposer | Utilisateur concerné, organisation autorisée ou admin | Le document doit être rattaché au bon objet ; le fichier passe par une URL signée puis un contrôle antivirus avant d'être enregistré |
| Consulter | Personne/organisation autorisée ou admin | Les documents personnels et factures sont protégés ; toute prévisualisation ou téléchargement passe par une URL signée temporaire |
| Valider | Admin avec la permission ORGANISATION.DOCUMENT.MANAGE | Décision tracée (personne + date) ; réservé aux documents au statut TO_VALIDATE pour l'action rapide |
| Refuser | Admin avec la permission ORGANISATION.DOCUMENT.MANAGE | Motif 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 manuellement | Admin avec la permission ORGANISATION.DOCUMENT.MANAGE | Un 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 |
| Remplacer | Propriétaire ou admin | Le dépôt d'un nouveau document du même type archive automatiquement l'ancien (statut ARCHIVED) |
| Supprimer (côté utilisateur) | Propriétaire du document | Passe le document au statut ARCHIVED (suppression douce), jamais un retrait définitif |
Supprimer (côté admin, statut DELETED) | Admin avec la permission ORGANISATION.DOCUMENT.MANAGE | Dé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
VALIDATEDouTO_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ôle | Explication |
|---|---|
| KYC | Vérification d'une personne |
| KYB | Vérification d'une organisation |
| SCA | Authentification 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) :
| Situation | Circuit KYB |
|---|---|
| Vente commissaire-priseur, ou achat-revente | Interne |
| Vendeur « public » (personne publique / association), quel que soit l'encaissement | Interne |
| Courtage encaissé via MangoPay | Externe (MangoPay) |
| Courtage encaissé via Paybox ou paiement direct au vendeur | Interne |
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 encoreTO_VALIDATEpendant que Mangopay a déjà renvoyé un retour). - Seul un admin disposant de la permission
ORGANISATION.DOCUMENT.MANAGEpeut valider, refuser ou changer le statut d'un document ; sans cette permission, les actions de la liste de validation ne s'affichent pas.
Contrats
Les contrats définissent les conditions dans lesquelles une organisation peut acheter, vendre, être facturée ou bénéficier de droits particuliers.
Enchères
Les enchères permettent aux acheteurs autorisés de proposer un prix sur un lot pendant une vente ouverte. TARS contrôle la validité de chaque enchère avant de l'accepter.