2 * Copyright (c) 2010-2023 Contributors to the openHAB project
4 * See the NOTICE file(s) distributed with this work for additional
7 * This program and the accompanying materials are made available under the
8 * terms of the Eclipse Public License 2.0 which is available at
9 * http://www.eclipse.org/legal/epl-2.0
11 * SPDX-License-Identifier: EPL-2.0
13 package org.openhab.transform.vat.internal;
17 import org.eclipse.jdt.annotation.NonNullByDefault;
18 import org.openhab.core.thing.profiles.ProfileTypeUID;
19 import org.openhab.core.transform.TransformationService;
22 * The {@link VATTransformationConstants} class defines constants
23 * used across the whole profile.
25 * @author Jacob Laursen - Initial contribution
28 public class VATTransformationConstants {
30 public static final ProfileTypeUID PROFILE_TYPE_UID = new ProfileTypeUID(
31 TransformationService.TRANSFORM_PROFILE_SCOPE, "VAT");
33 public static final Map<String, String> RATES = Map.ofEntries(
34 // European Union countries
35 Map.entry("AT", "20"), // Austria
36 Map.entry("BE", "21"), // Belgium
37 Map.entry("BG", "20"), // Bulgaria
38 Map.entry("HR", "25"), // Croatia
39 Map.entry("CY", "19"), // Cyprus
40 Map.entry("CZ", "21"), // Czech Republic
41 Map.entry("DK", "25"), // Denmark
42 Map.entry("EE", "20"), // Estonia
43 Map.entry("FI", "24"), // Finland
44 Map.entry("FR", "20"), // France
45 Map.entry("DE", "19"), // Germany
46 Map.entry("GR", "24"), // Greece
47 Map.entry("HU", "27"), // Hungary
48 Map.entry("IE", "23"), // Ireland
49 Map.entry("IT", "22"), // Italy
50 Map.entry("LV", "21"), // Latvia
51 Map.entry("LT", "21"), // Lithuania
52 Map.entry("LU", "17"), // Luxembourg
53 Map.entry("MT", "18"), // Malta
54 Map.entry("NL", "21"), // Netherlands
55 Map.entry("PL", "23"), // Poland
56 Map.entry("PT", "23"), // Portugal
57 Map.entry("RO", "19"), // Romania
58 Map.entry("SK", "20"), // Slovakia
59 Map.entry("SI", "22"), // Slovenia
60 Map.entry("ES", "21"), // Spain
61 Map.entry("SE", "25"), // Sweden
63 // Non-European Union countries
64 Map.entry("AL", "20"), // Albania
65 Map.entry("DZ", "19"), // Algeria
66 Map.entry("AD", "4.5"), // Andorra
67 Map.entry("AO", "14"), // Angola
68 Map.entry("AG", "15"), // Antigua and Barbuda
69 Map.entry("AR", "21"), // Argentina
70 Map.entry("AM", "20"), // Armenia
71 Map.entry("AU", "10"), // Australia
72 Map.entry("AZ", "18"), // Azerbaijan
73 Map.entry("BS", "12"), // Bahamas
74 Map.entry("BH", "10"), // Bahrain
75 Map.entry("BD", "15"), // Bangladesh
76 Map.entry("BB", "17.5"), // Barbados
77 Map.entry("BY", "20"), // Belarus
78 Map.entry("BZ", "12.5"), // Belize
79 Map.entry("BJ", "18"), // Benin
80 Map.entry("BO", "13"), // Bolivia
81 Map.entry("BA", "17"), // Bosnia and Herzegovina
82 Map.entry("BW", "12"), // Botswana
83 Map.entry("BR", "20"), // Brazil
84 Map.entry("BF", "18"), // Burkina Faso
85 Map.entry("BI", "18"), // Burundi
86 Map.entry("KH", "10"), // Cambodia
87 Map.entry("CM", "19.25"), // Cameroon
88 Map.entry("CA", "5"), // Canada
89 Map.entry("CV", "15"), // Cape Verde
90 Map.entry("CF", "19"), // Central African Republic
91 Map.entry("TD", "18"), // Chad
92 Map.entry("CL", "19"), // Chile
93 Map.entry("CN", "13"), // China
94 Map.entry("CO", "19"), // Colombia
95 Map.entry("CR", "13"), // Costa Rica
96 Map.entry("CD", "16"), // Democratic Republic of the Congo
97 Map.entry("DM", "15"), // Dominica
98 Map.entry("DO", "18"), // Dominican Republic
99 Map.entry("EC", "12"), // Ecuador
100 Map.entry("EG", "14"), // Egypt
101 Map.entry("SV", "13"), // El Salvador
102 Map.entry("GQ", "15"), // Equatorial Guinea
103 Map.entry("ET", "15"), // Ethiopia
104 Map.entry("FO", "25"), // Faroe Islands
105 Map.entry("FJ", "15"), // Fiji
106 Map.entry("GA", "18"), // Gabon
107 Map.entry("GM", "15"), // Gambia
108 Map.entry("GE", "18"), // Georgia
109 Map.entry("GH", "15"), // Ghana
110 Map.entry("GD", "15"), // Grenada
111 Map.entry("GT", "12"), // Guatemala
112 Map.entry("GN", "18"), // Guinea
113 Map.entry("GW", "15"), // Guinea-Bissau
114 Map.entry("GY", "16"), // Guyana
115 Map.entry("HT", "10"), // Haiti
116 Map.entry("HN", "15"), // Honduras
117 Map.entry("IS", "24"), // Iceland
118 Map.entry("IN", "5.5"), // India
119 Map.entry("ID", "11"), // Indonesia
120 Map.entry("IR", "9"), // Iran
121 Map.entry("IM", "20"), // Isle of Man
122 Map.entry("IL", "17"), // Israel
123 Map.entry("CI", "18"), // Ivory Coast
124 Map.entry("JM", "12.5"), // Jamaica
125 Map.entry("JP", "10"), // Japan
126 Map.entry("JE", "5"), // Jersey
127 Map.entry("JO", "16"), // Jordan
128 Map.entry("KZ", "12"), // Kazakhstan
129 Map.entry("KE", "16"), // Kenya
130 Map.entry("KG", "20"), // Kyrgyzstan
131 Map.entry("LA", "10"), // Laos
132 Map.entry("LB", "11"), // Lebanon
133 Map.entry("LS", "14"), // Lesotho
134 Map.entry("LI", "7.7"), // Liechtenstein
135 Map.entry("MG", "20"), // Madagascar
136 Map.entry("MW", "16.5"), // Malawi
137 Map.entry("MY", "6"), // Malaysia
138 Map.entry("MV", "6"), // Maldives
139 Map.entry("ML", "18"), // Mali
140 Map.entry("MR", "14"), // Mauritania
141 Map.entry("MU", "15"), // Mauritius
142 Map.entry("MX", "16"), // Mexico
143 Map.entry("MD", "20"), // Moldova
144 Map.entry("MC", "19.6"), // Monaco
145 Map.entry("MN", "10"), // Mongolia
146 Map.entry("ME", "21"), // Montenegro
147 Map.entry("MA", "20"), // Morocco
148 Map.entry("MZ", "17"), // Mozambique
149 Map.entry("NA", "15"), // Namibia
150 Map.entry("NP", "13"), // Nepal
151 Map.entry("NZ", "15"), // New Zealand
152 Map.entry("NI", "15"), // Nicaragua
153 Map.entry("NE", "19"), // Niger
154 Map.entry("NG", "7.5"), // Nigeria
155 Map.entry("NU", "5"), // Niue
156 Map.entry("MK", "18"), // North Macedonia
157 Map.entry("NO", "25"), // Norway
158 Map.entry("PK", "17"), // Pakistan
159 Map.entry("PW", "10"), // Palau
160 Map.entry("PS", "16"), // Palestine
161 Map.entry("PA", "7"), // Panama
162 Map.entry("PG", "10"), // Papua New Guinea
163 Map.entry("PY", "10"), // Paraguay
164 Map.entry("PE", "18"), // Peru
165 Map.entry("PH", "12"), // Philippines
166 Map.entry("CG", "16"), // Republic of Congo
167 Map.entry("RU", "20"), // Russia
168 Map.entry("RW", "18"), // Rwanda
169 Map.entry("KN", "17"), // Saint Kitts and Nevis
170 Map.entry("VC", "15"), // Saint Vincent and the Grenadines
171 Map.entry("WS", "15"), // Samoa
172 Map.entry("SA", "15"), // Saudi Arabia
173 Map.entry("SN", "18"), // Senegal
174 Map.entry("RS", "20"), // Serbia
175 Map.entry("SC", "15"), // Seychelles
176 Map.entry("SL", "15"), // Sierra Leone
177 Map.entry("SG", "8"), // Singapore
178 Map.entry("ZA", "15"), // South Africa
179 Map.entry("KR", "10"), // South Korea
180 Map.entry("LK", "12"), // Sri Lanka
181 Map.entry("SD", "17"), // Sudan
182 Map.entry("CH", "7.7"), // Switzerland
183 Map.entry("TW", "5"), // Taiwan
184 Map.entry("TJ", "20"), // Tajikistan
185 Map.entry("TZ", "18"), // Tanzania
186 Map.entry("TH", "10"), // Thailand
187 Map.entry("TG", "18"), // Togo
188 Map.entry("TO", "15"), // Tonga
189 Map.entry("TT", "12.5"), // Trinidad and Tobago
190 Map.entry("TN", "18"), // Tunisia
191 Map.entry("TR", "18"), // Turkey
192 Map.entry("TM", "15"), // Turkmenistan
193 Map.entry("UG", "18"), // Uganda
194 Map.entry("UA", "20"), // Ukraine
195 Map.entry("AE", "5"), // United Arab Emirates
196 Map.entry("GB", "20"), // United Kingdom
197 Map.entry("UY", ""), // Uruguay
198 Map.entry("UZ", "12"), // Uzbekistan
199 Map.entry("VU", "13"), // Vanuatu
200 Map.entry("VN", "10"), // Vietnam
201 Map.entry("VE", "12"), // Venezuela
202 Map.entry("ZM", "16"), // Zambia
203 Map.entry("ZW", "15") // Zimbabwe