Install and configure the tax integration interface


About this task

To install and configure the tax integration interface, you need to register the new commands provided by the tax integration kit to the database. If we are using third-party tax software, sales tax and shipping tax are now separated into individual commands for the Tax Integration Kit. If you need to separate sales tax and shipping tax to allow separate auditing of sales and shipping tax, we must follow these steps instead.

For a store to use the new command provided by the tax integration kit for tax calculation, you need to register the new commands, ApplyCalculationUsageCmd and TaxCalculationUsageTIKCmd, to the WebSphere Commerce database, by updating the CALMETHOD and STENCALUSG tables, which you do by following these steps:


Procedure

  1. Insert a new entry for ApplyCalculationUsageCmd in the CALMETHOD table.

    Column Values
    CALMETHOD_ID The key, a unique ID assigned to the entry.
    STOREENT_ID -1 or the store_ID
    CALUSAGE_ID -3
    TASKNAME com.ibm.commerce.isv.kit.tax.ApplyCalculationUsageTIKCmd
    DESCRIPTION This is a description of the sales tax method of the ISV.
    SUBCLASS 12
    NAME ApplyCalculationUsageTIK

    Use the following sample SQL statements as your guide:

      DELETE FROM calmethod WHERE TASKNAME = 
        'com.ibm.commerce.isv.kit.tax.ApplyCalculationUsageTIKCmd'
        AND STOREENT_ID = store_ID AND CALUSAGE_ID = -3
      
      INSERT INTO CALMETHOD (CALMETHOD_ID, STOREENT_ID, CALUSAGE_ID, TASKNAME, 
        DESCRIPTION, SUBCLASS, NAME) VALUES ((select coalesce((min(calmethod_id)-1),1)
        from calmethod), store_ID , -3,
        'com.ibm.commerce.isv.kit.tax.ApplyCalculationUsageTIKCmd', 'default
        method for calculation taxes using Taxcompany', 12, 'ApplyCalculationUsageTIK')

  2. Insert a new entry for TaxCalculationUsageTIKCmd in the CALMETHOD table.

    Column Values
    CALMETHOD_ID The key, a unique ID assigned to the entry.
    STOREENT_ID -1 or the store_ID
    CALUSAGE_ID -3
    TASKNAME com.ibm.commerce.isv.kit.tax.TaxCalculationUsageTIKCmd
    DESCRIPTION This is a description of the sales tax method of the ISV.
    SUBCLASS 12
    NAME TaxCalculationUsageTIK

    Use the following sample SQL statements as your guide:

      DELETE FROM calmethod WHERE TASKNAME = 
        'com.ibm.commerce.isv.kit.tax.TaxCalculationUsageTIKCmd' AND
        STOREENT_ID = store_ID AND CALUSAGE_ID = -3
      
      INSERT INTO CALMETHOD (CALMETHOD_ID, STOREENT_ID, CALUSAGE_ID, TASKNAME, 
        DESCRIPTION, SUBCLASS, NAME) VALUES ((select coalesce((min(calmethod_id)-1),1)
        from calmethod), store_ID, -3, 
        'com.ibm.commerce.isv.kit.tax.TaxCalculationUsageTIKCmd', 'default
        method for setting audit flag using Taxcompany', 14, 'TaxCalculationUsageTIK')

  3. Update the STENCALUSG table with the new CALMETHOD ID (obtained from above) for the store: update STENCALUSG set CALMETHOD_ID_APP = CALMETHOD_ID where CALUSAGE_ID = -3 and STOREENT_ID = store_ID

    Use the following sample SQL statements as your guide:

      UPDATE STENCALUSG SET (CALMETHOD_ID_APP, CALMETHOD_ID_FIN) = 
        ((SELECT CALMETHOD_ID FROM CALMETHOD WHERE TASKNAME =
        'com.ibm.commerce.isv.kit.tax.ApplyCalculationUsageTIKCmd' AND 
        STOREENT_ID = store_ID AND CALUSAGE_ID = -3), 
        (SELECT CALMETHOD_ID FROM CALMETHOD WHERE TASKNAME =
        'com.ibm.commerce.isv.kit.tax.TaxCalculationUsageTIKCmd' AND STOREENT_ID = store_ID
        AND CALUSAGE_ID = -3)) WHERE CALUSAGE_ID = -3 and STOREENT_ID = store_ID

  4. If the CMDREG contains an entry with this interface name, then remove the entry: com.ibm.commerce.taxation.commands.ApplyOrderTaxesCmd


Results

The tax software vendor also would require you to register the TaxIntegrationOrdercmd and TaxIntegrationOrderItemCmd commands in the CMDREG table. Refer to the tax software vendor's documentation for details.

Use the following sample SQL statements as your guide:

Note: Use 0 (site) or store_ID.

Steps for separate sales tax and shipping tax when using third-party tax software

Sales tax and shipping tax can be separated into individual commands for the Tax Integration Kit (third-party tax software). This separation allows individual auditing of sales tax and shipping tax.

Complete the following steps to audit sales and shipping tax separately:

  1. Add the following SQL statement to update the CMDREG table:

      db2 insert into CMDREG (STOREENT_ID, INTERFACENAME, DESCRIPTION, CLASSNAME, PROPERTIES, LASTUPDATE, TARGET) 
      values (0,'com.ibm.commerce.isv.kit.tax.TaxCalculationUsageSalesTaxTIKCmd','Sales Tax calculation usage for third-party tax 
      providers','com.ibm.commerce.isv.kit.tax.TaxCalculationUsageSalesTaxTIKCmdImpl',null,null,'Local') 
      
      db2 insert into CMDREG (STOREENT_ID, INTERFACENAME, DESCRIPTION, CLASSNAME, PROPERTIES, LASTUPDATE, TARGET) values 
      (0,'com.ibm.commerce.isv.kit.tax.TaxCalculationUsageShippingTaxTIKCmd','Shipping Tax calculation usage for third-party tax 
      providers','com.ibm.commerce.isv.kit.tax.TaxCalculationUsageShippingTaxTIKCmdImpl',null,null,'Local')

      db2 insert into CMDREG (STOREENT_ID, INTERFACENAME, DESCRIPTION, CLASSNAME, PROPERTIES, LASTUPDATE, TARGET) values
      (0,'com.ibm.commerce.isv.kit.tax.ApplyCalculationUsageSalesTaxTIKCmd','Apply Sales Tax calculation usage for third-party tax 
      providers','com.ibm.commerce.isv.kit.tax.ApplyCalculationUsageSalesTaxTIKCmdImpl',null,null,'Local'); 
      
      db2 insert into CMDREG (STOREENT_ID, INTERFACENAME, DESCRIPTION, CLASSNAME, PROPERTIES, LASTUPDATE, TARGET) values 
      (0,'com.ibm.commerce.isv.kit.tax.ApplyCalculationUsageShippingTaxTIKCmd','Apply Shipping Tax calculation usage for third-party tax 
      providers','com.ibm.commerce.isv.kit.tax.ApplyCalculationUsageShippingTaxTIKCmdImpl',null,null,'Local');

  2. Add the following SQL statement to update the CALMETHOD table:

      db2 insert into CALMETHOD (CALMETHOD_ID, STOREENT_ID, CALUSAGE_ID, TASKNAME, DESCRIPTION, SUBCLASS, NAME) VALUES 
      ((select coalesce((min(calmethod_id)-1),1) from calmethod), store_ID, -3, 
      'com.ibm.commerce.isv.kit.tax.TaxCalculationUsageSalesTaxTIKCmd', 'default method for setting audit flag for sales 
      tax using third-party tax software', 12, 'TaxCalculationUsageSalesTaxTIK') 
      
      db2 insert into CALMETHOD (CALMETHOD_ID, STOREENT_ID, CALUSAGE_ID, TASKNAME, DESCRIPTION, SUBCLASS, NAME) VALUES 
      ((select coalesce((min(calmethod_id)-1),1) from calmethod), store_ID, -4, 
      'com.ibm.commerce.isv.kit.tax.TaxCalculationUsageShippingTaxTIKCmd', 'default method for setting audit flag for 
      shipping using third-party tax software', 12, 'TaxCalculationUsageShippingTaxTIK') 
      
      insert into CALMETHOD (CALMETHOD_ID, STOREENT_ID, CALUSAGE_ID, TASKNAME, DESCRIPTION, SUBCLASS, NAME) VALUES 
      ((select coalesce((min(calmethod_id)-1),1) from calmethod), store_ID, -3, 
      'com.ibm.commerce.isv.kit.tax.ApplyCalculationUsageSalesTaxTIKCmd', 'applies calculation usage sales tax', 12, 'ApplyCalculationUsageSalesTaxTIK') 
      
      insert into CALMETHOD (CALMETHOD_ID, STOREENT_ID, CALUSAGE_ID, TASKNAME, DESCRIPTION, SUBCLASS, NAME) VALUES 
      ((select coalesce((min(calmethod_id)-1),1) from calmethod), store_ID, -4, 
      'com.ibm.commerce.isv.kit.tax.ApplyCalculationUsageShippingTaxTIKCmd', 'applies calculation usage shipping tax', 12, 'ApplyCalculationUsageShippingTaxTIK')

    where store_ID is the store or store group ID.

  3. Refresh the Calculation registry and Command registry from the Administration Console.

  4. Set the STENCALUSG.CALMETHOD_ID_FIN column. The STENCALUSG table must be updated so that TaxCalculationUsageSalesTaxTIKCmd and TaxCalculationUsageShippingTaxTIKCmd are called for our store.

  5. Query the CALMETHOD table to find the CALMETHOD_ID values for com.ibm.commerce.isv.kit.tax.TaxCalculationUsageSalesTaxTIKCmd and com.ibm.commerce.isv.kit.tax.TaxCalculationUsageShippingTaxTIKCmd. Using those values, update the STENCALUSG table so that CALMETHOD_ID_FIN for shipping and sales is called. Use the following SQL statements to update the STENCALUSG table:

    Also when updating STENCALUSG the CALMETHOD_ID_APP field should be updated NOT the CALMETHOD_ID_FIN column To update STENCALUSG

      set CALMETHOD_ID_FIN=calmethod_ID_1 where STOREENT_ID=store_ID and CALUSAGE_ID=calusage_ID_1
       

    To update STENCALUSG

      set CALMETHOD_ID_FIN=calmethod_ID_2 where STOREENT_ID=store_ID and CALUSAGE_ID=calusage_ID_2, where calmethod_ID_1 is the CALMETHOD_ID for TaxCalculationUsageSalesTaxTIKCmd, 
      calmethod_ID_2 is the CALMETHOD_ID for TaxCalculationUsageShippingTaxTIKCmd, store_ID is the store or store group ID, calusage_ID_1 is the calculation usage 
      ID for sales tax (-3), and calusage_ID_2 is the calculation usage value for shipping tax (-4). 
       

  1. Set the STENCALUSG.CALMETHOD_ID_APP column. The STENCALUSG table must be updated so that ApplyCalculationUsageSalesTaxTIKCmd and ApplyCalculationUsageShippingTaxTIKCmd are called for the store.

  2. Query the CALMETHOD table to find the CALMETHOD_ID values for com.ibm.commerce.isv.kit.tax.ApplyCalculationUsageSalesTaxTIKCmd and com.ibm.commerce.isv.kit.tax.ApplyCalculationUsageShippingTaxTIKCmd. Using those values, update the STENCALUSG table so that CALMETHOD_ID_FIN for shipping and sales is called. Use the following SQL statements to update the STENCALUSG table:

  3. To update STENCALUSG for sales tax:

      set CALMETHOD_ID_FIN=calmethod_ID_3 where STOREENT_ID=store_ID and CALUSAGE_ID=calusage_ID_3

  4. To update STENCALUSG for shipping tax

      set CALMETHOD_ID_FIN=calmethod_ID_4 where STOREENT_ID=store_ID and CALUSAGE_ID=calusage_ID_4,
      calmethod_ID_3 is the CALMETHOD_ID for ApplyCalculationUsageSalesTaxTIKCmd,
      calmethod_ID_4 is the CALMETHOD_ID for ApplyCalculationUsageShippingTaxTIKCmd,

wShere:

The tax software vendor also requires you to register the TaxIntegrationOrderCmd and TaxIntegrationOrderItemCmd commands in the CMDREG table. Refer to the tax software vendor's documentation for details.