Reprises d’occasion et livre de police : compliance et valorisation 2BX pour un vélociste

Racheter un vélo d’occasion à un particulier pour le revendre, c’est devenu une activité régulière chez beaucoup de vélocistes — surtout sur le segment VAE, où le marché de l’occasion explose et où une reprise bien valorisée déclenche souvent la vente d’un modèle neuf en remplacement. Mais cette activité a deux pièges : la valorisation (offrir un prix juste sans rogner sa marge) et la compliance (le livre de police, obligation légale française que beaucoup de magasins ignorent ou tiennent à la main dans un cahier). CRM Cycles couvre les deux dans un module dédié, avec workflow Brouillon → Envoyée → Acceptée, calcul de valorisation automatisé via 2BX, et alimentation automatique du livre de police.

Workflow d’une reprise : de l’offre au stock en occasion

Chaque reprise reçoit un numéro unique REP-AAAA-NNNN et passe par les statuts suivants :

Brouillon ──[Envoyer email]──→ Envoyée ──[Accepter]──→ Acceptée
    │                              │                        │
    └──[Refuser]───────────────────┘                        └→ crée :
                                                                 produit OCC-XXXXXX
                                ↓                                vélo sérialisé "En stock"
                             Refusée                             entrée livre de police

Le commerçant ouvre une Brouillon avec le client, propose l’offre, l’envoie par email (statut Envoyée, PDF généré + correspondance enregistrée sur la fiche client), attend la réponse. Le client revient avec son vélo : si OK, Accepter → trois objets créés automatiquement (le produit, le vélo sérialisé et le livre de police). Si le client ne donne pas suite, l’offre passe en Expirée automatiquement à la date de validité, ou en Refusée sur action manuelle.

Valorisation automatique via 2BX

La partie qui change le quotidien d’un commercial vélo : la recherche 2BX. 2BX est une base de référence du marché vélo d’occasion (équivalent de l’Argus pour les voitures). En tapant marque + modèle + année, CRM Cycles récupère :

  • Prix catalogue neuf, prix neuf actuel, prix reconditionné estimé
  • Valeur de reprise indicative selon l’état et le grade
  • Fiche technique complète (composants, transmission, géométrie)
  • Photo officielle du produit

Le commerçant ajoute ensuite des lignes de déduction : les pièces et la main-d’œuvre prévues pour remettre le vélo en état de vente (nouveau pneu arrière, révision complète, peinture éventuelle). Le système calcule alors la valeur de reprise proposée selon la formule :

Valeur = Prix reconditionné × (1 − marge %) − total pièces HT − total M.O. HT

La marge par défaut (30 %) est configurable dans les Paramètres atelier (clé trade_in_margin_percentage). Le commerçant peut ajuster manuellement la valeur finale et le prix de revente souhaité, mais part toujours d’une base argumentée — fini la négociation à la louche.

Acceptation : 3 objets créés en transaction atomique

Le bouton « Accepter » ouvre un formulaire d’identité du vendeur — obligatoire pour le livre de police :

  • Nom, prénom, date et lieu de naissance
  • Type de pièce d’identité (CNI, passeport, permis) + numéro
  • Adresse complète, téléphone, email
  • Déclaration de propriété signée (le vendeur déclare être propriétaire du vélo)
  • Famille / catégorie produit pour classement catalogue

À la validation, trois objets sont créés dans une seule transaction :

  1. Un produit avec SKU OCC-XXXXXX, marqué « sérialisé » + flag « TVA sur marge »
  2. Un vélo sérialisé au statut « En stock », avec l’état (Neuf / Occasion / Reconditionné) et le grade (A / B / C / D)
  3. Une entrée dans le livre de police reprenant identité du vendeur + description du vélo

Si une étape échoue, rollback complet — pas de risque d’avoir un vélo créé en stock sans son entrée de livre de police.

TVA sur marge (art. 297A CGI) : piège fiscal géré tout seul

Quand un professionnel rachète un bien d’occasion à un particulier (qui n’a pas facturé de TVA), puis le revend, il bénéficie du régime de la TVA sur marge (art. 297A CGI) : la TVA est calculée uniquement sur la marge bénéficiaire (prix vente − prix d’achat), pas sur le prix de vente complet. C’est plus avantageux fiscalement, mais plus complexe à calculer — beaucoup de logiciels comptables grand public ignorent ce régime.

CRM Cycles applique ce régime automatiquement sur tous les produits issus d’une reprise (flag tva_on_margin = true). Sur la facture de revente, le système calcule la TVA uniquement sur (prix_vente_TTC − prix_achat_TTC), édite le PDF avec la mention légale spécifique et exporte le tout dans le FEC normalisé (cf article 1 sur la caisse NF525).

