Qovans Docs
Fonctionnalites

Tarification

Comment les prix sont calcules — prix client Cegid, remises en cascade et synchronisation.

Les prix dans Qovans sont personnalises par client. Chaque client a sa propre grille tarifaire dans Cegid, avec des remises en cascade.

Comment ca marche

Quand un client se connecte, ses prix sont lus depuis le cache local PostgreSQL (table product_prices). Ce cache est alimente par la synchronisation avec Cegid.

Calcul du prix net

Cegid renvoie un prix brut et jusqu'a 3 remises en cascade :

Prix net = Prix brut × (1 - Remise1%) × (1 - Remise2%) × (1 - Remise3%) - Remise fixe

Exemple : prix brut 100 EUR, remise1 = 10%, remise2 = 5% → 100 × 0.90 × 0.95 = 85.50 EUR

Stockage

La table product_prices stocke un enregistrement par couple (produit, client) :

ChampDescription
gross_pricePrix brut Cegid
rebate1, rebate2, rebate3Remises en %
rebate_amountRemise fixe en EUR
net_pricePrix net calcule
is_activefalse si le prix est 0 (produit non commercialise pour ce client)

Synchronisation

Les prix sont synchronises pour chaque client via l'endpoint Cegid SearchTariffSales. La sync est declenchee :

  • A la premiere connexion du client (si is_synced = false)
  • Periodiquement via les scripts de sync

Affichage

Le frontend affiche toujours le prix net HT (apres remises). Les prix sont formates en euros avec 2 decimales.

Si un produit n'a pas de prix pour le client connecte (is_active = false), il n'apparait pas dans le catalogue.

Points d'attention

  • Les prix sont en HT partout dans l'application
  • La TVA n'est pas calculee dans Qovans (elle l'est dans Cegid a la facturation)
  • Un client sans sync recente voit les prix de la derniere synchronisation
  • Le champ fixed_price surcharge le calcul par remises quand il est defini