Calcul des taxes (TVA)
Le service appelé lors du calcul des taxes est "calcTax". Ces données sont :
- en entrée :
- productStoreId : le centre de profit (champ "productStoreId" de OrderHeader)
- payToPartyId :
- billToPartyId : l'identifiant de l'acteur facturé, c'est celui associé au rôle "BILL_TO_CUSTOMER" dans la table OrderRole (champ : PartyId)
- 4 listes, qui sont renseigné par des informations au niveau OISGA ou OI selon le programme appelant, raisonnement par expédition ou par commande
- itemProductList : la liste des produits
- itemAmountList : la liste des montants correspondants
- itemPriceList : la liste des prix unitaire correspondants
- itemShippingList : la liste des montants de l'expédition par ligne (dans ofbiz cette liste n'est pas renseigné (=0), sont usage est-il implémenté?)
- orderShippingAmount : le montant de l'expédition (peut-être par OISG, si shippingAdress différentes sinon c'est le montant de l'expédition de la commande.)
- shippingAddress : adresse de facturation ( = adresse de livraison si le client n'as pas d'adresse de facturation)
- 2 listes complémentaires ajouté par Neogia, suivant le même logique que les quatres précédentes
- itemQuantityList : quantité dans une autre même unité de mesure, par ligne
- itemUomList : l'identifiant de l'unité de mesure par ligne
- en sortie, 3 listes :
- orderAdjustments : les ajustements pour l'en-tête
- itemAdjustments : les ajustements par ligne
- itemPromoTax : les taxes sur les promotions par ligne (pas pris en compte)
Les taxes sont calculées après avoir mis à jour la quantité des OISGA et les données de l'orderItem. Bien entendu la méthode de calcul des taxes Neogia n'utilise pas le panier (ShoppingCart)
La méthode de calcul des taxes se nomme calcTax() et se trouve dans Orderheader.java (dossier developped). On retrouve en entrée de cette méthode l'adresse de facturation.
Pour trouver cette adresse (à faire valider) à partir de PartyId :
* retourner l'adresse de facturation si elle existe * sinon l'adresse général * sinon l'adresse de livraison


