Documents : où vivent vraiment les PDF
Le document store, le lien polymorphe, les quotas de stockage, et pourquoi la preuve appartient aux records plutôt qu’à des noms de dossiers.
Chaque opération ITAD génère des documents. Contrats, certificats, manifests, BOL, photo reports, audit reports, evidence bundles. Dans trop d’opérations, ces documents vivent dans un dossier partagé appelé quelque chose comme « Certificats 2025 FINAL (2) », et la question « où est le certificat de l’asset X » se règle en cherchant dans les e-mails. ReVend OS est l’alternative.
Le lien polymorphe
Un document dans la plateforme ne flotte pas librement. Il est lié à un record. Une seule table de documents, plusieurs types de parents possibles. Depuis la page documents générale, le picker de lien propose les companies, les contacts et les collections ; les records plus spécifiques attachent leurs documents depuis leurs propres pages — un certificat d’erasure est uploadé sur l’asset et lié comme tel, un accord signé est uploadé sur le contrat. Un document qui appartient à une company réapparaît sur cette company. Pas d’upload en double, pas de chasse au trésor.
Tags
Les documents partagent le système de tags universel avec les companies et les contacts. Un tag « GDPR » sur un document peut voisiner avec des contrats et des contacts tagués GDPR. Une taxonomie vaut mieux que cinq rituels de dossiers colorés.
Stockage
Documents, photos, signatures et fichiers d’evidence vivent dans des buckets Supabase Storage isolés par tenant, avec des URLs signées et des contrôles de quota. Vercel Blob sert aux avatars, pas aux preuves opérationnelles. L’usage du stockage est agrégé par tenant, et les avertissements de quota ou les blocages d’upload passent par la même couche de package et de limites que le reste de l’usage.
Retrouvabilité
/general/documents est le navigateur cross-entité : cherchez par nom, puis affinez par type de fichier, tag ou type de record auquel le document est lié. La recherche et les filtres portent sur tout le store avant que la page ne soit choisie, avec le total de correspondances et le nombre de pages sous les yeux. C’est utile quand « j’ai uploadé cet avenant le mois dernier » est toute la question métier. Bat la recherche dans les e-mails d’un ordre de grandeur, et la barre n’était pas très haute.
Supprimer est une décision, pas une frappe
Supprimer un document ouvre un dialog qui va d’abord chercher, côté serveur, à quoi le fichier est lié, où il est visible et si quelque chose bloque la suppression. Ce n’est qu’ensuite que le bouton devient disponible. Une preuve qu’un auditeur peut réclamer dans trois ans ne devrait pas disparaître parce qu’un pouce a glissé sur une tablette.
Deux documents avec un vrai rôle
Sur un contrat, un document lié peut être marqué comme l’accord signé ; un tenant peut faire de cette marque une exigence avant qu’un contrat passe en actif. Un evidence package prêt qui n’a pas de pickup request derrière lui peut être envoyé par e-mail directement aux contacts du client — le contact de l’order plus les contacts enregistrés de la company, avec des adresses supplémentaires au besoin — sous forme de lien de téléchargement signé à durée limitée, l’envoi et l’expiration étant journalisés. Le PDF quitte le bâtiment ; le record de son départ reste.
Partir proprement
Un tenant owner peut purger le stockage de son tenant, et cette action montre elle aussi un aperçu de ce qui va disparaître avant que quoi que ce soit disparaisse. Les données appartiennent au tenant, y compris le droit de les emporter.