Livre de police : le registre légal alimenté automatiquement

L’article L321-7 du Code de commerce impose à tout professionnel achetant des biens d’occasion à des particuliers de tenir un registre des achats. Pour un magasin de cycles, tout rachat de vélo d’occasion auprès d’un particulier doit y être consigné. Le défaut de tenue est une infraction pénale (article L321-12), avec amendes à la clé en cas de contrôle de la gendarmerie ou de la DGCCRF.

Beaucoup de magasins le tiennent à la main dans un cahier, avec les risques classiques : perte du cahier, oublis, identités mal renseignées, impossible à présenter rapidement lors d’un contrôle. CRM Cycles alimente le livre de police automatiquement à chaque reprise acceptée. Aucune saisie manuelle requise.

Chaque entrée du livre porte un numéro LP-AAAA-NNNNN et contient :

  • Identité complète du vendeur : nom, prénom, date et lieu de naissance, type et N° de pièce d’identité, adresse, téléphone, email
  • Description du vélo : marque, modèle, type, couleur, N° de cadre, N° Bicycode/FNUCI, photos
  • Conditions de l’achat : date d’acquisition, prix d’achat, déclaration de propriété, date de signature
  • Conditions de revente (remplies automatiquement quand la facture de revente est validée) : date de vente, prix TTC, N° de facture, identité de l’acheteur

Trois exports pour répondre à tous les contrôles

  • PDF entrée unique : une fiche imprimable présentable à un gendarme qui passe en magasin pour vérifier une entrée précise (cas d’un vol signalé qui aurait pu transiter par votre boutique)
  • PDF registre complet : toutes les entrées filtrées par période, format paysage prêt à imprimer pour une audit annuelle
  • Export Excel : colonnes complètes, à transmettre à l’expert-comptable ou à archiver hors-ligne

Sous le capot

  • Modèles principaux : BikeTradeIn (la reprise), BikeTradeInLine (lignes de déduction : pièces, M.O.), PoliceRegisterEntry (livre de police), tous reliés à Customer (le vendeur) et — après acceptation — à Product + ProductSerial.
  • Intégration 2BX : classe TwoBxApiClient qui appelle l’API HTTP de 2BX avec un token. Réponse cachée 24h en Redis pour éviter de marteler l’API (la fiche d’un modèle change peu). Si l’API tombe, le commerçant peut toujours saisir manuellement, avec un message d’alerte.
  • Acceptation = transaction atomique : méthode BikeTradeIn::accept() wrappe la création du Product + ProductSerial + PoliceRegisterEntry dans un $transaction = Yii::$app->db->beginTransaction(). Échec partiel = rollback complet, pas d’incohérence.
  • Régime TVA sur marge : flag booléen tva_on_margin sur Product. Le moteur de facturation détecte le flag à la validation et calcule la TVA sur (prix_vente − prix_achat) au lieu du prix_vente total. Mention légale « Article 297A du CGI — TVA calculée sur la marge bénéficiaire » ajoutée automatiquement sur le PDF de facture.
  • Liaison livre de police ↔ facture de revente : à la validation d’une facture, un hook itère les lignes ; si le ProductSerial facturé est lié à une PoliceRegisterEntry via le Product, on met à jour l’entrée avec les infos de revente (date, prix, n° facture, identité acheteur).
  • Permissions granulaires : trade-in.view (consultation), trade-in.create, trade-in.update (acceptation/relance/modification), trade-in.delete. Le livre de police hérite de trade-in.view seulement (lecture seule pour le commerçant — un livre légal ne se modifie pas a posteriori).

Ce qu’on gagne au quotidien

  • Compliance L321-7 sans y penser : chaque reprise acceptée alimente le livre. Plus de cahier papier, plus de « et si on me contrôle demain ? »
  • Valorisation argumentée : la recherche 2BX donne au commercial une référence marché crédible face au vendeur. Marge garantie automatiquement.
  • TVA sur marge intégrée : pas besoin d’expert-comptable qui sache la calculer dans Sage manuellement.
  • Triple création atomique : à l’acceptation, le vélo est immédiatement vendable, traçable en BDD et conforme au plan légal.

Le prochain article couvrira la gestion du stock multi-magasins : inventaires, commandes et réceptions fournisseurs, et le mécanisme particulier de rétrocession inter-magasins quand une enseigne avec plusieurs boutiques fait circuler un vélo d’un point de vente à l’autre.

Retour en haut