Habilitar el impuesto sobre el valor añadido (IVA) en el nivel de tienda
Cómo registrar el conjunto de mandatos de IVA para habilitar el IVA en el nivel de la tienda.
Por qué y cuándo se efectúa esta tarea
Procedimiento
-
Añada el nuevo método de cálculo para el cálculo del IVA ejecutando sentencias similares a:
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)')
-
Registre los nuevos métodos de cálculo para el cálculo del impuesto sobre la venta y el cálculo de impuestos sobre el envío.
Nota: Si tiene una promoción aplicada al producto y especifica la secuencia como 0, el impuesto se calcula basándose en el importe bruto. Es decir, el precio antes de aplicar la promoción. Sin embargo, si especifica la secuencia, por ejemplo, como 3 y 4 para los dos registros, el impuesto se calcula basándose en el precio con descuento. Es decir, el precio después de aplicar la promoción.
- Si se definen valores predeterminados en el nivel del sitio, ejecute sentencias SQL que similares a:
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 se definen valores predeterminados en el nivel de la tienda, ejecute sentencias SQL similares a:
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
- Si se definen valores predeterminados en el nivel del sitio, ejecute sentencias SQL que similares a:
-
Registre el mandato para calcular los impuestos para una entrada de catálogo individual antes de añadirla a un pedido ejecutando sentencias SQL similares a:
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')
-
Registre la implementación apropiada para OrderCalculateCmd.
- Si se definen valores predeterminados en el nivel de sitio:
Si utiliza com.ibm.commerce.order.commands.PromotionEngineOrderCalculateCmdImpl como la implementación de OrderCalculateCmd, deberá utilizar:
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 utiliza com.ibm.commerce.order.commands.OrderCalculateCmdImpl como la implementación de OrderCalculateCmd, deberá utilizar:
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 se definen valores predeterminados en el nivel de la tienda:
Si utiliza com.ibm.commerce.order.commands.PromotionEngineOrderCalculateCmdImpl como la implementación de OrderCalculateCmd, deberá utilizar:
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 utiliza com.ibm.commerce.order.commands.OrderCalculateCmdImpl como la implementación de OrderCalculateCmd, deberá utilizar:
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
- Si se definen valores predeterminados en el nivel de sitio:
-
Registre el mandato para sumar una cantidad total de un pedido individual ejecutando una sentencia SQL similar a:
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')
-
Registre el mandato para sumar una cantidad total de un conjunto de artículos de pedido ejecutando una sentencia SQL similar a:
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')
-
Registre el mandato para sumar una cantidad total de pedidos de historial ejecutando una sentencia SQL similar a:
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')
-
Registre el mandato para sumar una cantidad total de salida del pedido ejecutando una sentencia SQL similar a:
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')
- Opcional:
Si desea utilizar HCL Commerce Accelerator para gestionar la devolución, se da soporte al IVA en el flujo de retorno de HCL Commerce:
- Después de registrar los mandatos SQL anteriores, reinicie el servidor para que entren en vigor.