This is an automated email from the ASF dual-hosted git repository.

mridulpathak pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git


The following commit(s) were added to refs/heads/trunk by this push:
     new a07c838c99 Improved: Remove defunct Taxware and deprecated ZIPsales™ 
tax integrations (OFBIZ-7936) (#1380)
a07c838c99 is described below

commit a07c838c9934ad2b221360a152b12de24527a82e
Author: Mridul Pathak <[email protected]>
AuthorDate: Fri Jun 26 19:24:08 2026 +0530

    Improved: Remove defunct Taxware and deprecated ZIPsales™ tax integrations 
(OFBIZ-7936) (#1380)
    
    Improved: Remove defunct Taxware and deprecated ZIPsales™ tax
    integrations (OFBIZ-7936)
    
    OFBiz currently ships with two third-party tax integrations — Taxware
    and ZIPsales™ — both of which are no longer functional due to the
    discontinuation of their underlying data providers. This PR removes all
    related artifacts including Java source files, MiniLang descriptors,
    service definitions, entity definitions, configuration files, and UI
    labels.
---
 .../accounting/servicedef/services_tax.xml         |  14 -
 .../datamodel/entitydef/accounting-entitymodel.xml |  43 --
 applications/order/config/OrderErrorUiLabels.xml   |  16 -
 applications/order/config/taxware.properties       |  60 ---
 applications/order/config/zipsales.properties      |  21 -
 .../minilang/thirdparty/taxware/TaxwareFiles.xml   | 341 --------------
 .../thirdparty/zipsales/ZipSalesTaxTables.xml      |  61 ---
 .../ofbiz/order/shoppingcart/CheckOutHelper.java   |   1 -
 .../order/thirdparty/taxware/TaxwareException.java |  43 --
 .../order/thirdparty/taxware/TaxwareServices.java  |  91 ----
 .../ofbiz/order/thirdparty/taxware/TaxwareUTL.java | 488 --------------------
 .../thirdparty/zipsales/ZipSalesServices.java      | 511 ---------------------
 build.gradle                                       |   3 -
 13 files changed, 1693 deletions(-)

diff --git a/applications/accounting/servicedef/services_tax.xml 
b/applications/accounting/servicedef/services_tax.xml
index ca31d6c454..d4a6b15baa 100644
--- a/applications/accounting/servicedef/services_tax.xml
+++ b/applications/accounting/servicedef/services_tax.xml
@@ -194,20 +194,6 @@ under the License.
         <attribute name="fromDate" type="String" mode="IN" optional="true"/>
     </service>
 
-    <!-- ZipSales Tax Services -->
-    <service name="importZipSalesTaxData" engine="java" 
transaction-timeout="7200"
-        location="org.apache.ofbiz.order.thirdparty.zipsales.ZipSalesServices" 
invoke="importFlatTable">
-        <description>Import ZipSales Flat File</description>
-        <attribute name="taxFileLocation" type="String" mode="IN" 
optional="false"/>
-        <attribute name="ruleFileLocation" type="String" mode="IN" 
optional="false"/>
-    </service>
-
-    <service name="flatZipSalesTaxCalc" engine="java"
-        location="org.apache.ofbiz.order.thirdparty.zipsales.ZipSalesServices" 
invoke="flatTaxCalc">
-        <description>Zip Sales Calc Tax Service - change this to calcTax to 
run</description>
-        <implements service="calcTaxInterface"/>
-    </service>
-
     <!-- TaxAuthorityAssocType services -->
     <service name="createTaxAuthorityAssocType" 
default-entity-name="TaxAuthorityAssocType" engine="entity-auto" 
invoke="create" auth="true">
         <description>Create a TaxAuthorityAssocType</description>
diff --git a/applications/datamodel/entitydef/accounting-entitymodel.xml 
b/applications/datamodel/entitydef/accounting-entitymodel.xml
index b5049f9894..87eede5cbb 100644
--- a/applications/datamodel/entitydef/accounting-entitymodel.xml
+++ b/applications/datamodel/entitydef/accounting-entitymodel.xml
@@ -3817,49 +3817,6 @@ under the License.
         <field name="description" type="description"></field>
         <prim-key field="taxAuthorityRateTypeId"/>
     </entity>
-    <entity entity-name="ZipSalesRuleLookup" 
package-name="org.apache.ofbiz.accounting.tax" title="Zip Sales Tax Lookup">
-        <field name="stateCode" type="short-varchar"></field>
-        <field name="city" type="short-varchar"></field>
-        <field name="county" type="short-varchar"></field>
-        <field name="fromDate" type="date-time"></field>
-        <field name="idCode" type="short-varchar"></field>
-        <field name="taxable" type="short-varchar"></field>
-        <field name="shipCond" type="long-varchar"></field>
-        <prim-key field="stateCode"/>
-        <prim-key field="city"/>
-        <prim-key field="county"/>
-        <prim-key field="fromDate"/>
-    </entity>
-    <entity entity-name="ZipSalesTaxLookup" 
package-name="org.apache.ofbiz.accounting.tax" title="Zip Sales Tax Lookup">
-        <field name="zipCode" type="short-varchar"></field>
-        <field name="stateCode" type="short-varchar"></field>
-        <field name="city" type="short-varchar"></field>
-        <field name="county" type="short-varchar"></field>
-        <field name="fromDate" type="date-time"></field>
-        <field name="countyFips" type="short-varchar"></field>
-        <field name="countyDefault" type="indicator"></field>
-        <field name="generalDefault" type="indicator"></field>
-        <field name="insideCity" type="indicator"></field>
-        <field name="geoCode" type="short-varchar"></field>
-        <field name="stateSalesTax" type="fixed-point"></field>
-        <field name="citySalesTax" type="fixed-point"></field>
-        <field name="cityLocalSalesTax" type="fixed-point"></field>
-        <field name="countySalesTax" type="fixed-point"></field>
-        <field name="countyLocalSalesTax" type="fixed-point"></field>
-        <field name="comboSalesTax" type="fixed-point"></field>
-        <field name="stateUseTax" type="fixed-point"></field>
-        <field name="cityUseTax" type="fixed-point"></field>
-        <field name="cityLocalUseTax" type="fixed-point"></field>
-        <field name="countyUseTax" type="fixed-point"></field>
-        <field name="countyLocalUseTax" type="fixed-point"></field>
-        <field name="comboUseTax" type="fixed-point"></field>
-        <prim-key field="zipCode"/>
-        <prim-key field="stateCode"/>
-        <prim-key field="city"/>
-        <prim-key field="county"/>
-        <prim-key field="fromDate"/>
-    </entity>
-
     <entity entity-name="PartyGlAccount" 
package-name="org.apache.ofbiz.accounting.ledger" title="Party Gl Account">
         <field name="organizationPartyId" type="id"/>
         <field name="partyId" type="id"/>
diff --git a/applications/order/config/OrderErrorUiLabels.xml 
b/applications/order/config/OrderErrorUiLabels.xml
index 4fed857e87..19e3f1ac05 100644
--- a/applications/order/config/OrderErrorUiLabels.xml
+++ b/applications/order/config/OrderErrorUiLabels.xml
@@ -4896,22 +4896,6 @@
         <value xml:lang="zh">不能定位税务文件:${taxFileLocation}</value>
         <value xml:lang="zh-TW">不能定位稅務文件:${taxFileLocation}</value>
     </property>
-    <property key="OrderUnableToReadZipSalesDataFile">
-        <value xml:lang="ar">غير ممكن قرائة ZipSales DataFile</value>
-        <value xml:lang="de">ZipSales-Datei konnte nicht gelesen werden</value>
-        <value xml:lang="en">Unable to read ZipSales DataFile </value>
-        <value xml:lang="es">No se pudo leer el archivo de código de 
ventas</value>
-        <value xml:lang="fr">Impossible de lire le code postal des fichiers de 
données de ventes</value>
-        <value xml:lang="it">Non è possibile leggere ZipSales DataFile </value>
-        <value xml:lang="ja">ZipSalesデータファイルを読み込みできません</value>
-        <value xml:lang="pt-BR">Incapaz de ler arquivo de dados 
ZipSales</value>
-        <value xml:lang="ro">Nu este posibila citerea ZipSales DataFile 
</value>
-        <value xml:lang="ru">Невозможно прочитать файл данных ZipSales 
DataFile </value>
-        <value xml:lang="th">Unable to read ZipSales DataFile </value>
-        <value xml:lang="vi">Không tìm thấy tập tin dữ liệu kinh doanh vùng 
(ZipSales DataFile)</value>
-        <value xml:lang="zh">不能读取 ZipSales 数据文件 </value>
-        <value xml:lang="zh-TW">不能讀取 ZipSales 資料文件 </value>
-    </property>
     <property key="OrderUnableToRemoveSalesTaxAdjustments">
         <value xml:lang="ar">غير ممكن إزالة تعديلات ضريبة المبيعات</value>
         <value xml:lang="de">SALES_TAX-Anpassungen konnten nicht entfernt 
werden</value>
diff --git a/applications/order/config/taxware.properties 
b/applications/order/config/taxware.properties
deleted file mode 100644
index 86540fe4d2..0000000000
--- a/applications/order/config/taxware.properties
+++ /dev/null
@@ -1,60 +0,0 @@
-###############################################################################
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-###############################################################################
-
-# Company ID
-COMPANY_ID=COMID
-
-# Audio File Indicator
-AUDIT_FILE_INDICATOR=2
-
-# Ship From Country
-SF_COUNTRY_CODE=US
-
-# Ship From State/Province
-SF_STATE_PROVINCE=CA
-
-# Ship From City
-SF_CITY=Brisbane
-
-# Ship From Zip/Postal Code
-SF_POSTAL=94005
-
-# Point-of-Origin Country Code
-POO_COUNTRY_CODE=US
-
-# Point-of-Origin State/Province
-POO_STATE_PROVINCE=CA
-
-# Point-of-Origin City
-POO_CITY=Brisbane
-
-# Point-of-Origin Zip/Postal Code
-POO_POSTAL=94005
-
-# Point-of-Acceptance Country Code
-POA_COUNTRY_CODE=US
-
-# Point-of-Acceptance State/Province
-POA_STATE_PROVINCE=CA
-
-# Point-of-Acceptance City
-POA_CITY=Brisbane
-
-# Point-of-Acceptance Zip/Postal Code
-POA_POSTAL=94005
diff --git a/applications/order/config/zipsales.properties 
b/applications/order/config/zipsales.properties
deleted file mode 100644
index 200ffa0711..0000000000
--- a/applications/order/config/zipsales.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-###############################################################################
-
-# comment this to activate all states in the database or supply | delimited 
list of state codes
-zipsales.valid.states=NC|NY
diff --git a/applications/order/minilang/thirdparty/taxware/TaxwareFiles.xml 
b/applications/order/minilang/thirdparty/taxware/TaxwareFiles.xml
deleted file mode 100644
index 6735f9121b..0000000000
--- a/applications/order/minilang/thirdparty/taxware/TaxwareFiles.xml
+++ /dev/null
@@ -1,341 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<data-files xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-        
xsi:noNamespaceSchemaLocation="https://ofbiz.apache.org/dtds/datafiles.xsd";>
-    <data-file name="TaxwareOutHead" type-code="001" record-length="60" 
separator-style="fixed-record">
-        <record name="outHead">
-            <field name="NUMBER_RECORDS" position="0" length="6" type="Long"/>
-            <field name="COMPRESSION_INDICATOR" position="6" length="1" 
type="String"/>
-            <field name="COMPRESSION_CHAR_1" position="7" length="1" 
type="String"/>
-            <field name="COMPRESSION_CHAR_2" position="8" length="1" 
type="String"/>
-            <field name="PROCESS_INDICATOR" position="9" length="1" 
type="String"/>
-            <field name="RESERVED_HEAD" position="10" length="50" 
type="String"/>
-        </record>
-    </data-file>
-    <data-file name="TaxwareOutItem" type-code="001" record-length="2592" 
separator-style="fixed-record">
-        <record name="outItem">
-            <field name="SYSTEM_INDICATOR" position="0" length="1" 
type="String"/>
-            <field name="LANGUAGE_CODE" position="1" length="3" type="String"/>
-            <field name="COMPANY_ID" position="4" length="20" type="String"/>
-            <field name="DIVISION_CODE" position="24" length="20" 
type="String"/>
-            <field name="SF_COUNTRY_CODE" position="44" length="3" 
type="String"/>
-            <field name="SF_TERRITORY_CODE" position="47" length="3" 
type="String"/>
-            <field name="SF_STATE_PROVINCE" position="50" length="26" 
type="String"/>
-            <field name="SF_COUNTY_NAME" position="76" length="26" 
type="String"/>
-            <field name="SF_COUNTY_CODE" position="102" length="3" 
type="String"/>
-            <field name="SF_CITY" position="105" length="26" type="String"/>
-            <field name="SF_POSTAL_CODE" position="131" length="9" 
type="String"/>
-            <field name="SF_ZIP_EXTENSION" position="140" length="4" 
type="String"/>
-            <field name="SF_GEO_CODE" position="144" length="2" type="String"/>
-            <field name="ST_COUNTRY_CODE" position="146" length="3" 
type="String"/>
-            <field name="ST_TERRITORY_CODE" position="149" length="3" 
type="String"/>
-            <field name="ST_STATE_PROVINCE" position="152" length="26" 
type="String"/>
-            <field name="ST_COUNTY_NAME" position="178" length="26" 
type="String"/>
-            <field name="ST_COUNTY_CODE" position="204" length="3" 
type="String"/>
-            <field name="ST_CITY" position="207" length="26" type="String"/>
-            <field name="ST_POSTAL_CODE" position="233" length="9" 
type="String"/>
-            <field name="ST_ZIP_EXTENSION" position="242" length="4" 
type="String"/>
-            <field name="ST_GEO_CODE" position="246" length="2" type="String"/>
-            <field name="ST_SEC_STATE_PROVINCE" position="248" length="26" 
type="String"/>
-            <field name="ST_SEC_COUNTY_CODE" position="274" length="3" 
type="String"/>
-            <field name="ST_SEC_COUNTY_NAME" position="277" length="26" 
type="String"/>
-            <field name="ST_SEC_CITY" position="303" length="26" 
type="String"/>
-            <field name="ST_SEC_POSTAL_CODE" position="329" length="9" 
type="String"/>
-            <field name="ST_SEC_ZIP_CODE_EXTENSION" position="338" length="4" 
type="String"/>
-            <field name="ST_SEC_GEO_CODE" position="342" length="2" 
type="String"/>
-            <field name="POO_COUNTRY_CODE" position="344" length="3" 
type="String"/>
-            <field name="POO_TERRITORY_CODE" position="347" length="3" 
type="String"/>
-            <field name="POO_STATE_PROVINCE" position="350" length="26" 
type="String"/>
-            <field name="POO_COUNTY_NAME" position="376" length="26" 
type="String"/>
-            <field name="POO_COUNTY_CODE" position="402" length="3" 
type="String"/>
-            <field name="POO_CITY" position="405" length="26" type="String"/>
-            <field name="POO_POSTAL_CODE" position="431" length="9" 
type="String"/>
-            <field name="POO_ZIP_EXTENSION" position="440" length="4" 
type="String"/>
-            <field name="POO_GEO_CODE" position="444" length="2" 
type="String"/>
-            <field name="POA_COUNTRY_CODE" position="446" length="3" 
type="String"/>
-            <field name="POA_TERRITORY_CODE" position="449" length="3" 
type="String"/>
-            <field name="POA_STATE_PROVINCE" position="452" length="26" 
type="String"/>
-            <field name="POA_COUNTY_NAME" position="478" length="26" 
type="String"/>
-            <field name="POA_COUNTY_CODE" position="504" length="3" 
type="String"/>
-            <field name="POA_CITY" position="507" length="26" type="String"/>
-            <field name="POA_POSTAL_CODE" position="533" length="9" 
type="String"/>
-            <field name="POA_ZIP_EXTENSION" position="542" length="4" 
type="String"/>
-            <field name="POA_GEO_CODE" position="546" length="2" 
type="String"/>
-            <field name="BILL_TO_COUNTRY_CODE" position="548" length="3" 
type="String"/>
-            <field name="BILL_TO_TERRITORY_CODE" position="551" length="3" 
type="String"/>
-            <field name="BILL_TO_STATE_PROVINCE" position="554" length="26" 
type="String"/>
-            <field name="BILL_TO_COUNTY_NAME" position="580" length="26" 
type="String"/>
-            <field name="BILL_TO_COUNTY_CODE" position="606" length="3" 
type="String"/>
-            <field name="BILL_TO_CITY" position="609" length="26" 
type="String"/>
-            <field name="BILL_TO_POSTAL_CODE" position="635" length="9" 
type="String"/>
-            <field name="BILL_TO_ZIP_EXTENSION" position="644" length="4" 
type="String"/>
-            <field name="BILL_TO_GEO_CODE" position="648" length="2" 
type="String"/>
-            <field name="POINT_OF_TITLE_PASSAGE" position="650" length="1" 
type="String"/>
-            <field name="TAXING_LOCATION" position="651" length="1" 
type="String"/>
-            <field name="CALCULATION_MODE" position="652" length="1" 
type="String"/>
-            <field name="TRANSACTION_TYPE" position="653" length="1" 
type="String"/>
-            <field name="WT_CODE" position="654" length="2" type="String"/>
-            <field name="TYPE_OF_TAX" position="656" length="1" type="String"/>
-            <field name="INVOICE_DATE" position="657" length="8" 
type="CustomDate" format="yyyyMMdd"/>
-            <field name="DELIVERY_DATE" position="665" length="8" 
type="CustomDate" format="yyyyMMdd"/>
-            <field name="MODE_OF_TRANSPORT" position="673" length="2" 
type="String"/>
-            <field name="COMMODITY_PRODUCT_CODE" position="675" length="25" 
type="String"/>
-            <field name="CREDIT_INDICATOR" position="700" length="1" 
type="String"/>
-            <field name="REASON_CODE_COUNTRY" position="701" length="2" 
type="String"/>
-            <field name="REASON_CODE_STATE_PROVINCE" position="703" length="2" 
type="String"/>
-            <field name="REASON_CODE_COUNTY" position="705" length="2" 
type="String"/>
-            <field name="REASON_CODE_CITY" position="707" length="2" 
type="String"/>
-            <field name="REG_NUM_COUNTRY" position="709" length="25" 
type="String"/>
-            <field name="REG_NUM_STATE" position="734" length="25" 
type="String"/>
-            <field name="REG_NUM_COUNTY" position="759" length="25" 
type="String"/>
-            <field name="REG_NUM_CITY" position="784" length="25" 
type="String"/>
-            <field name="EXEMPT_IND_ALL" position="809" length="1" 
type="String"/>
-            <field name="EXEMPT_IND_COUNTRY" position="810" length="1" 
type="String"/>
-            <field name="EXEMPT_IND_TERRITORY" position="811" length="1" 
type="String"/>
-            <field name="EXEMPT_IND_PROVINCE" position="812" length="1" 
type="String"/>
-            <field name="EXEMPT_IND_COUNTY" position="813" length="1" 
type="String"/>
-            <field name="EXEMPT_IND_CITY" position="814" length="1" 
type="String"/>
-            <field name="EXEMPT_IND_SEC_STATE" position="815" length="1" 
type="String"/>
-            <field name="EXEMPT_IND_SEC_COUNTY" position="816" length="1" 
type="String"/>
-            <field name="EXEMPT_IND_SEC_CITY" position="817" length="1" 
type="String"/>
-            <field name="EXEMPT_IND_DISTRICT" position="818" length="1" 
type="String"/>
-            <field name="INVOICE_NUMBER" position="819" length="20" 
type="String"/>
-            <field name="PRIMARY_CURRENCY_CODE" position="839" length="3" 
type="String"/>
-            <field name="SECONDARY_CURRENCY_CODE" position="842" length="3" 
type="String"/>
-            <field name="AUDIT_FILE_INDICATOR" position="845" length="1" 
type="String"/>
-            <field name="EXEMPTION_USE_FLAG" position="846" length="1" 
type="String"/>
-            <field name="EXEMPTION_CRITERION_FLAG" position="847" length="1" 
type="String"/>
-            <field name="EXEMPTION_PROCESS_FLAG" position="848" length="1" 
type="String"/>
-            <field name="CUSTOMER_NUMBER" position="849" length="20" 
type="String"/>
-            <field name="CONTRACT_JOB_NUMBER" position="869" length="10" 
type="String"/>
-            <field name="COST_CENTER" position="879" length="10" 
type="String"/>
-            <field name="BUSINESS_LOCATION_CODE" position="889" length="13" 
type="String"/>
-            <field name="UNIT_OF_MEASURE" position="902" length="15" 
type="String"/>
-            <field name="ITEM_DESCRIPTION" position="917" length="100" 
type="String"/>
-            <field name="END_INVOICE_PROCESSING" position="1017" length="1" 
type="String"/>
-            <field name="INVOICE_SUMMARY_INDICATOR" position="1018" length="1" 
type="String"/>
-            <field name="RECOVERABLE_INDICATOR" position="1019" length="1" 
type="String"/>
-            <field name="RESERVED1020" position="1020" length="1" 
type="String"/>
-            <field name="ACCOUNTING_REFERENCE" position="1021" length="15" 
type="String"/>
-            <field name="ORIGINAL_DOC_NUMBER" position="1036" length="20" 
type="String"/>
-            <field name="DOCUMENT_TYPE" position="1056" length="2" 
type="String"/>
-            <field name="AGENT_INDICATOR" position="1058" length="1" 
type="String"/>
-            <field name="AGENT_BRANCH_ID" position="1059" length="3" 
type="String"/>
-            <field name="COUNTRY_OF_ORIGIN" position="1062" length="3" 
type="String"/>
-            <field name="REGION_OF_ORIGIN" position="1065" length="2" 
type="String"/>
-            <field name="DELIVERY_TERMS" position="1067" length="5" 
type="String"/>
-            <field name="PORT_OF_LOADING_UNLOADING" position="1072" length="5" 
type="String"/>
-            <field name="NATURE_OF_TRANSACTION_CODE" position="1077" 
length="2" type="String"/>
-            <field name="DISTANCE_SALE_INDICATOR" position="1079" length="1" 
type="String"/>
-            <field name="TAX_FREE_ZONE_INDICATOR" position="1080" length="1" 
type="String"/>
-            <field name="ORIGIN_CURRENCY_CODE" position="1081" length="3" 
type="String"/>
-            <field name="DESTINATION_CURRENCY_CODE" position="1084" length="3" 
type="String"/>
-            <field name="STATISTICAL_PROCEDURE" position="1087" length="6" 
type="String"/>
-            <field name="SUPPLEMENTARY_UNITS" position="1093" length="11" 
type="String"/>
-            <field name="CORRECTIONS_CODE" position="1104" length="1" 
type="String"/>
-            <field name="REVERSE_CHARGE_INDICATOR" position="1105" length="1" 
type="String"/>
-            <field name="NEW_MEANS_OF_TRANSPORTATION_INDICATOR" 
position="1106" length="1" type="String"/>
-            <field name="BOE_CODE" position="1107" length="2" type="String"/>
-            <field name="AFFILIATION" position="1109" length="1" 
type="String"/>
-            <field name="CSA" position="1110" length="1" type="String"/>
-            <field name="LINE_ITEM_COST_INDICATOR" position="1111" length="1" 
type="String"/>
-            <field name="DROP_SHIPMENT_INDICATOR" position="1112" length="1" 
type="String"/>
-            <field name="CUSTOMER_NAME" position="1113" length="20" 
type="String"/>
-            <field name="TAXSEL_PARM" position="1133" length="1" 
type="String"/>
-            <field name="PART_NUMBER" position="1134" length="20" 
type="String"/>
-            <field name="FISCAL_DATE" position="1154" length="8" 
type="CustomDate" format="yyyyMMdd"/>
-            <field name="MISC_INFO" position="1162" length="50" type="String"/>
-            <field name="USE_NEXPRO_INDICATOR" position="1212" length="1" 
type="String"/>
-            <field name="EXTRA_INDICATOR_1" position="1213" length="1" 
type="String"/>
-            <field name="EXTRA_INDICATOR_2" position="1214" length="1" 
type="String"/>
-            <field name="EXTRA_INDICATOR_3" position="1215" length="1" 
type="String"/>
-            <field name="AUDIT_FILE_TYPE" position="1216" length="1" 
type="String"/>
-            <field name="BILL_TO_CUSTOMER_NAME" position="1217" length="20" 
type="String"/>
-            <field name="BILL_TO_CUSTOMER_ID" position="1237" length="20" 
type="String"/>
-            <field name="SERVICE_INDICATOR" position="1257" length="1" 
type="String"/>
-            <field name="ROUNDING_INDICATOR" position="1258" length="1" 
type="String"/>
-            <field name="GENERAL_INDICATOR" position="1259" length="1" 
type="String"/>
-            <field name="MOVEMENT_CODE" position="1260" length="1" 
type="String"/>
-            <field name="STORAGE_CODE" position="1261" length="1" 
type="String"/>
-            <field name="PRODUCT_CODE_CONVERSION" position="1262" length="1" 
type="String"/>
-            <field name="PRODUCT_CODE_TYPE" position="1263" length="1" 
type="String"/>
-            <field name="FEDERAL_TAX_TYPE" position="1264" length="1" 
type="String"/>
-            <field name="TERRITORY_TAX_TYPE" position="1265" length="1" 
type="String"/>
-            <field name="STATE_TAX_TYPE" position="1266" length="1" 
type="String"/>
-            <field name="COUNTY_TAX_TYPE" position="1267" length="1" 
type="String"/>
-            <field name="CITY_TAX_TYPE" position="1268" length="1" 
type="String"/>
-            <field name="SECONDARY_STATE_TAX_TYPE" position="1269" length="1" 
type="String"/>
-            <field name="SECONDARY_COUNTY_TAX_TYPE" position="1270" length="1" 
type="String"/>
-            <field name="SECONDARY_CITY_TAX_TYPE" position="1271" length="1" 
type="String"/>
-            <field name="DISTRICT_TAX_TYPE" position="1272" length="1" 
type="String"/>
-            <field name="NO_TAX_INDICATOR_ALL" position="1273" length="1" 
type="String"/>
-            <field name="FEDERAL_NO_TAX_INDICATOR_ALL" position="1274" 
length="1" type="String"/>
-            <field name="TERRITORY_NO_TAX_INDICATOR_ALL" position="1275" 
length="1" type="String"/>
-            <field name="STATE_PROVINCE_NO_TAX_INDICATOR" position="1276" 
length="1" type="String"/>
-            <field name="COUNTY_NO_TAX_INDICATOR" position="1277" length="1" 
type="String"/>
-            <field name="CITY_NO_TAX_INDICATOR" position="1278" length="1" 
type="String"/>
-            <field name="SEC_COUNTY_NO_TAX_INDICATOR" position="1279" 
length="1" type="String"/>
-            <field name="SEC_CITY_NO_TAX_INDICATOR" position="1280" length="1" 
type="String"/>
-            <field name="SEC_STATE_PROVINCE_NO_TAX_INDICATOR" position="1281" 
length="1" type="String"/>
-            <field name="DISTRICT_NO_TAX_INDICATOR" position="1282" length="1" 
type="String"/>
-            <field name="IN_OUT_CITY_LIMIT_CODE" position="1283" length="1" 
type="String"/>
-            <field name="ST_OUT_CITY_LIMIT_CODE" position="1284" length="1" 
type="String"/>
-            <field name="SF_OUT_CITY_LIMIT_CODE" position="1285" length="1" 
type="String"/>
-            <field name="POO_OUT_CITY_LIMIT_CODE" position="1286" length="1" 
type="String"/>
-            <field name="POA_OUT_CITY_LIMIT_CODE" position="1287" length="1" 
type="String"/>
-            <field name="BILL_TO_IN_OUT_CITY_LIMIT_CODE" position="1288" 
length="1" type="String"/>
-            <field name="ST_LOCATION_POB" position="1289" length="1" 
type="String"/>
-            <field name="SF_LOCATION_POB" position="1290" length="1" 
type="String"/>
-            <field name="POO_POB" position="1291" length="1" type="String"/>
-            <field name="POA_POB" position="1292" length="1" type="String"/>
-            <field name="SHORT_CITY_NAME_INDICATOR" position="1293" length="1" 
type="String"/>
-            <field name="SELLER_REGISTRATION_NUMBER" position="1294" 
length="25" type="String"/>
-            <field name="BUYER_REGISTRATION_NUMBER" position="1319" 
length="25" type="String"/>
-            <field name="REPORT_EXCLUSION_INDICATOR" position="1344" 
length="1" type="String"/>
-            <field name="WORK_ORDER_NUMBER" position="1345" length="26" 
type="String"/>
-            <field name="OVERRIDE_TAX_AMOUNT_COUNTRY" position="2044" 
length="14" type="FixedPointDouble" format="2"/>
-            <field name="OVERRIDE_TAX_AMOUNT_TERRITORY" position="2058" 
length="14" type="FixedPointDouble" format="2"/>
-            <field name="OVERRIDE_TAX_AMOUNT_STATE_PROVINCE" position="2072" 
length="14" type="FixedPointDouble" format="2"/>
-            <field name="OVERRIDE_TAX_AMOUNT_COUNTY" position="2086" 
length="14" type="FixedPointDouble" format="2"/>
-            <field name="OVERRIDE_TAX_AMOUNT_CITY" position="2100" length="14" 
type="FixedPointDouble" format="2"/>
-            <field name="OVERRIDE_TAX_AMOUNT_DISTRICT" position="2114" 
length="14" type="FixedPointDouble" format="2"/>
-            <field name="OVERRIDE_TAX_AMOUNT_SEC_STATE" position="2128" 
length="14" type="FixedPointDouble" format="2"/>
-            <field name="OVERRIDE_TAX_AMOUNT_SEC_COUNTY" position="2142" 
length="14" type="FixedPointDouble" format="2"/>
-            <field name="OVERRIDE_TAX_AMOUNT_SEC_CITY" position="2156" 
length="14" type="FixedPointDouble" format="2"/>
-            <field name="OVERRIDE_RATE_COUNTRY" position="2170" length="7" 
type="String"/>
-            <field name="OVERRIDE_RATE_TERRITORY" position="2177" length="7" 
type="String"/>
-            <field name="OVERRIDE_RATE_STATE_PROVINCE" position="2184" 
length="7" type="String"/>
-            <field name="OVERRIDE_RATE_COUNTY" position="2191" length="7" 
type="String"/>
-            <field name="OVERRIDE_RATE_CITY" position="2198" length="7" 
type="String"/>
-            <field name="OVERRIDE_RATE_DISTRICT" position="2205" length="7" 
type="String"/>
-            <field name="OVERRIDE_RATE_SEC_STATE" position="2212" length="7" 
type="String"/>
-            <field name="OVERRIDE_RATE_SEC_COUNTY" position="2219" length="7" 
type="String"/>
-            <field name="OVERRIDE_RATE_SEC_CITY" position="2226" length="7" 
type="String"/>
-            <field name="NUMBER_OF_ITEMS" position="2233" length="7" 
type="String"/>
-            <field name="INVOICE_LINE_NUMBER" position="2240" length="5" 
type="String"/>
-            <field name="LINE_ITEM_AMOUNT" position="2245" length="14" 
type="FixedPointDouble" format="2"/>
-            <field name="TAX_AMOUNT" position="2259" length="14" 
type="FixedPointDouble" format="2"/>
-            <field name="DISCOUNT_AMOUNT" position="2273" length="14" 
type="FixedPointDouble" format="2"/>
-            <field name="FREIGHT_AMOUNT" position="2287" length="14" 
type="FixedPointDouble" format="2"/>
-            <field name="INSURANCE_AMOUNT_LOCAL" position="2301" length="14" 
type="FixedPointDouble" format="2"/>
-            <field name="EXEMPT_AMOUNT_COUNTRY" position="2315" length="14" 
type="FixedPointDouble" format="2"/>
-            <field name="EXEMPT_AMOUNT_TERRITORY" position="2329" length="14" 
type="FixedPointDouble" format="2"/>
-            <field name="EXEMPT_AMOUNT_STATE_PROVINCE" position="2343" 
length="14" type="FixedPointDouble" format="2"/>
-            <field name="EXEMPT_AMOUNT_COUNTY" position="2357" length="14" 
type="FixedPointDouble" format="2"/>
-            <field name="EXEMPT_AMOUNT_CITY" position="2371" length="14" 
type="FixedPointDouble" format="2"/>
-            <field name="EXEMPT_AMOUNT_DISTRICT" position="2385" length="14" 
type="FixedPointDouble" format="2"/>
-            <field name="EXEMPT_AMOUNT_SEC_STATE" position="2399" length="14" 
type="FixedPointDouble" format="2"/>
-            <field name="EXEMPT_AMOUNT_SEC_COUNTY" position="2413" length="14" 
type="FixedPointDouble" format="2"/>
-            <field name="EXEMPT_AMOUNT_SEC_CITY" position="2427" length="14" 
type="FixedPointDouble" format="2"/>
-            <field name="INSURANCE_AMOUNT_FOREIGN" position="2441" length="14" 
type="FixedPointDouble" format="2"/>
-            <field name="SHIPPING_AMOUNT_FOREIGN" position="2455" length="14" 
type="FixedPointDouble" format="2"/>
-            <field name="CONTRACT_AMOUNT" position="2469" length="14" 
type="FixedPointDouble" format="2"/>
-            <field name="INSTALL_AMOUNT" position="2483" length="14" 
type="FixedPointDouble" format="2"/>
-            <field name="BASIS_PERCENT" position="2497" length="7" 
type="String"/>
-            <field name="CCF" position="2504" length="15" type="String"/>
-            <field name="NET_MASS_VOLUME" position="2519" length="15" 
type="String"/>
-            <field name="SF_CCF" position="2534" length="15" type="String"/>
-            <field name="ST_CCF" position="2549" length="15" type="String"/>
-            <field name="RECOVERABLE_PERCENTAGE" position="2564" length="7" 
type="String"/>
-            <field name="EXPONENT" position="2571" length="3" type="String"/>
-            <field name="PRECISION_FACTOR_LINE_AMOUNT" position="2574" 
length="3" type="String"/>
-            <field name="OAPF_COUNTRY" position="2577" length="3" 
type="String"/>
-            <field name="OAPF_TERRITORY" position="2580" length="3" 
type="String"/>
-            <field name="OAPF_STATE_PROVINCE" position="2583" length="3" 
type="String"/>
-            <field name="OAPF_COUNTY" position="2586" length="3" 
type="String"/>
-            <field name="OAPF_CITY" position="2589" length="3" type="String"/>
-        </record>
-    </data-file>
-
-    <data-file name="TaxwareInHead" type-code="001" record-length="284" 
separator-style="fixed-record">
-        <record name="inHead">
-            <field name="NUMBER_RECORDS" position="0" length="6" type="Long"/>
-            <field name="COMPLETE_CODE" position="6" length="4" type="String"/>
-            <field name="COMPLETE_DESC" position="10" length="200" 
type="String"/>
-            <field name="MERCHANT_NAME" position="210" length="20" 
type="String"/>
-            <field name="COMPRESSION_IND" position="230" length="1" 
type="String"/>
-            <field name="COMPRESSION_CHAR_1" position="231" length="1" 
type="String"/>
-            <field name="COMPRESSION_CHAR_2" position="232" length="1" 
type="String"/>
-            <field name="PROCESS_INDICATOR" position="233" length="1" 
type="String"/>
-            <field name="RESERVED_HEAD" position="234" length="50" 
type="String"/>
-        </record>
-    </data-file>
-    <data-file name="TaxwareInItem" type-code="001" record-length="1704" 
separator-style="fixed-record">
-        <record name="inItem">
-            <field name="SYSTEM_INDICATOR" position="0" length="1" 
type="String"/>
-            <field name="UTL_GEN_COMPLETION_CODE" position="1" length="4" 
type="String"/>
-            <field name="UTL_FED_COMPLETION_CODE" position="5" length="4" 
type="String"/>
-            <field name="TERRITORY" position="9" length="4" type="String"/>
-            <field name="STATE" position="13" length="4" type="String"/>
-            <field name="COUNTY" position="17" length="4" type="String"/>
-            <field name="CITY" position="21" length="4" type="String"/>
-            <field name="SECSTATE" position="25" length="4" type="String"/>
-            <field name="SECCOUNTY" position="29" length="4" type="String"/>
-            <field name="SECCITY" position="33" length="4" type="String"/>
-            <field name="UTL_GEN_COMPLETION_CODE_DESCRIPTION" position="73" 
length="200" type="String"/>
-            <field name="SYSTEM_DATE" position="273" length="8" 
type="CustomDate" format="yyyyMMdd"/>
-            <field name="TRANSACTION_NUMBER" position="281" length="10" 
type="String"/>
-            <field name="LINE_ITEM_ID" position="291" length="5" 
type="String"/>
-            <field name="TAX_JUR_LOC" position="298" length="1" type="String"/>
-            <field name="JUR_COUNTRY" position="399" length="3" type="String"/>
-            <field name="JUR_STATE" position="305" length="26" type="String"/>
-            <field name="JUR_COUNTY_CODE" position="331" length="3" 
type="String"/>
-            <field name="JUR_CITY" position="334" length="26" type="String"/>
-            <field name="JUR_POSTAL_CODE" position="360" length="9" 
type="String"/>
-            <field name="JUR_GEO_CODE" position="373" length="2" 
type="String"/>
-            <field name="JUR_SEC_STATE" position="375" length="26" 
type="String"/>
-            <field name="JUR_SEC_COUNTY_CODE" position="401" length="3" 
type="String"/>
-            <field name="JUR_SEC_CITY" position="404" length="26" 
type="String"/>
-            <field name="JUR_SEC_POSTAL_CODE" position="430" length="9" 
type="String"/>
-            <field name="JUR_SEC_GEOCODE" position="443" length="2" 
type="String"/>
-            <field name="TAX_TYPE_COUNTRY" position="445" length="1" 
type="String"/>
-            <field name="TAX_TYPE_STATE" position="446" length="1" 
type="String"/>
-            <field name="TAX_TYPE_COUNTY" position="447" length="1" 
type="String"/>
-            <field name="TAX_TYPE_CITY" position="448" length="1" 
type="String"/>
-            <field name="TAX_TYPE_SEC_STATE" position="449" length="1" 
type="String"/>
-            <field name="TAX_TYPE_SEC_COUNTY" position="450" length="1" 
type="String"/>
-            <field name="TAX_TYPE_SEC_CITY" position="451" length="1" 
type="String"/>
-            <field name="STEP_STATUS_COUNTRY" position="561" length="1" 
type="String"/>
-            <field name="STEP_COMMENT_COUNTRY" position="562" length="1" 
type="String"/>
-            <field name="STEP_STATUS_STATE" position="563" length="1" 
type="String"/>
-            <field name="STEP_COMMENT_STATE" position="564" length="1" 
type="String"/>
-            <field name="STEP_STATUS_CITY" position="565" length="1" 
type="String"/>
-            <field name="STEP_COMMENT_CITY" position="566" length="1" 
type="String"/>
-            <field name="JUR_COUNTY" position="569" length="26" type="String"/>
-            <field name="JUR_SEC_COUNTY" position="595" length="26" 
type="String"/>
-            <field name="LINE_AMOUNT" position="1319" length="14" 
type="FixedPointDouble" format="2"/>
-            <field name="TAX_AMT_COUNTRY" position="1333" length="14" 
type="FixedPointDouble" format="2"/>
-            <field name="TAX_AMT_STATE" position="1361" length="14" 
type="FixedPointDouble" format="2"/>
-            <field name="TAX_AMT_COUNTY" position="1375" length="14" 
type="FixedPointDouble" format="2"/>
-            <field name="TAX_AMT_CITY" position="1389" length="14" 
type="FixedPointDouble" format="2"/>
-            <field name="TAX_AMT_SEC_STATE" position="1403" length="14" 
type="FixedPointDouble" format="2"/>
-            <field name="TAX_AMT_SEC_COUNTY" position="1417" length="14" 
type="FixedPointDouble" format="2"/>
-            <field name="TAX_AMT_SEC_CITY" position="1431" length="14" 
type="FixedPointDouble" format="2"/>
-            <field name="TAX_RATE_COUNTRY" position="1585" length="7" 
type="FixedPointDouble" format="6"/>
-            <field name="TAX_RATE_STATE" position="1599" length="7" 
type="FixedPointDouble" format="6"/>
-            <field name="TAX_RATE_COUNTY" position="1606" length="7" 
type="FixedPointDouble" format="6"/>
-            <field name="TAX_RATE_CITY" position="1613" length="7" 
type="FixedPointDouble" format="6"/>
-            <field name="TAX_RATE_SEC_STATE" position="1620" length="7" 
type="FixedPointDouble" format="6"/>
-            <field name="TAX_RATE_SEC_COUNTY" position="1627" length="7" 
type="FixedPointDouble" format="6"/>
-            <field name="TAX_RATE_SEC_CITY" position="1634" length="7" 
type="FixedPointDouble" format="6"/>
-        </record>
-    </data-file>
-</data-files>
diff --git 
a/applications/order/minilang/thirdparty/zipsales/ZipSalesTaxTables.xml 
b/applications/order/minilang/thirdparty/zipsales/ZipSalesTaxTables.xml
deleted file mode 100644
index f880d6a0ad..0000000000
--- a/applications/order/minilang/thirdparty/zipsales/ZipSalesTaxTables.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<data-files xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-        
xsi:noNamespaceSchemaLocation="https://ofbiz.apache.org/dtds/datafiles.xsd";>
-    <data-file name="FlatTaxTable" type-code="001" record-length="182" 
separator-style="fixed-length">
-        <record name="taxEntry">
-            <field name="zipCode" position="0" length="5" type="String"/>
-            <field name="city" position="5" length="28" type="String"/>
-            <field name="county" position="33" length="25" type="String"/>
-            <field name="stateCode" position="58" length="2" type="String"/>
-            <field name="countyDefault" position="60" length="1" 
type="String"/>
-            <field name="generalDefault" position="61" length="1" 
type="String"/>
-            <field name="countyFips" position="62" length="5" type="String"/>
-            <field name="stateSalesTax" position="67" length="8" 
type="Double"/>
-            <field name="countySalesTax" position="75" length="7" 
type="Double"/>
-            <field name="countyLocalSalesTax" position="83" length="8" 
type="Double"/>
-            <field name="citySalesTax" position="91" length="8" type="Double"/>
-            <field name="cityLocalSalesTax" position="99" length="8" 
type="Double"/>
-            <field name="comboSalesTax" position="107" length="8" 
type="Double"/>
-            <field name="stateUseTax" position="115" length="8" type="Double"/>
-            <field name="countyUseTax" position="123" length="8" 
type="Double"/>
-            <field name="countyLocalUseTax" position="131" length="8" 
type="Double"/>
-            <field name="cityUseTax" position="139" length="8" type="Double"/>
-            <field name="cityLocalUseTax" position="147" length="8" 
type="Double"/>
-            <field name="comboUseTax" position="155" length="8" type="Double"/>
-            <field name="effectiveDate" position="163" length="8" 
type="String"/>
-            <field name="geoCode" position="171" length="10" type="String"/>
-            <field name="insideCity" position="181" length="1" type="String"/>
-        </record>
-    </data-file>
-
-    <data-file name="FreightRuleTable" type-code="001" record-length="321" 
separator-style="fixed-length">
-        <record name="ruleEntry">
-            <field name="stateCode" position="0" length="2" type="String"/>
-            <field name="county" position="2" length="25" type="String"/>
-            <field name="city" position="27" length="28" type="String"/>
-            <field name="idCode" position="55" length="3" type="String"/>
-            <field name="taxable" position="58" length="1" type="String"/>
-            <field name="shipCond" position="59" length="254" type="String"/>
-            <field name="effectiveDate" position="313" length="8" 
type="String"/>
-        </record>
-    </data-file>
-</data-files>
diff --git 
a/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/CheckOutHelper.java
 
b/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/CheckOutHelper.java
index 1349a866bf..7110d9b456 100644
--- 
a/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/CheckOutHelper.java
+++ 
b/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/CheckOutHelper.java
@@ -1044,7 +1044,6 @@ public class CheckOutHelper {
             Debug.logError(e, MODULE);
             throw new GeneralException("Problem occurred in tax service (" + 
e.getMessage() + ")", e);
         }
-        // the adjustments (returned in order) from taxware.
         List<GenericValue> orderAdj = 
UtilGenerics.cast(serviceResult.get("orderAdjustments"));
         List<List<GenericValue>> itemAdj = 
UtilGenerics.cast(serviceResult.get("itemAdjustments"));
 
diff --git 
a/applications/order/src/main/java/org/apache/ofbiz/order/thirdparty/taxware/TaxwareException.java
 
b/applications/order/src/main/java/org/apache/ofbiz/order/thirdparty/taxware/TaxwareException.java
deleted file mode 100644
index eb844725ca..0000000000
--- 
a/applications/order/src/main/java/org/apache/ofbiz/order/thirdparty/taxware/TaxwareException.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- 
*******************************************************************************/
-
-
-package org.apache.ofbiz.order.thirdparty.taxware;
-
-import org.apache.ofbiz.base.util.GeneralException;
-
-
-/**
- * TaxwareException
- */
-public class TaxwareException extends GeneralException {
-
-    public TaxwareException() {
-        super();
-    }
-
-    public TaxwareException(String str) {
-        super(str);
-    }
-
-    public TaxwareException(String str, Throwable nested) {
-        super(str, nested);
-    }
-}
-
diff --git 
a/applications/order/src/main/java/org/apache/ofbiz/order/thirdparty/taxware/TaxwareServices.java
 
b/applications/order/src/main/java/org/apache/ofbiz/order/thirdparty/taxware/TaxwareServices.java
deleted file mode 100644
index 15c01aea48..0000000000
--- 
a/applications/order/src/main/java/org/apache/ofbiz/order/thirdparty/taxware/TaxwareServices.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- 
*******************************************************************************/
-package org.apache.ofbiz.order.thirdparty.taxware;
-
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.ofbiz.base.util.Debug;
-import org.apache.ofbiz.entity.GenericValue;
-import org.apache.ofbiz.service.DispatchContext;
-import org.apache.ofbiz.service.ModelService;
-
-import com.ibm.icu.math.BigDecimal;
-
-/**
- * TaxwareServices
- */
-public class TaxwareServices {
-
-    private static final String MODULE = TaxwareServices.class.getName();
-
-    public static Map calcTax(DispatchContext dctx, Map context) {
-        Map result = new HashMap();
-        List items = (List) context.get("itemProductList");
-        List amnts = (List) context.get("itemAmountList");
-        List ishpn = (List) context.get("itemShippingList");
-        BigDecimal shipping = (BigDecimal) context.get("orderShippingAmount");
-        GenericValue address = (GenericValue) context.get("shippingAddress");
-
-        if (items.size() != amnts.size()) {
-            result.put(ModelService.RESPONSE_MESSAGE, 
ModelService.RESPOND_ERROR);
-            result.put(ModelService.ERROR_MESSAGE, "ERROR: Items, Amount, or 
ItemShipping lists are not valid size.");
-            return result;
-        }
-
-        try {
-            TaxwareUTL utl = new TaxwareUTL();
-
-            utl.setShipping(shipping != null ? shipping : BigDecimal.ZERO);
-            utl.setShipAddress(address);
-            for (int i = 0; i < items.size(); i++) {
-                GenericValue p = (GenericValue) items.get(i);
-                BigDecimal amount = (BigDecimal) amnts.get(i);
-                BigDecimal ishp = ishpn != null ? (BigDecimal) ishpn.get(i) : 
BigDecimal.ZERO;
-
-                utl.addItem(p, amount, ishp);
-            }
-
-            int resp = utl.process();
-
-            if (resp == 0) {
-                result.put(ModelService.RESPONSE_MESSAGE, 
ModelService.RESPOND_ERROR);
-                result.put(ModelService.ERROR_MESSAGE, "ERROR: No records 
processed.");
-                return result;
-            }
-
-            result.put("orderAdjustments", utl.getOrderAdjustments());
-            result.put("itemAdjustments", utl.getItemAdjustments());
-
-        } catch (TaxwareException e) {
-            Debug.logError(e, MODULE);
-            result.put(ModelService.RESPONSE_MESSAGE, 
ModelService.RESPOND_ERROR);
-            result.put(ModelService.ERROR_MESSAGE, "ERROR: Taxware problem (" 
+ e.getMessage() + ").");
-        }
-
-        return result;
-    }
-
-    public static Map verifyZip(DispatchContext dctx, Map context) {
-
-        return new HashMap();
-    }
-}
diff --git 
a/applications/order/src/main/java/org/apache/ofbiz/order/thirdparty/taxware/TaxwareUTL.java
 
b/applications/order/src/main/java/org/apache/ofbiz/order/thirdparty/taxware/TaxwareUTL.java
deleted file mode 100644
index f2b6c0cf69..0000000000
--- 
a/applications/order/src/main/java/org/apache/ofbiz/order/thirdparty/taxware/TaxwareUTL.java
+++ /dev/null
@@ -1,488 +0,0 @@
-/*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- 
*******************************************************************************/
-
-package org.apache.ofbiz.order.thirdparty.taxware;
-
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.List;
-
-import org.apache.ofbiz.base.util.Debug;
-import org.apache.ofbiz.base.util.UtilMisc;
-import org.apache.ofbiz.base.util.UtilProperties;
-import org.apache.ofbiz.base.util.UtilURL;
-import org.apache.ofbiz.datafile.DataFile;
-import org.apache.ofbiz.datafile.DataFileException;
-import org.apache.ofbiz.datafile.ModelRecord;
-import org.apache.ofbiz.datafile.ModelField;
-import org.apache.ofbiz.datafile.Record;
-import org.apache.ofbiz.entity.Delegator;
-import org.apache.ofbiz.entity.GenericValue;
-
-
-/**
- * TaxwareUTL - Taxware Universal Tax Link
- * Requires taxcommon.class found w/ UTL.
- */
-public class TaxwareUTL {
-
-    private static final String MODULE = TaxwareUTL.class.getName();
-
-    // default data files
-    DataFile outHead = null;
-    DataFile outItem = null;
-
-    BigDecimal shippingAmount = BigDecimal.ZERO;
-    List orderAdjustments = new ArrayList();
-    List itemAdjustments = new ArrayList();
-
-    boolean setShipping = false;
-    GenericValue shipToAddress = null;
-
-    // list of records to process
-    List records = new ArrayList();
-    boolean processed = false;
-
-    public TaxwareUTL() throws TaxwareException {
-        init();
-    }
-
-    public int process() throws TaxwareException {
-        // make sure we have everything before processing
-        checkFields();
-
-        if (processed)
-            throw new TaxwareException("Cannot re-process records.");
-        processed = true;
-
-        Iterator i = records.iterator();
-
-        while (i.hasNext()) {
-            Record rec = (Record) i.next();
-
-            rec = makeItemData(rec);
-            outItem.addRecord(rec);
-        }
-
-        // create a shipping item
-        if (shippingAmount > 0) {
-            Record shipping = outItem.makeRecord("outItem");
-
-            shipping = makeItemData(shipping);
-            shipping.set("FREIGHT_AMOUNT", shippingAmount);
-            outItem.addRecord(shipping);
-        }
-
-        // make the header file
-        Record header = outHead.makeRecord("outHead");
-
-        header.set("NUMBER_RECORDS", (long) outItem.getRecords().size());
-        header.set("PROCESS_INDICATOR", "1");
-        outHead.addRecord(header);
-
-        int returnCode = -1;
-
-        try {
-            // add the header
-            StringBuilder outBuffer = new StringBuilder();
-
-            outBuffer.append(outHead.writeDataFile());
-
-            // append the items
-            outBuffer.append(outItem.writeDataFile());
-
-            // print out the datafile
-            if (Debug.verboseOn()) {
-                Debug.logVerbose("::Out String::", MODULE);
-            }
-            if (Debug.verboseOn()) {
-                Debug.logVerbose("\"" + outBuffer.toString() + "\"", MODULE);
-            }
-
-            File outFile = new File("TAXWARE-TEST.IN");
-            FileOutputStream fos = null;
-
-            try {
-                fos = new FileOutputStream(outFile);
-            } catch (FileNotFoundException e) {
-                Debug.logError(e, MODULE);
-            }
-            outHead.writeDataFile(fos);
-            outItem.writeDataFile(fos);
-            try {
-                fos.close();
-            } catch (IOException e) {
-                Debug.logError(e, MODULE);
-            }
-
-            outItem.writeDataFile("TaxwareTest.in");
-
-            StringBuilder retBuffer = taxCalc(outBuffer);
-
-            // make the return data file
-            returnCode = processOutFile(retBuffer);
-        } catch (DataFileException dfe) {
-            throw new TaxwareException("Problems with the data file.", dfe);
-        }
-
-        return returnCode;
-    }
-
-    public void setShipping(BigDecimal shippingAmount) {
-        this.shippingAmount = shippingAmount;
-        setShipping = true;
-    }
-
-    public void setShipAddress(GenericValue v) {
-        this.shipToAddress = v;
-    }
-
-    public List getItemAdjustments() {
-        return itemAdjustments;
-    }
-
-    public List getOrderAdjustments() {
-        return orderAdjustments;
-    }
-
-    private void init() throws TaxwareException {
-        TaxwareUTL.loadLib();
-        outHead = createDataFile("TaxwareOutHead");
-        outItem = createDataFile("TaxwareOutItem");
-    }
-
-    private Record makeItemData(Record record) {
-        addStaticData(record);
-        addAddresses(record);
-        record.set("TAXSEL_PARM", "3");
-        record.set("SYSTEM_INDICATOR", "1");
-        record.set("INVOICE_DATE", new java.sql.Date(new Date().getTime()));
-        return record;
-    }
-
-    private void addStaticData(Record record) {
-        // grab a taxware properties file and get static data
-        record.set("COMPANY_ID", UtilProperties.getPropertyValue("taxware", 
"COMPANY_ID", " "));
-        record.set("AUDIT_FILE_INDICATOR", 
UtilProperties.getPropertyValue("taxware", "AUDIT_FILE_INDICATOR", "2"));
-        record.set("SF_COUNTRY_CODE", 
UtilProperties.getPropertyValue("taxware", "SF_COUNTRY_CODE", ""));
-        record.set("SF_STATE_PROVINCE", 
UtilProperties.getPropertyValue("taxware", "SF_STATE_PROVINCE", " "));
-        record.set("SF_CITY", UtilProperties.getPropertyValue("taxware", 
"SF_CITY", " "));
-        record.set("SF_POSTAL_CODE", 
UtilProperties.getPropertyValue("taxware", "SF_POSTAL_CODE", " "));
-        record.set("POO_COUNTRY_CODE", 
UtilProperties.getPropertyValue("taxware", "POO_COUNTRY_CODE", ""));
-        record.set("POO_STATE_PROVINCE", 
UtilProperties.getPropertyValue("taxware", "POO_STATE_PROVINCE", " "));
-        record.set("POO_CITY", UtilProperties.getPropertyValue("taxware", 
"POO_CITY", " "));
-        record.set("POO_POSTAL_CODE", 
UtilProperties.getPropertyValue("taxware", "POO_POSTAL_CODE", " "));
-        record.set("POA_COUNTRY_CODE", 
UtilProperties.getPropertyValue("taxware", "POA_COUNTRY_CODE", ""));
-        record.set("POA_STATE_PROVINCE", 
UtilProperties.getPropertyValue("taxware", "POA_STATE_PROVINCE", " "));
-        record.set("POA_CITY", UtilProperties.getPropertyValue("taxware", 
"POA_CITY", " "));
-        record.set("POA_POSTAL_CODE", 
UtilProperties.getPropertyValue("taxware", "POA_POSTAL_CODE", " "));
-    }
-
-    private void addAddresses(Record record) {
-        // set the address info from the value objects
-        if (shipToAddress != null) {
-            // set the ship to address
-            if (shipToAddress.get("countryGeoId") == null) {
-                record.set("ST_COUNTRY_CODE", "US");
-            } else if ("USA".equals(shipToAddress.getString("countryGeoId"))) {
-                record.set("ST_COUNTRY_CODE", "US");
-            } else {
-                record.set("ST_COUNTRY_CODE", 
shipToAddress.get("countryGeoId"));
-            }
-            record.set("ST_COUNTRY_CODE", "US");
-            record.set("ST_STATE_PROVINCE", 
shipToAddress.get("stateProvinceGeoId"));
-            record.set("ST_CITY", shipToAddress.get("city"));
-            record.set("ST_POSTAL_CODE", shipToAddress.get("postalCode"));
-        }
-    }
-
-    private DataFile createDataFile(String dataFile) throws TaxwareException {
-        DataFile df = null;
-
-        try {
-            df = 
DataFile.makeDataFile(UtilURL.fromResource("org/apache/ofbiz/thirdparty/taxware/TaxwareFiles.xml"),
 dataFile);
-        } catch (DataFileException e) {
-            Debug.logError(e, MODULE);
-            throw new TaxwareException("Cannot load datafile.");
-        }
-        return df;
-    }
-
-    public static void loadLib() throws TaxwareException {
-        try {
-            System.loadLibrary("taxcommon");
-        } catch (UnsatisfiedLinkError e) {
-            Debug.logError(e, MODULE);
-            throw new TaxwareException("Cannot load 
libtaxcommon.so/taxcommon.dll.", e);
-        }
-    }
-
-    private StringBuilder taxCalc(StringBuilder outBuffer) throws 
DataFileException, TaxwareException {
-        StringBuilder inBuffer = new StringBuilder();
-        int result = callTaxware(outBuffer.toString(), inBuffer);
-
-        if (Debug.verboseOn()) {
-            Debug.logVerbose("Taxware Return: " + result, MODULE);
-        }
-        if (result != 1)
-            throw new TaxwareException("Taxware processing failed (" + result 
+ ")");
-
-        if (Debug.verboseOn()) {
-            Debug.logVerbose("::Return String::", MODULE);
-        }
-        if (Debug.verboseOn()) {
-            Debug.logVerbose("\"" + inBuffer.toString() + "\"", MODULE);
-        }
-        return inBuffer;
-    }
-
-    private int callTaxware(String inString, StringBuilder outBuffer) throws 
TaxwareException {
-        try {
-            return taxcommon.CalculateTax(inString, outBuffer);
-        } catch (Exception e) {
-            throw new TaxwareException("Problems running JNI wrapper.", e);
-        }
-    }
-
-    private void checkFields() throws TaxwareException {
-        if (!setShipping)
-            throw new TaxwareException("Shipping amount has not been set.");
-        if (shipToAddress == null)
-            throw new TaxwareException("Shipping address has not been set.");
-        if (records.isEmpty())
-            throw new TaxwareException("No items have been defined.");
-    }
-
-    private int processOutFile(StringBuilder retBuffer) throws 
DataFileException, TaxwareException {
-        DataFile retHead = createDataFile("TaxwareInHead");
-        DataFile retItem = createDataFile("TaxwareInItem");
-        String headStr = retBuffer.toString().substring(0, 283);
-        String itemStr = retBuffer.toString().substring(284);
-
-        if (Debug.verboseOn()) {
-            Debug.logVerbose("Return Size: " + retBuffer.length(), MODULE);
-        }
-        Delegator delegator = shipToAddress.getDelegator();
-
-        retHead.readDataFile(headStr);
-        retItem.readDataFile(itemStr);
-
-        List retRecords = retItem.getRecords();
-        Iterator i = retRecords.iterator();
-
-        if (Debug.verboseOn()) {
-            Debug.logVerbose("Returned Records: " + retRecords.size(), MODULE);
-        }
-        if (Debug.verboseOn()) {
-            Debug.logVerbose("Sent Items: " + records.size(), MODULE);
-        }
-
-        while (i.hasNext()) {
-            Record rec = (Record) i.next();
-            ModelRecord model = rec.getModelRecord();
-
-            // make the adjustment lists
-            if (itemAdjustments.size() < records.size()) {
-                List currentItem = new ArrayList();
-
-                if 
(rec.getBigDecimal("TAX_AMT_COUNTRY").compareTo(BigDecimal.ZERO) > 0) {
-                    if (Debug.verboseOn()) {
-                        Debug.logVerbose("Country Tax Amount: " + 
rec.getBigDecimal("TAX_AMT_COUNTRY"), MODULE);
-                    }
-                    BigDecimal rate = 
rec.getBigDecimal("TAX_RATE_COUNTRY").movePointRight(2);
-                    String type = 
"S".equals(rec.getString("TAX_TYPE_COUNTRY")) ? "SALES TAX" : "USE TAX";
-                    String jur = rec.get("JUR_COUNTRY") != null ? 
rec.getString("JUR_COUNTRY").trim() : "";
-                    String comments = jur + "|" + type + "|" + rate.toString();
-
-                    currentItem.add(delegator.makeValue("OrderAdjustment",
-                            UtilMisc.toMap("amount", 
rec.getBigDecimal("TAX_AMT_COUNTRY"),
-                                "orderAdjustmentTypeId", "SALES_TAX", 
"comments", comments)));
-                }
-
-                if 
(rec.getBigDecimal("TAX_AMT_STATE").compareTo(BigDecimal.ZERO) > 0) {
-                    BigDecimal rate = 
rec.getBigDecimal("TAX_RATE_STATE").movePointRight(2);
-                    String type = "S".equals(rec.getString("TAX_TYPE_STATE")) 
? "SALES TAX" : "USE TAX";
-                    String jur = rec.get("JUR_STATE") != null ? 
rec.getString("JUR_STATE").trim() : "";
-                    String comments = jur + "|" + type + "|" + rate.toString();
-
-                    currentItem.add(delegator.makeValue("OrderAdjustment",
-                            UtilMisc.toMap("amount", 
rec.getBigDecimal("TAX_AMT_STATE"),
-                                "orderAdjustmentTypeId", "SALES_TAX", 
"comments", comments)));
-                }
-
-                if 
(rec.getBigDecimal("TAX_AMT_COUNTY").compareTo(BigDecimal.ZERO) > 0) {
-                    BigDecimal rate = 
rec.getBigDecimal("TAX_RATE_COUNTY").movePointRight(2);
-                    String type = "S".equals(rec.getString("TAX_TYPE_COUNTY")) 
? "SALES TAX" : "USE TAX";
-                    String jur = rec.get("JUR_COUNTY_CODE") != null ? 
rec.getString("JUR_COUNTY_CODE").trim() : "";
-                    String comments = jur + "|" + type + "|" + rate.toString();
-
-                    currentItem.add(delegator.makeValue("OrderAdjustment",
-                            UtilMisc.toMap("amount", 
rec.getBigDecimal("TAX_AMT_COUNTY"),
-                                "orderAdjustmentTypeId", "SALES_TAX", 
"comments", comments)));
-                }
-
-                if 
(rec.getBigDecimal("TAX_AMT_CITY").compareTo(BigDecimal.ZERO) > 0) {
-                    BigDecimal rate = 
rec.getBigDecimal("TAX_RATE_CITY").movePointRight(2);
-                    String type = "S".equals(rec.getString("TAX_TYPE_CITY")) ? 
"SALES TAX" : "USE TAX";
-                    String jur = rec.get("JUR_CITY") != null ? 
rec.getString("JUR_CITY").trim() : "";
-                    String comments = jur + "|" + type + "|" + rate.toString();
-
-                    currentItem.add(delegator.makeValue("OrderAdjustment",
-                            UtilMisc.toMap("amount", 
rec.getBigDecimal("TAX_AMT_CITY"),
-                                "orderAdjustmentTypeId", "SALES_TAX", 
"comments", comments)));
-                }
-
-                if 
(rec.getBigDecimal("TAX_AMT_SEC_STATE").compareTo(BigDecimal.ZERO) > 0) {
-                    BigDecimal rate = 
rec.getBigDecimal("TAX_RATE_SEC_STATE").movePointRight(2);
-                    String type = 
"S".equals(rec.getString("TAX_TYPE_SEC_STATE")) ? "SALES TAX" : "USE TAX";
-                    String jur = rec.get("JUR_SEC_STATE") != null ? 
rec.getString("JUR_SEC_STATE").trim() : "";
-                    String comments = jur + "|" + type + "|" + rate.toString();
-
-                    currentItem.add(delegator.makeValue("OrderAdjustment",
-                            UtilMisc.toMap("amount", 
rec.getBigDecimal("TAX_AMT_SEC_STATE"),
-                                "orderAdjustmentTypeId", "SALES_TAX", 
"comments", comments)));
-                }
-
-                if 
(rec.getBigDecimal("TAX_AMT_SEC_COUNTY").compareTo(BigDecimal.ZERO) > 0) {
-                    BigDecimal rate = 
rec.getBigDecimal("TAX_RATE_SEC_COUNTY").movePointRight(2);
-                    String type = 
"S".equals(rec.getString("TAX_TYPE_SEC_COUNTY")) ? "SALES TAX" : "USE TAX";
-                    String jur = rec.get("JUR_SEC_COUNTY_CODE") != null ? 
rec.getString("JUR_SEC_COUNTY_CODE").trim() : "";
-                    String comments = jur + "|" + type + "|" + rate.toString();
-
-                    currentItem.add(delegator.makeValue("OrderAdjustment",
-                            UtilMisc.toMap("amount", 
rec.getBigDecimal("TAX_AMT_SEC_COUNTY"),
-                                "orderAdjustmentTypeId", "SALES_TAX", 
"comments", comments)));
-                }
-
-                if 
(rec.getBigDecimal("TAX_AMT_SEC_CITY").compareTo(BigDecimal.ZERO) > 0) {
-                    BigDecimal rate = 
rec.getBigDecimal("TAX_RATE_SEC_CITY").movePointRight(2);
-                    String type = 
"S".equals(rec.getString("TAX_TYPE_SEC_CITY")) ? "SALES TAX" : "USE TAX";
-                    String jur = rec.get("JUR_SEC_CITY") != null ? 
rec.getString("JUR_SEC_CITY").trim() : "";
-                    String comments = jur + "|" + type + "|" + rate.toString();
-
-                    currentItem.add(delegator.makeValue("OrderAdjustment",
-                            UtilMisc.toMap("amount", 
rec.getBigDecimal("TAX_AMT_SEC_CITY"),
-                                "orderAdjustmentTypeId", "SALES_TAX", 
"comments", comments)));
-                }
-
-                // add a list of adjustments to the adjustment list
-                itemAdjustments.add(currentItem);
-
-            } else if (orderAdjustments.isEmpty()) {
-                if 
(rec.getBigDecimal("TAX_AMT_COUNTRY").compareTo(BigDecimal.ZERO) > 0) {
-                    BigDecimal rate = 
rec.getBigDecimal("TAX_RATE_COUNTRY").movePointRight(2);
-                    String type = 
"S".equals(rec.getString("TAX_TYPE_COUNTRY")) ? "SALES TAX" : "USE TAX";
-                    String jur = rec.get("JUR_COUNTRY") != null ? 
rec.getString("JUR_COUNTRY").trim() : "";
-                    String comments = jur + "|" + type + "|" + rate.toString();
-
-                    orderAdjustments.add(delegator.makeValue("OrderAdjustment",
-                            UtilMisc.toMap("amount", 
rec.getBigDecimal("TAX_AMT_COUNTRY"),
-                                "orderAdjustmentTypeId", "SALES_TAX", 
"comments", comments)));
-                }
-
-                if 
(rec.getBigDecimal("TAX_AMT_STATE").compareTo(BigDecimal.ZERO) > 0) {
-                    BigDecimal rate = 
rec.getBigDecimal("TAX_RATE_STATE").movePointRight(2);
-                    String type = "S".equals(rec.getString("TAX_TYPE_STATE")) 
? "SALES TAX" : "USE TAX";
-                    String jur = rec.get("JUR_STATE") != null ? 
rec.getString("JUR_STATE").trim() : "";
-                    String comments = jur + "|" + type + "|" + rate.toString();
-
-                    orderAdjustments.add(delegator.makeValue("OrderAdjustment",
-                            UtilMisc.toMap("amount", 
rec.getBigDecimal("TAX_AMT_STATE"),
-                                "orderAdjustmentTypeId", "SALES_TAX", 
"comments", comments)));
-                }
-
-                if 
(rec.getBigDecimal("TAX_AMT_COUNTY").compareTo(BigDecimal.ZERO) > 0) {
-                    BigDecimal rate = 
rec.getBigDecimal("TAX_RATE_COUNTY").movePointRight(2);
-                    String type = "S".equals(rec.getString("TAX_TYPE_COUNTY")) 
? "SALES TAX" : "USE TAX";
-                    String jur = rec.get("JUR_COUNTY_CODE") != null ? 
rec.getString("JUR_COUNTY_CODE").trim() : "";
-                    String comments = jur + "|" + type + "|" + rate.toString();
-
-                    orderAdjustments.add(delegator.makeValue("OrderAdjustment",
-                            UtilMisc.toMap("amount", 
rec.getBigDecimal("TAX_AMT_COUNTY"),
-                                "orderAdjustmentTypeId", "SALES_TAX", 
"comments", comments)));
-                }
-
-                if 
(rec.getBigDecimal("TAX_AMT_CITY").compareTo(BigDecimal.ZERO) > 0) {
-                    BigDecimal rate = 
rec.getBigDecimal("TAX_RATE_CITY").movePointRight(2);
-                    String type = "S".equals(rec.getString("TAX_TYPE_CITY")) ? 
"SALES TAX" : "USE TAX";
-                    String jur = rec.get("JUR_CITY") != null ? 
rec.getString("JUR_CITY").trim() : "";
-                    String comments = jur + "|" + type + "|" + rate.toString();
-
-                    orderAdjustments.add(delegator.makeValue("OrderAdjustment",
-                            UtilMisc.toMap("amount", 
rec.getBigDecimal("TAX_AMT_CITY"),
-                                "orderAdjustmentTypeId", "SALES_TAX", 
"comments", comments)));
-                }
-
-                if 
(rec.getBigDecimal("TAX_AMT_SEC_STATE").compareTo(BigDecimal.ZERO) > 0) {
-                    BigDecimal rate = 
rec.getBigDecimal("TAX_RATE_SEC_STATE").movePointRight(2);
-                    String type = 
"S".equals(rec.getString("TAX_TYPE_SEC_STATE")) ? "SALES TAX" : "USE TAX";
-                    String jur = rec.get("JUR_SEC_STATE") != null ? 
rec.getString("JUR_SEC_STATE").trim() : "";
-                    String comments = jur + "|" + type + "|" + rate.toString();
-
-                    orderAdjustments.add(delegator.makeValue("OrderAdjustment",
-                            UtilMisc.toMap("amount", 
rec.getBigDecimal("TAX_AMT_SEC_STATE"),
-                                "orderAdjustmentTypeId", "SALES_TAX", 
"comments", comments)));
-                }
-
-                if 
(rec.getBigDecimal("TAX_AMT_SEC_COUNTY").compareTo(BigDecimal.ZERO) > 0) {
-                    BigDecimal rate = 
rec.getBigDecimal("TAX_RATE_SEC_COUNTY").movePointRight(2);
-                    String type = 
"S".equals(rec.getString("TAX_TYPE_SEC_COUNTY")) ? "SALES TAX" : "USE TAX";
-                    String jur = rec.get("JUR_SEC_COUNTY_CODE") != null ? 
rec.getString("JUR_SEC_COUNTY_CODE").trim() : "";
-                    String comments = jur + "|" + type + "|" + rate.toString();
-
-                    orderAdjustments.add(delegator.makeValue("OrderAdjustment",
-                            UtilMisc.toMap("amount", 
rec.getBigDecimal("TAX_AMT_SEC_COUNTY"),
-                                "orderAdjustmentTypeId", "SALES_TAX", 
"comments", comments)));
-                }
-
-                if 
(rec.getBigDecimal("TAX_AMT_SEC_CITY").compareTo(BigDecimal.ZERO) > 0) {
-                    BigDecimal rate = 
rec.getBigDecimal("TAX_RATE_SEC_CITY").movePointRight(2);
-                    String type = 
"S".equals(rec.getString("TAX_TYPE_SEC_CITY")) ? "SALES TAX" : "USE TAX";
-                    String jur = rec.get("JUR_SEC_CITY") != null ? 
rec.getString("JUR_SEC_CITY").trim() : "";
-                    String comments = jur + "|" + type + "|" + rate.toString();
-
-                    orderAdjustments.add(delegator.makeValue("OrderAdjustment",
-                            UtilMisc.toMap("amount", 
rec.getBigDecimal("TAX_AMT_SEC_CITY"),
-                                "orderAdjustmentTypeId", "SALES_TAX", 
"comments", comments)));
-                }
-
-            } else {
-                throw new TaxwareException("Invalid number of return 
adjustments.");
-            }
-
-            for (int a = 0; a < model.fields.size(); a++) {
-                ModelField mf = (ModelField) model.fields.get(a);
-                String name = mf.name;
-                String value = rec.getString(name);
-
-                if (Debug.verboseOn()) {
-                    Debug.logVerbose("Field: " + name + " => " + value, 
MODULE);
-                }
-            }
-        }
-        return retRecords.size();
-    }
-}
diff --git 
a/applications/order/src/main/java/org/apache/ofbiz/order/thirdparty/zipsales/ZipSalesServices.java
 
b/applications/order/src/main/java/org/apache/ofbiz/order/thirdparty/zipsales/ZipSalesServices.java
deleted file mode 100644
index 0af2d35245..0000000000
--- 
a/applications/order/src/main/java/org/apache/ofbiz/order/thirdparty/zipsales/ZipSalesServices.java
+++ /dev/null
@@ -1,511 +0,0 @@
-/*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- 
*******************************************************************************/
-package org.apache.ofbiz.order.thirdparty.zipsales;
-
-import java.math.BigDecimal;
-import java.net.URL;
-import java.sql.Timestamp;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-
-import org.apache.ofbiz.base.util.Debug;
-import org.apache.ofbiz.base.util.GeneralException;
-import org.apache.ofbiz.base.util.StringUtil;
-import org.apache.ofbiz.base.util.UtilGenerics;
-import org.apache.ofbiz.base.util.UtilMisc;
-import org.apache.ofbiz.base.util.UtilProperties;
-import org.apache.ofbiz.base.util.UtilURL;
-import org.apache.ofbiz.base.util.UtilValidate;
-import org.apache.ofbiz.datafile.DataFile;
-import org.apache.ofbiz.datafile.DataFileException;
-import org.apache.ofbiz.datafile.Record;
-import org.apache.ofbiz.datafile.RecordIterator;
-import org.apache.ofbiz.entity.Delegator;
-import org.apache.ofbiz.entity.GenericEntityException;
-import org.apache.ofbiz.entity.GenericValue;
-import org.apache.ofbiz.entity.util.EntityQuery;
-import org.apache.ofbiz.entity.util.EntityUtil;
-import org.apache.ofbiz.entity.util.EntityUtilProperties;
-import org.apache.ofbiz.security.Security;
-import org.apache.ofbiz.service.DispatchContext;
-import org.apache.ofbiz.service.ServiceUtil;
-
-/**
- * Zip-Sales Database Services
- */
-public class ZipSalesServices {
-
-    private static final String MODULE = ZipSalesServices.class.getName();
-    private static final String RES_ERROR = "OrderErrorUiLabels";
-    private static final String DATA_FILE = 
"org/apache/ofbiz/order/thirdparty/zipsales/ZipSalesTaxTables.xml";
-    private static final String FLAT_TABLE = "FlatTaxTable";
-    private static final String RULE_TABLE = "FreightRuleTable";
-
-    // date formatting
-    private static final String DATE_PATTERN = "yyyyMMdd";
-
-    // import table service
-    public static Map<String, Object> importFlatTable(DispatchContext dctx, 
Map<String, ? extends Object> context) {
-        Delegator delegator = dctx.getDelegator();
-        Security security = dctx.getSecurity();
-        GenericValue userLogin = (GenericValue) context.get("userLogin");
-        String taxFileLocation = (String) context.get("taxFileLocation");
-        String ruleFileLocation = (String) context.get("ruleFileLocation");
-        Locale locale = (Locale) context.get("locale");
-
-        // do security check
-        if (!security.hasPermission("SERVICE_INVOKE_ANY", userLogin)) {
-            return 
ServiceUtil.returnError(UtilProperties.getMessage(RES_ERROR, 
"OrderYouDoNotHavePermissionToLoadTaxTables", locale));
-        }
-
-        // get a now stamp (we'll use 2000-01-01)
-        Timestamp now = parseDate("20000101", null);
-
-        // load the data file
-        DataFile tdf = null;
-        try {
-            tdf = DataFile.makeDataFile(UtilURL.fromResource(DATA_FILE), 
FLAT_TABLE);
-        } catch (DataFileException e) {
-            Debug.logError(e, MODULE);
-            return 
ServiceUtil.returnError(UtilProperties.getMessage(RES_ERROR, 
"OrderUnableToReadZipSalesDataFile", locale));
-        }
-
-        // locate the file to be imported
-        URL tUrl = UtilURL.fromResource(taxFileLocation);
-        if (tUrl == null) {
-            return 
ServiceUtil.returnError(UtilProperties.getMessage(RES_ERROR, 
"OrderUnableToLocateTaxFileAtLocation", UtilMisc.toMap(
-                    "taxFileLocation", taxFileLocation), locale));
-        }
-
-        RecordIterator tri = null;
-        try {
-            tri = tdf.makeRecordIterator(tUrl);
-        } catch (DataFileException e) {
-            Debug.logError(e, MODULE);
-            return 
ServiceUtil.returnError(UtilProperties.getMessage(RES_ERROR, 
"OrderProblemGettingTheRecordIterator", locale));
-        }
-        if (tri != null) {
-            while (tri.hasNext()) {
-                Record entry = null;
-                try {
-                    entry = tri.next();
-                } catch (DataFileException e) {
-                    Debug.logError(e, MODULE);
-                }
-                GenericValue newValue = 
delegator.makeValue("ZipSalesTaxLookup");
-                // PK fields
-                newValue.set("zipCode", entry.getString("zipCode").trim());
-                newValue.set("stateCode", entry.get("stateCode") != null ? 
entry.getString("stateCode").trim() : "_NA_");
-                newValue.set("city", entry.get("city") != null ? 
entry.getString("city").trim() : "_NA_");
-                newValue.set("county", entry.get("county") != null ? 
entry.getString("county").trim() : "_NA_");
-                newValue.set("fromDate", 
parseDate(entry.getString("effectiveDate"), now));
-
-                // non-PK fields
-                newValue.set("countyFips", entry.get("countyFips"));
-                newValue.set("countyDefault", entry.get("countyDefault"));
-                newValue.set("generalDefault", entry.get("generalDefault"));
-                newValue.set("insideCity", entry.get("insideCity"));
-                newValue.set("geoCode", entry.get("geoCode"));
-                newValue.set("stateSalesTax", entry.get("stateSalesTax"));
-                newValue.set("citySalesTax", entry.get("citySalesTax"));
-                newValue.set("cityLocalSalesTax", 
entry.get("cityLocalSalesTax"));
-                newValue.set("countySalesTax", entry.get("countySalesTax"));
-                newValue.set("countyLocalSalesTax", 
entry.get("countyLocalSalesTax"));
-                newValue.set("comboSalesTax", entry.get("comboSalesTax"));
-                newValue.set("stateUseTax", entry.get("stateUseTax"));
-                newValue.set("cityUseTax", entry.get("cityUseTax"));
-                newValue.set("cityLocalUseTax", entry.get("cityLocalUseTax"));
-                newValue.set("countyUseTax", entry.get("countyUseTax"));
-                newValue.set("countyLocalUseTax", 
entry.get("countyLocalUseTax"));
-                newValue.set("comboUseTax", entry.get("comboUseTax"));
-
-                try {
-                    delegator.createOrStore(newValue);
-                } catch (GenericEntityException e) {
-                    Debug.logError(e, MODULE);
-                    return 
ServiceUtil.returnError(UtilProperties.getMessage(RES_ERROR, 
"OrderErrorWritingRecordsToTheDatabase", locale));
-                }
-
-                // console log
-                Debug.logInfo(newValue.get("zipCode") + "/" + 
newValue.get("stateCode") + "/" + newValue.get("city") + "/"
-                        + newValue.get("county") + "/" + 
newValue.get("fromDate"), MODULE);
-            }
-        }
-
-        // load the data file
-        DataFile rdf = null;
-        try {
-            rdf = DataFile.makeDataFile(UtilURL.fromResource(DATA_FILE), 
RULE_TABLE);
-        } catch (DataFileException e) {
-            Debug.logError(e, MODULE);
-            return 
ServiceUtil.returnError(UtilProperties.getMessage(RES_ERROR, 
"OrderUnableToReadZipSalesDataFile", locale));
-        }
-
-        // locate the file to be imported
-        URL rUrl = UtilURL.fromResource(ruleFileLocation);
-        if (rUrl == null) {
-            return 
ServiceUtil.returnError(UtilProperties.getMessage(RES_ERROR, 
"OrderUnableToLocateRuleFileFromLocation", UtilMisc.toMap(
-                    "ruleFileLocation", ruleFileLocation), locale));
-        }
-
-        RecordIterator rri = null;
-        try {
-            rri = rdf.makeRecordIterator(rUrl);
-        } catch (DataFileException e) {
-            Debug.logError(e, MODULE);
-            return 
ServiceUtil.returnError(UtilProperties.getMessage(RES_ERROR, 
"OrderProblemGettingTheRecordIterator", locale));
-        }
-        if (rri != null) {
-            while (rri.hasNext()) {
-                Record entry = null;
-                try {
-                    entry = rri.next();
-                } catch (DataFileException e) {
-                    Debug.logError(e, MODULE);
-                }
-                if (UtilValidate.isNotEmpty(entry.getString("stateCode"))) {
-                    GenericValue newValue = 
delegator.makeValue("ZipSalesRuleLookup");
-                    // PK fields
-                    newValue.set("stateCode", entry.get("stateCode") != null ? 
entry.getString("stateCode").trim() : "_NA_");
-                    newValue.set("city", entry.get("city") != null ? 
entry.getString("city").trim() : "_NA_");
-                    newValue.set("county", entry.get("county") != null ? 
entry.getString("county").trim() : "_NA_");
-                    newValue.set("fromDate", 
parseDate(entry.getString("effectiveDate"), now));
-
-                    // non-PK fields
-                    newValue.set("idCode", entry.get("idCode") != null ? 
entry.getString("idCode").trim() : null);
-                    newValue.set("taxable", entry.get("taxable") != null ? 
entry.getString("taxable").trim() : null);
-                    newValue.set("shipCond", entry.get("shipCond") != null ? 
entry.getString("shipCond").trim() : null);
-
-                    try {
-                        // using storeAll as an easy way to create/update
-                        delegator.storeAll(UtilMisc.toList(newValue));
-                    } catch (GenericEntityException e) {
-                        Debug.logError(e, MODULE);
-                        return 
ServiceUtil.returnError(UtilProperties.getMessage(RES_ERROR, 
"OrderErrorWritingRecordsToTheDatabase", locale));
-                    }
-
-                    // console log
-                    Debug.logInfo(newValue.get("stateCode") + "/" + 
newValue.get("city") + "/" + newValue.get("county") + "/" + newValue.get(
-                            "fromDate"), MODULE);
-                }
-            }
-        }
-
-        return ServiceUtil.returnSuccess();
-    }
-
-    // tax calc service
-    public static Map<String, Object> flatTaxCalc(DispatchContext dctx, 
Map<String, ? extends Object> context) {
-        Delegator delegator = dctx.getDelegator();
-        List<GenericValue> itemProductList = 
UtilGenerics.cast(context.get("itemProductList"));
-        List<BigDecimal> itemAmountList = 
UtilGenerics.cast(context.get("itemAmountList"));
-        List<BigDecimal> itemShippingList = 
UtilGenerics.cast(context.get("itemShippingList"));
-        BigDecimal orderShippingAmount = (BigDecimal) 
context.get("orderShippingAmount");
-        GenericValue shippingAddress = (GenericValue) 
context.get("shippingAddress");
-
-        // flatTaxCalc only uses the Zip + City from the address
-        String stateProvince = shippingAddress.getString("stateProvinceGeoId");
-        String postalCode = shippingAddress.getString("postalCode");
-        String city = shippingAddress.getString("city");
-
-        // setup the return lists.
-        List<GenericValue> orderAdjustments = new LinkedList<>();
-        List<List<GenericValue>> itemAdjustments = new LinkedList<>();
-
-        // check for a valid state/province geo
-        String validStates = EntityUtilProperties.getPropertyValue("zipsales", 
"zipsales.valid.states", delegator);
-        if (UtilValidate.isNotEmpty(validStates)) {
-            List<String> stateSplit = StringUtil.split(validStates, "|");
-            if (!stateSplit.contains(stateProvince)) {
-                Map<String, Object> result = ServiceUtil.returnSuccess();
-                result.put("orderAdjustments", orderAdjustments);
-                result.put("itemAdjustments", itemAdjustments);
-                return result;
-            }
-        }
-
-        try {
-            // loop through and get per item tax rates
-            for (int i = 0; i < itemProductList.size(); i++) {
-                GenericValue product = itemProductList.get(i);
-                BigDecimal itemAmount = itemAmountList.get(i);
-                BigDecimal shippingAmount = itemShippingList.get(i);
-                itemAdjustments.add(getItemTaxList(delegator, product, 
postalCode, city, itemAmount, shippingAmount, false));
-            }
-            if (orderShippingAmount.compareTo(BigDecimal.ZERO) > 0) {
-                List<GenericValue> taxList = getItemTaxList(delegator, null, 
postalCode, city, BigDecimal.ZERO, orderShippingAmount, false);
-                orderAdjustments.addAll(taxList);
-            }
-        } catch (GeneralException e) {
-            return ServiceUtil.returnError(e.getMessage());
-        }
-
-        Map<String, Object> result = ServiceUtil.returnSuccess();
-        result.put("orderAdjustments", orderAdjustments);
-        result.put("itemAdjustments", itemAdjustments);
-        return result;
-    }
-
-    private static List<GenericValue> getItemTaxList(Delegator delegator, 
GenericValue item, String zipCode, String city, BigDecimal itemAmount,
-                                                     BigDecimal 
shippingAmount, boolean isUseTax) throws GeneralException {
-        List<GenericValue> adjustments = new LinkedList<>();
-
-        // check the item for tax status
-        if (item != null && item.get("taxable") != null && 
"N".equals(item.getString("taxable"))) {
-            // item not taxable
-            return adjustments;
-        }
-
-        // lookup the records
-        List<GenericValue> zipLookup =
-                
EntityQuery.use(delegator).from("ZipSalesTaxLookup").where("zipCode", 
zipCode).orderBy("-fromDate").queryList();
-        if (UtilValidate.isEmpty(zipLookup)) {
-            throw new GeneralException("The zip code entered is not valid.");
-        }
-
-        // the filtered list
-        // TODO: taxLookup is always null, so filter by County will never be 
executed
-        List<GenericValue> taxLookup = null;
-
-        // only do filtering if there are more then one zip code found
-        if (zipLookup != null && zipLookup.size() > 1) {
-            // first filter by city
-            List<GenericValue> cityLookup = EntityUtil.filterByAnd(zipLookup, 
UtilMisc.toMap("city", city.toUpperCase()));
-            if (UtilValidate.isNotEmpty(cityLookup)) {
-                if (cityLookup.size() > 1) {
-                    // filter by county
-                    List<GenericValue> countyLookup = 
EntityUtil.filterByAnd(taxLookup, UtilMisc.toMap("countyDefault", "Y"));
-                    if (UtilValidate.isNotEmpty(countyLookup)) {
-                        // use the county default
-                        taxLookup = countyLookup;
-                    } else {
-                        // no county default; just use the first city
-                        taxLookup = cityLookup;
-                    }
-                } else {
-                    // just one city found; use that one
-                    taxLookup = cityLookup;
-                }
-            } else {
-                // no city found; lookup default city
-                List<GenericValue> defaultLookup = 
EntityUtil.filterByAnd(zipLookup, UtilMisc.toMap("generalDefault", "Y"));
-                if (UtilValidate.isNotEmpty(defaultLookup)) {
-                    // use the default city lookup
-                    taxLookup = defaultLookup;
-                } else {
-                    // no default found; just use the first from the zip lookup
-                    taxLookup = zipLookup;
-                }
-            }
-        } else {
-            // zero or 1 zip code found; use it
-            taxLookup = zipLookup;
-        }
-
-        // get the first one
-        GenericValue taxEntry = null;
-        if (UtilValidate.isNotEmpty(taxLookup)) {
-            taxEntry = taxLookup.iterator().next();
-        }
-
-        if (taxEntry == null) {
-            Debug.logWarning("No tax entry found for : " + zipCode + " / " + 
city + " - " + itemAmount, MODULE);
-            return adjustments;
-        }
-
-        String fieldName = "comboSalesTax";
-        if (isUseTax) {
-            fieldName = "comboUseTax";
-        }
-
-        BigDecimal comboTaxRate = taxEntry.getBigDecimal(fieldName);
-        if (comboTaxRate == null) {
-            Debug.logWarning("No Combo Tax Rate In Field " + fieldName + " @ " 
+ zipCode + " / " + city + " - " + itemAmount, MODULE);
-            return adjustments;
-        }
-
-        // get state code
-        String stateCode = taxEntry.getString("stateCode");
-
-        // check if shipping is exempt
-        boolean taxShipping = true;
-
-        // look up the rules
-        List<GenericValue> ruleLookup = null;
-        try {
-            ruleLookup = 
EntityQuery.use(delegator).from("ZipSalesRuleLookup").where("stateCode", 
stateCode).orderBy("-fromDate").queryList();
-        } catch (GenericEntityException e) {
-            Debug.logError(e, MODULE);
-        }
-
-        // filter out city
-        if (ruleLookup != null && ruleLookup.size() > 1) {
-            ruleLookup = EntityUtil.filterByAnd(ruleLookup, 
UtilMisc.toMap("city", city.toUpperCase()));
-        }
-
-        // no county captured; so filter by date
-        if (ruleLookup != null && ruleLookup.size() > 1) {
-            ruleLookup = EntityUtil.filterByDate(ruleLookup);
-        }
-
-        if (ruleLookup != null) {
-            for (GenericValue rule : ruleLookup) {
-                if (!taxShipping) {
-                    // if we found an rule which passes no need to contine 
(all rules are ||)
-                    break;
-                }
-                String idCode = rule.getString("idCode");
-                String taxable = rule.getString("taxable");
-                String condition = rule.getString("shipCond");
-                if ("T".equals(taxable)) {
-                    // this record is taxable
-                    continue;
-                } else {
-                    // except if conditions are met
-                    boolean qualify = false;
-                    if (UtilValidate.isNotEmpty(condition)) {
-                        char[] conditions = condition.toCharArray();
-                        for (int i = 0; i < conditions.length; i++) {
-                            switch (conditions[i]) {
-                            case 'A':
-                                // SHIPPING CHARGE SEPARATELY STATED ON INVOICE
-                                qualify = true; // OFBiz does this by default
-                                break;
-                            case 'B':
-                                // SHIPPING CHARGE SEPARATED ON INVOICE FROM 
HANDLING OR SIMILAR CHARGES
-                                qualify = false; // we do not support this 
currently
-                                break;
-                            case 'C':
-                                // ITEM NOT SOLD FOR GUARANTEED SHIPPED PRICE
-                                qualify = false; // we don't support this 
currently
-                                break;
-                            case 'D':
-                                // SHIPPING CHARGE IS COST ONLY
-                                qualify = false; // we assume a handling 
charge is included
-                                break;
-                            case 'E':
-                                // SHIPPED DIRECTLY TO PURCHASER
-                                qualify = true; // this is true, unless gifts 
do not count?
-                                break;
-                            case 'F':
-                                // SHIPPED VIA COMMON CARRIER
-                                qualify = true; // best guess default
-                                break;
-                            case 'G':
-                                // SHIPPED VIA CONTRACT CARRIER
-                                qualify = false; // best guess default
-                                break;
-                            case 'H':
-                                // SHIPPED VIA VENDOR EQUIPMENT
-                                qualify = false; // best guess default
-                                break;
-                            case 'I':
-                                // SHIPPED F.O.B. ORIGIN
-                                qualify = false; // no clue
-                                break;
-                            case 'J':
-                                // SHIPPED F.O.B. DESTINATION
-                                qualify = false; // no clue
-                                break;
-                            case 'K':
-                                // F.O.B. IS PURCHASERS OPTION
-                                qualify = false; // no clue
-                                break;
-                            case 'L':
-                                // SHIPPING ORIGINATES OR TERMINATES IN 
DIFFERENT STATES
-                                qualify = true; // not determined at order 
time, no way to know
-                                break;
-                            case 'M':
-                                // PROOF OF VENDOR ACTING AS SHIPPING AGENT 
FOR PURCHASER
-                                qualify = false; // no clue
-                                break;
-                            case 'N':
-                                // SHIPPED FROM VENDOR LOCATION
-                                qualify = true; // sure why not
-                                break;
-                            case 'O':
-                                // SHIPPING IS BY PURCHASER OPTION
-                                qualify = false; // most online stores require 
shipping
-                                break;
-                            case 'P':
-                                // CREDIT ALLOWED FOR SHIPPING CHARGE PAID BY 
PURCHASER TO CARRIER
-                                qualify = false; // best guess default
-                                break;
-                            default:
-                                break;
-                            }
-                        }
-                    }
-
-                    if (qualify) {
-                        if (isUseTax) {
-                            if (idCode.indexOf('U') > 0) {
-                                taxShipping = false;
-                            }
-                        } else {
-                            if (idCode.indexOf('S') > 0) {
-                                taxShipping = false;
-                            }
-                        }
-                    }
-                }
-            }
-        }
-
-        BigDecimal taxableAmount = itemAmount;
-        if (taxShipping) {
-            //Debug.logInfo("Taxing shipping", MODULE);
-            taxableAmount = taxableAmount.add(shippingAmount);
-        } else {
-            Debug.logInfo("Shipping is not taxable", MODULE);
-        }
-
-        // calc tax amount
-        BigDecimal taxRate = comboTaxRate;
-        BigDecimal taxCalc = taxableAmount.multiply(taxRate);
-
-        adjustments.add(delegator.makeValue("OrderAdjustment", 
UtilMisc.toMap("amount", taxCalc, "orderAdjustmentTypeId", "SALES_TAX", 
"comments",
-                taxRate, "description", "Sales Tax (" + stateCode + ")")));
-
-        return adjustments;
-    }
-
-    // formatting methods
-    private static Timestamp parseDate(String dateString, Timestamp 
useWhenNull) {
-        Timestamp ts = null;
-        SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_PATTERN);
-        if (dateString != null) {
-            try {
-                ts = new Timestamp(dateFormat.parse(dateString).getTime());
-            } catch (ParseException e) {
-                Debug.logError(e, MODULE);
-            }
-        }
-
-        if (ts != null) {
-            return ts;
-        } else {
-            return useWhenNull;
-        }
-    }
-}
diff --git a/build.gradle b/build.gradle
index 72820b1818..7c0d72f6b2 100644
--- a/build.gradle
+++ b/build.gradle
@@ -268,9 +268,6 @@ dependencies {
 }
 
 def excludedJavaSources = [
-    'org/apache/ofbiz/order/thirdparty/taxware/TaxwareException.java',
-    'org/apache/ofbiz/order/thirdparty/taxware/TaxwareServices.java',
-    'org/apache/ofbiz/order/thirdparty/taxware/TaxwareUTL.java'
 ]
 
 sourceSets {

Reply via email to