/* Copyright (C) 2014 konik.io
*
* This file is part of the Konik library.
*
* The Konik library is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* The Konik library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with the Konik library. If not, see <http://www.gnu.org/licenses/>.
*/
package io.konik.zugferd.unece.codes;
import javax.xml.bind.annotation.XmlEnum;
import javax.xml.bind.annotation.XmlType;
/**
* = Tax Code
*
* Code specifying a type of duty, tax or fee.
*
*
* @see http://www.unece.org/trade/untdid/d13b/tred/tred5153.htm[UN/EDIFACT 5153 Duty or tax or fee type name code]
*/
@XmlType(name = "TaxTypeCodeType")
@XmlEnum
public enum TaxCode {
/**
* A tax levied on the volume of petroleum being
* transacted.
*/
AAA("Petroleum tax"),
/**
* Countervailing duty paid in cash prior to a formal
* finding of subsidization by Customs.
*/
AAB("Provisional countervailing duty cash"),
/**
* Countervailing duty paid by posting a bond during an
* investigation period prior to a formal decision on
* subsidization by Customs.
*/
AAC("Provisional countervailing duty bond"),
/**
* A tax levied on tobacco products.
*/
AAD("Tobacco tax"),
/**
* General fee or tax for the use of energy.
*/
AAE("Energy fee"),
/**
* A tax levied specifically on coffee products.
*/
AAF("Coffee tax"),
/**
* A harmonized sales tax consisting of a goods and service
* tax, a Canadian provincial sales tax and, as applicable,
* a Quebec sales tax which is recoverable.
*/
AAG("Harmonised sales tax, Canadian"),
/**
* A sales tax charged within the Canadian province of
* Quebec which is recoverable.
*/
AAH("Quebec sales tax"),
/**
* A sales tax charged within Canadian provinces which is
* non-recoverable.
*/
AAI("Canadian provincial sales tax"),
/**
* A tax levied on a replacement part, where the original
* part is returned.
*/
AAJ("Tax on replacement part"),
/**
* Tax that is levied specifically on products containing
* mineral oil.
*/
AAK("Mineral oil tax"),
/**
* To indicate a special type of tax.
*/
AAL("Special tax"),
/**
* Duty applied to goods ruled to have been dumped in an
* import market at a price lower than that in the
* exporter's domestic market.
*/
ADD("Anti-dumping duty"),
/**
* Tax required in Italy, which may be fixed or graduated
* in various circumstances (e.g. VAT exempt documents or
* bank receipts).
*/
BOL("Stamp duty (Imposta di Bollo)"),
/**
* Levy imposed on agricultural products where there is a
* difference between the selling price between trading
* countries.
*/
CAP("Agricultural levy"),
/**
* A tax that is levied on the value of the automobile.
*/
CAR("Car tax"),
/**
* Italian Paper consortium tax.
*/
COC("Paper consortium tax (Italy)"),
/**
* Tax related to a specified commodity, e.g. illuminants,
* salts.
*/
CST("Commodity specific tax"),
/**
* Duties laid down in the Customs tariff, to which goods
* are liable on entering or leaving the Customs territory
* (CCC).
*/
CUD("Customs duty"),
/**
* A duty on imported goods applied for compensate for
* subsidies granted to those goods in the exporting
* country.
*/
CVD("Countervailing duty"),
/**
* Tax assessed for funding or assuring environmental
* protection or clean-up.
*/
ENV("Environmental tax"),
/**
* Customs or fiscal authorities code to identify a
* specific or ad valorem levy on a specific commodity,
* applied either domestically or at time of importation.
*/
EXC("Excise duty"),
/**
* Monetary rebate given to the seller in certain
* circumstances when agricultural products are exported.
*/
EXP("Agricultural export rebate"),
/**
* Tax levied by the federal government on the manufacture
* of specific items.
*/
FET("Federal excise tax"),
/**
* No tax levied.
*/
FRE("Free"),
/**
* General tax for construction.
*/
GCN("General construction tax"),
/**
* Tax levied on the final consumption of goods and
* services throughout the production and distribution
* chain.
*/
GST("Goods and services tax"),
/**
* Tax of illuminants.
*/
ILL("Illuminants tax"),
/**
* Tax assessed on imports.
*/
IMP("Import tax"),
/**
* A tax levied based on an individual's ability to pay.
*/
IND("Individual tax"),
/**
* Government assessed charge for permit to do business.
*/
LAC("Business license fee"),
/**
* Local tax for construction.
*/
LCN("Local construction tax"),
/**
* Fee levied on a vessel to pay for port navigation
* lights.
*/
LDP("Light dues payable"),
/**
* Assessment charges on sale of goods or services by city,
* borough country or other taxing authorities below state
* or provincial level.
*/
LOC("Local sales tax"),
/**
* Tax imposed for clean-up of leaky underground storage
* tanks.
*/
LST("Lust tax"),
/**
* Levy on Common Agricultural Policy (European Union)
* goods used to compensate for fluctuating currencies
* between member states.
*/
MCA("Monetary compensatory amount"),
/**
* Duty paid and held on deposit, by Customs, during an
* investigation period prior to a final decision being
* made on any aspect related to imported goods (except
* valuation) by Customs.
*/
MCD("Miscellaneous cash deposit"),
/**
* Unspecified, miscellaneous tax charges.
*/
OTH("Other taxes"),
/**
* Anti-dumping duty paid by posting a bond during an
* investigation period prior to a formal decision on
* dumping by Customs.
*/
PDB("Provisional duty bond"),
/**
* Anti-dumping duty paid in cash prior to a formal finding
* of dumping by Customs.
*/
PDC("Provisional duty cash"),
/**
* Duties laid down in the Customs tariff, to which goods
* are liable on entering or leaving the Customs territory
* falling under a preferential regime such as Generalised
* System of Preferences (GSP).
*/
PRF("Preference duty"),
/**
* Special tax for construction.
*/
SCN("Special construction tax"),
/**
* Social securities share of the invoice amount to be paid
* directly to the social securities collector.
*/
SSS("Shifted social securities"),
/**
* All applicable sale taxes by authorities at the state or
* provincial level, below national level.
*/
STT("State/provincial sales tax"),
/**
* Duty suspended or deferred from payment.
*/
SUP("Suspended duty"),
/**
* A tax or duty applied on and in addition to existing
* duties and taxes.
*/
SUR("Surtax"),
/**
* Wage tax share of the invoice amount to be paid directly
* to the tax collector(s office).
*/
SWT("Shifted wage tax"),
/**
* A tax levied based on the type of alcohol being
* obtained.
*/
TAC("Alcohol mark tax"),
/**
* The summary amount of all taxes.
*/
TOT("Total"),
/**
* Tax levied on the total sales/turnover of a corporation.
*/
TOX("Turnover tax"),
/**
* Tax levied based on the vessel's net tonnage.
*/
TTA("Tonnage taxes"),
/**
* Duty paid and held on deposit, by Customs, during an
* investigation period prior to a formal decision on
* valuation of the goods being made.
*/
VAD("Valuation deposit"),
/**
* A tax on domestic or imported goods applied to the value
* added at each stage in the production/distribution
* cycle.
*/
VAT("Value added tax"),
/** The zf insurance tax, which is temporary */
ZF_INSURANCE_TAX("Insurance Tax");
/** The description for the tax code */
private final String description;
private TaxCode(String description) {
this.description = description;
}
/**
* Gets the code.
*
* @return the code
*/
public String getCode() {
return name();
}
/**
* Gets the description.
*
* @return the description
*/
public String getDescription() {
return description;
}
/**
* Gets the type by code.
*
* @param description the enum code
* @return the type by code or {@link IllegalArgumentException}
*/
public static TaxCode getByCode(String description) {
return valueOf(description);
}
@Override
public String toString() {
return new StringBuilder().append("[").append(getCode()).append("] ").append(description).toString();
}
}