Activation de la taxe sur la valeur ajoutée (TVA) au niveau des magasins

Comment enregistrer l'ensemble TVA des commandes pour activer la TVA au niveau du magasin.

Pourquoi et quand exécuter cette tâche

Vous devez enregistrer le nouvel ensemble de commandes de taxe afin d'activer la TVA. La TVA peut être activée au niveau du magasin et du site, bien qu'elle soit généralement activée au niveau du magasin.

Procédure

  1. Ajoutez la nouvelle méthode de calcul pour le calcul de la TVA en exécutant des instructions SQL semblables à :
    insert into calmethod(CALMETHOD_ID,STOREENT_ID,CALUSAGE_ID,TASKNAME,DESCRIPTION,SUBCLASS,NAME) 
    values(@any unique id 1, @customer's store ID,-3,'com.ibm.commerce.order.calculation.VATCalculationRuleCombineCmd',
    'default method to identify sales tax rules (referenced by STENCALUSG.ACTRC_CALMETHOD_ID) when Value-Added-Tax is
    enabled',5,'VATCalculationRuleCombine (sales tax)')
    insert into calmethod(CALMETHOD_ID,STOREENT_ID,CALUSAGE_ID,TASKNAME,DESCRIPTION,SUBCLASS,NAME) 
    values(@any unique id 2, @customer's store ID,-4,'com.ibm.commerce.order.calculation.VATCalculationRuleCombineCmd',
    'default method to identify shipping tax rules (referenced by STENCALUSG.ACTRC_CALMETHOD_ID) when Value-Added-Tax is
    enabled',5,'VATCalculationRuleCombine (shipping tax)')
  2. Enregistrez les nouvelles méthodes de calcul pour le calcul de la TVA et de la taxe d'expédition.
    Remarque : Si vous avez une promotion demandée pour le produit et spécifiez la séquence sur 0, la taxe est calculée en fonction du montant brut. C'est-à-dire le prix avant la promotion. Toutefois, si vous spécifiez la séquence, par exemple, sur 3 et 4 pour les deux enregistrements, la taxe est calculée en fonction du prix réduit. C'est-à-dire le prix après la promotion.
    • Si les valeurs par défaut sont définies au niveau du site, exécutez des instructions SQL semblables à :
      insert into stencalusg (storeent_id, calusage_id, actcc_calmethod_id, actrc_calmethod_id,calmethod_id_app,calmethod_id_sum,usageflags,calmethod_id_ini,sequence) values(store_id,-3,-41,@any unique id 1,-222,-223,1,-221,sequence); 
      insert into stencalusg (storeent_id, calusage_id, actcc_calmethod_id, actrc_calmethod_id,calmethod_id_app,calmethod_id_sum,usageflags,calmethod_id_ini,sequence) values(store_id,-4,-61,@any unique id 2,-232,-233,1,-231,sequence); 
    • Si les valeurs par défaut sont définies au niveau du magasin, exécutez des instructions SQL semblables à :
      update stencalusg set ACTRC_CALMETHOD_ID=
      @any unique id 1 where storeent_id=@customer's store ID and calusage_id=-3
      update stencalusg set ACTRC_CALMETHOD_ID=
      @any unique id 2 where storeent_id=@customer's store ID and calusage_id=-4
  3. Enregistrez la commande pour calculer la taxe d'une seule entrée de catalogue avant de l'ajouter à une commande en exécutant des instructions SQL semblables à :
    insert into cmdreg(STOREENT_ID,INTERFACENAME,CLASSNAME,TARGET)
    values(@customer's store ID, 'com.ibm.commerce.taxation.commands.GetDisplayTaxesCmd',
    'com.ibm.commerce.taxation.commands.GetDisplayVATTaxesCmdImpl','Local')
  4. Enregistrez l'implémentation appropriée pour OrderCalculateCmd.
    • Si les valeurs par défaut sont définies au niveau du site :

      Si vous utilisez com.ibm.commerce.order.commands.PromotionEngineOrderCalculateCmdImpl comme implémentation de OrderCalculateCmd, vous devrez utiliser :

      insert into cmdreg(STOREENT_ID,INTERFACENAME,CLASSNAME,TARGET) values(store_id, 'com.ibm.commerce.order.commands.OrderCalculateCmd','com.ibm.commerce.order.commands.VATPromotionEngineOrderCalculateCmdImpl', 'Local');

      Si vous utilisez com.ibm.commerce.order.commands.OrderCalculateCmdImpl comme implémentation de OrderCalculateCmd, vous devrez utiliser :

      insert into cmdreg(STOREENT_ID,INTERFACENAME,CLASSNAME,TARGET) values(store_id, 'com.ibm.commerce.order.commands.OrderCalculateCmd','com.ibm.commerce.order.commands.VATOrderCalculateCmdImpl', 'Local');
    • Si les valeurs par défaut sont définies au niveau du magasin :

      Si vous utilisez com.ibm.commerce.order.commands.PromotionEngineOrderCalculateCmdImpl comme implémentation de OrderCalculateCmd, vous devrez utiliser :

      update cmdreg set CLASSNAME='com.ibm.commerce.order.commands.VATPromotionEngineOrderCalculateCmdImpl'
      where interfacename = 'com.ibm.commerce.order.commands.OrderCalculateCmd' and storeent_id=@customer's store id

      Si vous utilisez com.ibm.commerce.order.commands.OrderCalculateCmdImpl comme implémentation de OrderCalculateCmd, vous devrez utiliser :

      update cmdreg set CLASSNAME='com.ibm.commerce.order.commands.VATOrderCalculateCmdImpl'
      where interfacename = 'com.ibm.commerce.order.commands.OrderCalculateCmd' and storeent_id=@customer's store id
  5. Enregistrez la commande pour additionner le montant total d'une commande unique en exécutant une instruction SQL similaire à :
    insert into cmdreg(STOREENT_ID,INTERFACENAME,CLASSNAME, TARGET)
    values(@customer's store id,'com.ibm.commerce.order.commands.GetOrderTotalAmountCmd',
    'com.ibm.commerce.order.commands.VATGetOrderTotalAmountCmdImpl','Local')
  6. Enregistrez la commande pour additionner un ensemble de montants totaux d'articles de commande en exécutant une instruction SQL similaire à :
    insert into cmdreg(STOREENT_ID,INTERFACENAME,CLASSNAME,TARGET)
    values(@customer's store id,'com.ibm.commerce.orderitems.commands.GetOrderItemsTotalAmountCmd',
    'com.ibm.commerce.orderitems.commands.VATGetOrderItemsTotalAmountCmdImpl','Local')
  7. Enregistrez la commande pour résumer le montant total d'une commande historique en exécutant une instruction SQL similaire à :
    insert into cmdreg(STOREENT_ID,INTERFACENAME,CLASSNAME,TARGET)
    values(@customer's store id,'com.ibm.commerce.order.commands.GetHistoryOrderTotalAmountCmd',
    'com.ibm.commerce.order.commands.VATGetHistoryOrderTotalAmountCmdImpl','Local')
  8. Enregistrez la commande pour résumer le montant total d'une version de commande en exécutant une instruction SQL similaire à :
    insert into cmdreg(STOREENT_ID,INTERFACENAME,CLASSNAME,TARGET)
    values(@customer's store id,'com.ibm.commerce.order.commands.GetOrderReleaseTotalAmountCmd',
    'com.ibm.commerce.order.commands.VATGetOrderReleaseTotalAmountCmdImpl','Local')
  9. Facultatif : Si vous souhaitez utiliser HCL Commerce Accelerator pour gérer le retour, la TVA est prise en charge dans le flux de retour HCL Commerce :
    1. Enregistrez la commande pour calculer le crédit total d'un article RMA en exécutant une instruction SQL similaire à :
      insert into cmdreg(STOREENT_ID,INTERFACENAME,CLASSNAME,TARGET) 
      values (@customer's store id,'com.ibm.commerce.returns.commands.CalculateRMAItemTotalCreditCmd', 'com.ibm.commerce.returns.commands.VATCalculateRMAItemTotalCreditCmdImpl','Local') 
    2. Pour configurer les affichages de retour spécifiques à la TVA de HCL Commerce Accelerator, ouvrez les fichiers suivants dans un éditeur de texte :
      • workspace_dir/CommerceAccelerator/WebContent/WEB-INF/struts-config-ext.xml
      • workspace_dir/CommerceAccelerator/WebContent/WEB-INF/classes/struts-wcs-accelerator-custom.xml
      Trouvez l'élément <global-forwards> et mettez-le à jour comme indiqué :
         <struts-config>
         <global-forwards>
          <forward className="com.ibm.commerce.struts.ECActionForward"
                  name="ReturnItemsPage" path="/tools/returns/ReturnItemsPageVAT.jsp">
                  <set-property property="resourceClassName" value="com.ibm.commerce.tools.command.ToolsForwardViewCommandImpl"/>
          </forward>
          <forward className="com.ibm.commerce.struts.ECActionForward"
                  name="ReturnConfirmation" path="/tools/returns/ReturnConfirmationVAT.jsp">
                  <set-property property="resourceClassName" value="com.ibm.commerce.tools.command.ToolsForwardViewCommandImpl"/>
          </forward>
      </global-forwards>
      </struts-config>
      Trouvez l'élément <global-results> et mettez-le à jour comme indiqué :
      <package extends="struts-default" name="wcs-accelerator" namespace="/">
      <global-results>
      <result name="ReturnItemsPage">
      <param name="location">/tools/returns/ReturnItemsPageVAT.jsp</param>
      <param name="resourceClassName">com.ibm.commerce.tools.command.ToolsForwardViewCommandImpl</param>
      </result>
      <result name="ReturnConfirmation">
      <param name="location">/tools/returns/ReturnConfirmationVAT.jsp</param>
      <param name="resourceClassName">com.ibm.commerce.tools.command.ToolsForwardViewCommandImpl</param>
      </result>
      </global-results>
      </package>
  10. Après avoir enregistré les commandes SQL précédentes, redémarrez le serveur pour les faire prendre effet.