Files
tradon/modules/purchase/docs/business-rules.template.md
2026-03-25 09:59:15 +01:00

2.8 KiB

Business Rules Template - Purchase

Statut: draft | reviewed | approved
Version: v0.1
Derniere mise a jour: YYYY-MM-DD
Owner metier: Nom / Equipe
Owner technique: Nom / Equipe

1) Scope

  • Domaine: ex: achats fournisseur
  • Hors scope: ex: achats intercompany
  • Modules impactes:
    • purchase
    • stock (si applicable)
    • account_invoice (si applicable)

2) Glossaire

  • Purchase: commande d'achat fournisseur.
  • Line: ligne de commande.
  • Invoice State: etat facture calcule.
  • Shipment State: etat reception calcule.
  • Ajouter ici les termes metier propres a ton contexte.

3) Regles metier (source de verite)

BR-001 - [Titre court]

  • Intent: Pourquoi cette regle existe
  • Description:
    • Enonce clair et testable
  • Conditions d'entree:
    • Etat
    • Type de ligne (goods/service)
    • Contexte (societe, devise, fournisseur, lot, etc.)
  • Resultat attendu:
    • Etat/valeur/action attendue
  • Exceptions:
    • Cas ou la regle ne s'applique pas
  • Priorite:
    • bloquante | importante | informative
  • Source:
    • Ticket / spec / decision metier

BR-002 - [Titre court]

  • Intent:
  • Description:
  • Conditions d'entree:
  • Resultat attendu:
  • Exceptions:
  • Priorite:
  • Source:

4) Matrice d'etats (optionnel mais recommande)

Regle Etat initial Evenement Etat attendu Notes
BR-001 draft quote quotation
BR-002 quotation confirm confirmed/processing

5) Exemples concrets

Exemple E1 - Cas nominal

  • Donnees:
    • fournisseur = X
    • produit = Y
    • quantite = 10
  • Attendu:
    • invoice_state = pending
    • shipment_state = waiting

Exemple E2 - Cas limite

  • Donnees:
  • Attendu:

6) Impact code attendu

  • Fichiers Python potentiellement concernes:
    • modules/purchase/purchase.py
    • modules/purchase/stock.py
    • modules/purchase/invoice.py
    • modules/purchase/product.py
  • Fichiers XML potentiellement concernes:
    • modules/purchase/purchase.xml
    • modules/purchase/stock.xml
    • modules/purchase/invoice.xml

7) Strategie de tests

  • Unitaires:
    • modules/purchase/tests/test_module.py
  • Scenarios:
    • modules/purchase/tests/scenario_purchase.rst
    • modules/purchase/tests/scenario_purchase_manual_invoice.rst
    • modules/purchase/tests/scenario_purchase_return_wizard.rst

Pour chaque regle BR-xxx, lister le test associe:

Regle Test existant Nouveau test a ajouter Statut
BR-001 ... ... todo

8) Compatibilite et migration

  • Effet retroactif sur commandes existantes: oui/non
  • Migration necessaire: oui/non
  • Plan de rollback:
    • comment revenir en arriere sans corruption metier

9) Validation

  • Valide par metier:
    • Nom - date
  • Valide par technique:
    • Nom - date
  • Decision finale:
    • approved / rejected / needs update