1#![allow(non_camel_case_types)]
2
3#[cfg_attr(feature = "specta", derive(specta::Type))]
4#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
5#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy, Hash)]
6pub enum VATEX {
7 ExemptBasedOnArticle79PointCCouncilDirective2006112Ec,
11 ExemptBasedOnArticle132CouncilDirective2006112Ec,
13 ExemptBasedOnArticle132Section1ACouncilDirective2006112Ec,
15 ExemptBasedOnArticle132Section1BCouncilDirective2006112Ec,
17 ExemptBasedOnArticle132Section1CCouncilDirective2006112Ec,
19 ExemptBasedOnArticle132Section1DCouncilDirective2006112Ec,
21 ExemptBasedOnArticle132Section1ECouncilDirective2006112Ec,
23 ExemptBasedOnArticle132Section1FCouncilDirective2006112Ec,
25 ExemptBasedOnArticle132Section1GCouncilDirective2006112Ec,
27 ExemptBasedOnArticle132Section1HCouncilDirective2006112Ec,
29 ExemptBasedOnArticle132Section1ICouncilDirective2006112Ec,
31 ExemptBasedOnArticle132Section1JCouncilDirective2006112Ec,
33 ExemptBasedOnArticle132Section1KCouncilDirective2006112Ec,
35 ExemptBasedOnArticle132Section1LCouncilDirective2006112Ec,
37 ExemptBasedOnArticle132Section1MCouncilDirective2006112Ec,
39 ExemptBasedOnArticle132Section1NCouncilDirective2006112Ec,
41 ExemptBasedOnArticle132Section1OCouncilDirective2006112Ec,
43 ExemptBasedOnArticle132Section1PCouncilDirective2006112Ec,
45 ExemptBasedOnArticle132Section1QCouncilDirective2006112Ec,
47 ExemptBasedOnArticle143CouncilDirective2006112Ec,
49 ExemptBasedOnArticle143Section1ACouncilDirective2006112Ec,
51 ExemptBasedOnArticle143Section1BCouncilDirective2006112Ec,
53 ExemptBasedOnArticle143Section1CCouncilDirective2006112Ec,
55 ExemptBasedOnArticle143Section1DCouncilDirective2006112Ec,
57 ExemptBasedOnArticle143Section1ECouncilDirective2006112Ec,
59 ExemptBasedOnArticle143Section1FCouncilDirective2006112Ec,
61 ExemptBasedOnArticle143Section1FaCouncilDirective2006112Ec,
63 ExemptBasedOnArticle143Section1GCouncilDirective2006112Ec,
65 ExemptBasedOnArticle143Section1HCouncilDirective2006112Ec,
67 ExemptBasedOnArticle143Section1ICouncilDirective2006112Ec,
69 ExemptBasedOnArticle143Section1JCouncilDirective2006112Ec,
71 ExemptBasedOnArticle143Section1KCouncilDirective2006112Ec,
73 ExemptBasedOnArticle143Section1LCouncilDirective2006112Ec,
75 ExemptBasedOnArticle144CouncilDirective2006112Ec,
77 ExemptBasedOnArticle146Section1ECouncilDirective2006112Ec,
79 ExemptBasedOnArticle148CouncilDirective2006112Ec,
81 ExemptBasedOnArticle148SectionACouncilDirective2006112Ec,
83 ExemptBasedOnArticle148SectionBCouncilDirective2006112Ec,
85 ExemptBasedOnArticle148SectionCCouncilDirective2006112Ec,
87 ExemptBasedOnArticle148SectionDCouncilDirective2006112Ec,
89 ExemptBasedOnArticle148SectionECouncilDirective2006112Ec,
91 ExemptBasedOnArticle148SectionFCouncilDirective2006112Ec,
93 ExemptBasedOnArticle148SectionGCouncilDirective2006112Ec,
95 ExemptBasedOnArticle151CouncilDirective2006112Ec,
97 ExemptBasedOnArticle151Section1ACouncilDirective2006112Ec,
99 ExemptBasedOnArticle151Section1AaCouncilDirective2006112Ec,
101 ExemptBasedOnArticle151Section1BCouncilDirective2006112Ec,
103 ExemptBasedOnArticle151Section1CCouncilDirective2006112Ec,
105 ExemptBasedOnArticle151Section1DCouncilDirective2006112Ec,
107 ExemptBasedOnArticle151Section1ECouncilDirective2006112Ec,
109 ExemptBasedOnArticle159CouncilDirective2006112Ec,
111 ExemptBasedOnArticle309CouncilDirective2006112Ec,
113 ReverseCharge,
117 TravelAgentsVatScheme,
121 SecondHandGoodsVatScheme,
125 ExportOutsideEu,
129 WorksArtVatScheme,
133 IntraCommunitySupply,
137 CollectorsItemsAndAntiquesVatScheme,
141 NotSubjectToVat,
145 FranceDomesticVatFranchiseInBase,
149 FranceDomesticCreditNotesWithoutVatDueToSupplierForfeitVatForDiscount,
153}
154
155impl std::fmt::Display for VATEX {
156 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
157 write!(f, "{}", <Self as crate::Code>::code(*self))
158 }
159}
160
161impl std::str::FromStr for VATEX {
162 type Err = crate::ParseError<Self>;
163 fn from_str(s: &str) -> Result<Self, Self::Err> {
164 <Self as crate::FromCode>::from_code(s)
165 .ok_or_else(|| crate::ParseError::<Self>::new(s.to_owned()))
166 }
167}
168
169impl crate::Code for VATEX {
170 fn code(self) -> &'static str {
171 match self {
172 VATEX::ExemptBasedOnArticle79PointCCouncilDirective2006112Ec => "VATEX-EU-79-C",
173 VATEX::ExemptBasedOnArticle132CouncilDirective2006112Ec => "VATEX-EU-132",
174 VATEX::ExemptBasedOnArticle132Section1ACouncilDirective2006112Ec => "VATEX-EU-132-1A",
175 VATEX::ExemptBasedOnArticle132Section1BCouncilDirective2006112Ec => "VATEX-EU-132-1B",
176 VATEX::ExemptBasedOnArticle132Section1CCouncilDirective2006112Ec => "VATEX-EU-132-1C",
177 VATEX::ExemptBasedOnArticle132Section1DCouncilDirective2006112Ec => "VATEX-EU-132-1D",
178 VATEX::ExemptBasedOnArticle132Section1ECouncilDirective2006112Ec => "VATEX-EU-132-1E",
179 VATEX::ExemptBasedOnArticle132Section1FCouncilDirective2006112Ec => "VATEX-EU-132-1F",
180 VATEX::ExemptBasedOnArticle132Section1GCouncilDirective2006112Ec => "VATEX-EU-132-1G",
181 VATEX::ExemptBasedOnArticle132Section1HCouncilDirective2006112Ec => "VATEX-EU-132-1H",
182 VATEX::ExemptBasedOnArticle132Section1ICouncilDirective2006112Ec => "VATEX-EU-132-1I",
183 VATEX::ExemptBasedOnArticle132Section1JCouncilDirective2006112Ec => "VATEX-EU-132-1J",
184 VATEX::ExemptBasedOnArticle132Section1KCouncilDirective2006112Ec => "VATEX-EU-132-1K",
185 VATEX::ExemptBasedOnArticle132Section1LCouncilDirective2006112Ec => "VATEX-EU-132-1L",
186 VATEX::ExemptBasedOnArticle132Section1MCouncilDirective2006112Ec => "VATEX-EU-132-1M",
187 VATEX::ExemptBasedOnArticle132Section1NCouncilDirective2006112Ec => "VATEX-EU-132-1N",
188 VATEX::ExemptBasedOnArticle132Section1OCouncilDirective2006112Ec => "VATEX-EU-132-1O",
189 VATEX::ExemptBasedOnArticle132Section1PCouncilDirective2006112Ec => "VATEX-EU-132-1P",
190 VATEX::ExemptBasedOnArticle132Section1QCouncilDirective2006112Ec => "VATEX-EU-132-1Q",
191 VATEX::ExemptBasedOnArticle143CouncilDirective2006112Ec => "VATEX-EU-143",
192 VATEX::ExemptBasedOnArticle143Section1ACouncilDirective2006112Ec => "VATEX-EU-143-1A",
193 VATEX::ExemptBasedOnArticle143Section1BCouncilDirective2006112Ec => "VATEX-EU-143-1B",
194 VATEX::ExemptBasedOnArticle143Section1CCouncilDirective2006112Ec => "VATEX-EU-143-1C",
195 VATEX::ExemptBasedOnArticle143Section1DCouncilDirective2006112Ec => "VATEX-EU-143-1D",
196 VATEX::ExemptBasedOnArticle143Section1ECouncilDirective2006112Ec => "VATEX-EU-143-1E",
197 VATEX::ExemptBasedOnArticle143Section1FCouncilDirective2006112Ec => "VATEX-EU-143-1F",
198 VATEX::ExemptBasedOnArticle143Section1FaCouncilDirective2006112Ec => "VATEX-EU-143-1FA",
199 VATEX::ExemptBasedOnArticle143Section1GCouncilDirective2006112Ec => "VATEX-EU-143-1G",
200 VATEX::ExemptBasedOnArticle143Section1HCouncilDirective2006112Ec => "VATEX-EU-143-1H",
201 VATEX::ExemptBasedOnArticle143Section1ICouncilDirective2006112Ec => "VATEX-EU-143-1I",
202 VATEX::ExemptBasedOnArticle143Section1JCouncilDirective2006112Ec => "VATEX-EU-143-1J",
203 VATEX::ExemptBasedOnArticle143Section1KCouncilDirective2006112Ec => "VATEX-EU-143-1K",
204 VATEX::ExemptBasedOnArticle143Section1LCouncilDirective2006112Ec => "VATEX-EU-143-1L",
205 VATEX::ExemptBasedOnArticle144CouncilDirective2006112Ec => "VATEX-EU-144",
206 VATEX::ExemptBasedOnArticle146Section1ECouncilDirective2006112Ec => "VATEX-EU-146-1E",
207 VATEX::ExemptBasedOnArticle148CouncilDirective2006112Ec => "VATEX-EU-148",
208 VATEX::ExemptBasedOnArticle148SectionACouncilDirective2006112Ec => "VATEX-EU-148-A",
209 VATEX::ExemptBasedOnArticle148SectionBCouncilDirective2006112Ec => "VATEX-EU-148-B",
210 VATEX::ExemptBasedOnArticle148SectionCCouncilDirective2006112Ec => "VATEX-EU-148-C",
211 VATEX::ExemptBasedOnArticle148SectionDCouncilDirective2006112Ec => "VATEX-EU-148-D",
212 VATEX::ExemptBasedOnArticle148SectionECouncilDirective2006112Ec => "VATEX-EU-148-E",
213 VATEX::ExemptBasedOnArticle148SectionFCouncilDirective2006112Ec => "VATEX-EU-148-F",
214 VATEX::ExemptBasedOnArticle148SectionGCouncilDirective2006112Ec => "VATEX-EU-148-G",
215 VATEX::ExemptBasedOnArticle151CouncilDirective2006112Ec => "VATEX-EU-151",
216 VATEX::ExemptBasedOnArticle151Section1ACouncilDirective2006112Ec => "VATEX-EU-151-1A",
217 VATEX::ExemptBasedOnArticle151Section1AaCouncilDirective2006112Ec => "VATEX-EU-151-1AA",
218 VATEX::ExemptBasedOnArticle151Section1BCouncilDirective2006112Ec => "VATEX-EU-151-1B",
219 VATEX::ExemptBasedOnArticle151Section1CCouncilDirective2006112Ec => "VATEX-EU-151-1C",
220 VATEX::ExemptBasedOnArticle151Section1DCouncilDirective2006112Ec => "VATEX-EU-151-1D",
221 VATEX::ExemptBasedOnArticle151Section1ECouncilDirective2006112Ec => "VATEX-EU-151-1E",
222 VATEX::ExemptBasedOnArticle159CouncilDirective2006112Ec => "VATEX-EU-159",
223 VATEX::ExemptBasedOnArticle309CouncilDirective2006112Ec => "VATEX-EU-309",
224 VATEX::ReverseCharge => "VATEX-EU-AE",
225 VATEX::TravelAgentsVatScheme => "VATEX-EU-D",
226 VATEX::SecondHandGoodsVatScheme => "VATEX-EU-F",
227 VATEX::ExportOutsideEu => "VATEX-EU-G",
228 VATEX::WorksArtVatScheme => "VATEX-EU-I",
229 VATEX::IntraCommunitySupply => "VATEX-EU-IC",
230 VATEX::CollectorsItemsAndAntiquesVatScheme => "VATEX-EU-J",
231 VATEX::NotSubjectToVat => "VATEX-EU-O",
232 VATEX::FranceDomesticVatFranchiseInBase => "VATEX-FR-FRANCHISE",
233 VATEX::FranceDomesticCreditNotesWithoutVatDueToSupplierForfeitVatForDiscount => {
234 "VATEX-FR-CNWVAT"
235 }
236 }
237 }
238}
239
240impl crate::Description for VATEX {
241 fn description(self) -> &'static str {
242 match self {
243 VATEX::ExemptBasedOnArticle79PointCCouncilDirective2006112Ec => "Exempt based on article 79, point c of Council Directive 2006/112/EC",
244 VATEX::ExemptBasedOnArticle132CouncilDirective2006112Ec => "Exempt based on article 132 of Council Directive 2006/112/EC",
245 VATEX::ExemptBasedOnArticle132Section1ACouncilDirective2006112Ec => "Exempt based on article 132, section 1 (a) of Council Directive 2006/112/EC",
246 VATEX::ExemptBasedOnArticle132Section1BCouncilDirective2006112Ec => "Exempt based on article 132, section 1 (b) of Council Directive 2006/112/EC",
247 VATEX::ExemptBasedOnArticle132Section1CCouncilDirective2006112Ec => "Exempt based on article 132, section 1 (c) of Council Directive 2006/112/EC",
248 VATEX::ExemptBasedOnArticle132Section1DCouncilDirective2006112Ec => "Exempt based on article 132, section 1 (d) of Council Directive 2006/112/EC",
249 VATEX::ExemptBasedOnArticle132Section1ECouncilDirective2006112Ec => "Exempt based on article 132, section 1 (e) of Council Directive 2006/112/EC",
250 VATEX::ExemptBasedOnArticle132Section1FCouncilDirective2006112Ec => "Exempt based on article 132, section 1 (f) of Council Directive 2006/112/EC",
251 VATEX::ExemptBasedOnArticle132Section1GCouncilDirective2006112Ec => "Exempt based on article 132, section 1 (g) of Council Directive 2006/112/EC",
252 VATEX::ExemptBasedOnArticle132Section1HCouncilDirective2006112Ec => "Exempt based on article 132, section 1 (h) of Council Directive 2006/112/EC",
253 VATEX::ExemptBasedOnArticle132Section1ICouncilDirective2006112Ec => "Exempt based on article 132, section 1 (i) of Council Directive 2006/112/EC",
254 VATEX::ExemptBasedOnArticle132Section1JCouncilDirective2006112Ec => "Exempt based on article 132, section 1 (j) of Council Directive 2006/112/EC",
255 VATEX::ExemptBasedOnArticle132Section1KCouncilDirective2006112Ec => "Exempt based on article 132, section 1 (k) of Council Directive 2006/112/EC",
256 VATEX::ExemptBasedOnArticle132Section1LCouncilDirective2006112Ec => "Exempt based on article 132, section 1 (l) of Council Directive 2006/112/EC",
257 VATEX::ExemptBasedOnArticle132Section1MCouncilDirective2006112Ec => "Exempt based on article 132, section 1 (m) of Council Directive 2006/112/EC",
258 VATEX::ExemptBasedOnArticle132Section1NCouncilDirective2006112Ec => "Exempt based on article 132, section 1 (n) of Council Directive 2006/112/EC",
259 VATEX::ExemptBasedOnArticle132Section1OCouncilDirective2006112Ec => "Exempt based on article 132, section 1 (o) of Council Directive 2006/112/EC",
260 VATEX::ExemptBasedOnArticle132Section1PCouncilDirective2006112Ec => "Exempt based on article 132, section 1 (p) of Council Directive 2006/112/EC",
261 VATEX::ExemptBasedOnArticle132Section1QCouncilDirective2006112Ec => "Exempt based on article 132, section 1 (q) of Council Directive 2006/112/EC",
262 VATEX::ExemptBasedOnArticle143CouncilDirective2006112Ec => "Exempt based on article 143 of Council Directive 2006/112/EC",
263 VATEX::ExemptBasedOnArticle143Section1ACouncilDirective2006112Ec => "Exempt based on article 143, section 1 (a) of Council Directive 2006/112/EC",
264 VATEX::ExemptBasedOnArticle143Section1BCouncilDirective2006112Ec => "Exempt based on article 143, section 1 (b) of Council Directive 2006/112/EC",
265 VATEX::ExemptBasedOnArticle143Section1CCouncilDirective2006112Ec => "Exempt based on article 143, section 1 (c) of Council Directive 2006/112/EC",
266 VATEX::ExemptBasedOnArticle143Section1DCouncilDirective2006112Ec => "Exempt based on article 143, section 1 (d) of Council Directive 2006/112/EC",
267 VATEX::ExemptBasedOnArticle143Section1ECouncilDirective2006112Ec => "Exempt based on article 143, section 1 (e) of Council Directive 2006/112/EC",
268 VATEX::ExemptBasedOnArticle143Section1FCouncilDirective2006112Ec => "Exempt based on article 143, section 1 (f) of Council Directive 2006/112/EC",
269 VATEX::ExemptBasedOnArticle143Section1FaCouncilDirective2006112Ec => "Exempt based on article 143, section 1 (fa) of Council Directive 2006/112/EC",
270 VATEX::ExemptBasedOnArticle143Section1GCouncilDirective2006112Ec => "Exempt based on article 143, section 1 (g) of Council Directive 2006/112/EC",
271 VATEX::ExemptBasedOnArticle143Section1HCouncilDirective2006112Ec => "Exempt based on article 143, section 1 (h) of Council Directive 2006/112/EC",
272 VATEX::ExemptBasedOnArticle143Section1ICouncilDirective2006112Ec => "Exempt based on article 143, section 1 (i) of Council Directive 2006/112/EC",
273 VATEX::ExemptBasedOnArticle143Section1JCouncilDirective2006112Ec => "Exempt based on article 143, section 1 (j) of Council Directive 2006/112/EC",
274 VATEX::ExemptBasedOnArticle143Section1KCouncilDirective2006112Ec => "Exempt based on article 143, section 1 (k) of Council Directive 2006/112/EC",
275 VATEX::ExemptBasedOnArticle143Section1LCouncilDirective2006112Ec => "Exempt based on article 143, section 1 (l) of Council Directive 2006/112/EC",
276 VATEX::ExemptBasedOnArticle144CouncilDirective2006112Ec => "Exempt based on article 144 of Council Directive 2006/112/EC",
277 VATEX::ExemptBasedOnArticle146Section1ECouncilDirective2006112Ec => "Exempt based on article 146 section 1 (e) of Council Directive 2006/112/EC",
278 VATEX::ExemptBasedOnArticle148CouncilDirective2006112Ec => "Exempt based on article 148 of Council Directive 2006/112/EC",
279 VATEX::ExemptBasedOnArticle148SectionACouncilDirective2006112Ec => "Exempt based on article 148, section (a) of Council Directive 2006/112/EC",
280 VATEX::ExemptBasedOnArticle148SectionBCouncilDirective2006112Ec => "Exempt based on article 148, section (b) of Council Directive 2006/112/EC",
281 VATEX::ExemptBasedOnArticle148SectionCCouncilDirective2006112Ec => "Exempt based on article 148, section (c) of Council Directive 2006/112/EC",
282 VATEX::ExemptBasedOnArticle148SectionDCouncilDirective2006112Ec => "Exempt based on article 148, section (d) of Council Directive 2006/112/EC",
283 VATEX::ExemptBasedOnArticle148SectionECouncilDirective2006112Ec => "Exempt based on article 148, section (e) of Council Directive 2006/112/EC",
284 VATEX::ExemptBasedOnArticle148SectionFCouncilDirective2006112Ec => "Exempt based on article 148, section (f) of Council Directive 2006/112/EC",
285 VATEX::ExemptBasedOnArticle148SectionGCouncilDirective2006112Ec => "Exempt based on article 148, section (g) of Council Directive 2006/112/EC",
286 VATEX::ExemptBasedOnArticle151CouncilDirective2006112Ec => "Exempt based on article 151 of Council Directive 2006/112/EC",
287 VATEX::ExemptBasedOnArticle151Section1ACouncilDirective2006112Ec => "Exempt based on article 151, section 1 (a) of Council Directive 2006/112/EC ",
288 VATEX::ExemptBasedOnArticle151Section1AaCouncilDirective2006112Ec => "Exempt based on article 151, section 1 (aa) of Council Directive 2006/112/EC ",
289 VATEX::ExemptBasedOnArticle151Section1BCouncilDirective2006112Ec => "Exempt based on article 151, section 1 (b) of Council Directive 2006/112/EC ",
290 VATEX::ExemptBasedOnArticle151Section1CCouncilDirective2006112Ec => "Exempt based on article 151, section 1 (c) of Council Directive 2006/112/EC ",
291 VATEX::ExemptBasedOnArticle151Section1DCouncilDirective2006112Ec => "Exempt based on article 151, section 1 (d) of Council Directive 2006/112/EC ",
292 VATEX::ExemptBasedOnArticle151Section1ECouncilDirective2006112Ec => "Exempt based on article 151, section 1 (e) of Council Directive 2006/112/EC ",
293 VATEX::ExemptBasedOnArticle159CouncilDirective2006112Ec => "Exempt based on article 159 of Council Directive 2006/112/EC",
294 VATEX::ExemptBasedOnArticle309CouncilDirective2006112Ec => "Exempt based on article 309 of Council Directive 2006/112/EC ",
295 VATEX::ReverseCharge => "Reverse charge",
296 VATEX::TravelAgentsVatScheme => "Travel agents VAT scheme.",
297 VATEX::SecondHandGoodsVatScheme => "Second hand goods VAT scheme.",
298 VATEX::ExportOutsideEu => "Export outside the EU",
299 VATEX::WorksArtVatScheme => "Works of art VAT scheme.",
300 VATEX::IntraCommunitySupply => "Intra-community supply",
301 VATEX::CollectorsItemsAndAntiquesVatScheme => "Collectors items and antiques VAT scheme.",
302 VATEX::NotSubjectToVat => "Not subject to VAT",
303 VATEX::FranceDomesticVatFranchiseInBase => "France domestic VAT franchise in base",
304 VATEX::FranceDomesticCreditNotesWithoutVatDueToSupplierForfeitVatForDiscount => "France domestic Credit Notes without VAT, due to supplier forfeit of VAT for discount",
305 }
306 }
307}
308
309impl crate::FromCode for VATEX {
310 fn from_code(code: &str) -> Option<Self>
311 where
312 Self: Sized,
313 {
314 match code {
315 "VATEX-EU-79-C" => Some(VATEX::ExemptBasedOnArticle79PointCCouncilDirective2006112Ec),
316 "VATEX-EU-132" => Some(VATEX::ExemptBasedOnArticle132CouncilDirective2006112Ec),
317 "VATEX-EU-132-1A" => {
318 Some(VATEX::ExemptBasedOnArticle132Section1ACouncilDirective2006112Ec)
319 }
320 "VATEX-EU-132-1B" => {
321 Some(VATEX::ExemptBasedOnArticle132Section1BCouncilDirective2006112Ec)
322 }
323 "VATEX-EU-132-1C" => {
324 Some(VATEX::ExemptBasedOnArticle132Section1CCouncilDirective2006112Ec)
325 }
326 "VATEX-EU-132-1D" => {
327 Some(VATEX::ExemptBasedOnArticle132Section1DCouncilDirective2006112Ec)
328 }
329 "VATEX-EU-132-1E" => {
330 Some(VATEX::ExemptBasedOnArticle132Section1ECouncilDirective2006112Ec)
331 }
332 "VATEX-EU-132-1F" => {
333 Some(VATEX::ExemptBasedOnArticle132Section1FCouncilDirective2006112Ec)
334 }
335 "VATEX-EU-132-1G" => {
336 Some(VATEX::ExemptBasedOnArticle132Section1GCouncilDirective2006112Ec)
337 }
338 "VATEX-EU-132-1H" => {
339 Some(VATEX::ExemptBasedOnArticle132Section1HCouncilDirective2006112Ec)
340 }
341 "VATEX-EU-132-1I" => {
342 Some(VATEX::ExemptBasedOnArticle132Section1ICouncilDirective2006112Ec)
343 }
344 "VATEX-EU-132-1J" => {
345 Some(VATEX::ExemptBasedOnArticle132Section1JCouncilDirective2006112Ec)
346 }
347 "VATEX-EU-132-1K" => {
348 Some(VATEX::ExemptBasedOnArticle132Section1KCouncilDirective2006112Ec)
349 }
350 "VATEX-EU-132-1L" => {
351 Some(VATEX::ExemptBasedOnArticle132Section1LCouncilDirective2006112Ec)
352 }
353 "VATEX-EU-132-1M" => {
354 Some(VATEX::ExemptBasedOnArticle132Section1MCouncilDirective2006112Ec)
355 }
356 "VATEX-EU-132-1N" => {
357 Some(VATEX::ExemptBasedOnArticle132Section1NCouncilDirective2006112Ec)
358 }
359 "VATEX-EU-132-1O" => {
360 Some(VATEX::ExemptBasedOnArticle132Section1OCouncilDirective2006112Ec)
361 }
362 "VATEX-EU-132-1P" => {
363 Some(VATEX::ExemptBasedOnArticle132Section1PCouncilDirective2006112Ec)
364 }
365 "VATEX-EU-132-1Q" => {
366 Some(VATEX::ExemptBasedOnArticle132Section1QCouncilDirective2006112Ec)
367 }
368 "VATEX-EU-143" => Some(VATEX::ExemptBasedOnArticle143CouncilDirective2006112Ec),
369 "VATEX-EU-143-1A" => {
370 Some(VATEX::ExemptBasedOnArticle143Section1ACouncilDirective2006112Ec)
371 }
372 "VATEX-EU-143-1B" => {
373 Some(VATEX::ExemptBasedOnArticle143Section1BCouncilDirective2006112Ec)
374 }
375 "VATEX-EU-143-1C" => {
376 Some(VATEX::ExemptBasedOnArticle143Section1CCouncilDirective2006112Ec)
377 }
378 "VATEX-EU-143-1D" => {
379 Some(VATEX::ExemptBasedOnArticle143Section1DCouncilDirective2006112Ec)
380 }
381 "VATEX-EU-143-1E" => {
382 Some(VATEX::ExemptBasedOnArticle143Section1ECouncilDirective2006112Ec)
383 }
384 "VATEX-EU-143-1F" => {
385 Some(VATEX::ExemptBasedOnArticle143Section1FCouncilDirective2006112Ec)
386 }
387 "VATEX-EU-143-1FA" => {
388 Some(VATEX::ExemptBasedOnArticle143Section1FaCouncilDirective2006112Ec)
389 }
390 "VATEX-EU-143-1G" => {
391 Some(VATEX::ExemptBasedOnArticle143Section1GCouncilDirective2006112Ec)
392 }
393 "VATEX-EU-143-1H" => {
394 Some(VATEX::ExemptBasedOnArticle143Section1HCouncilDirective2006112Ec)
395 }
396 "VATEX-EU-143-1I" => {
397 Some(VATEX::ExemptBasedOnArticle143Section1ICouncilDirective2006112Ec)
398 }
399 "VATEX-EU-143-1J" => {
400 Some(VATEX::ExemptBasedOnArticle143Section1JCouncilDirective2006112Ec)
401 }
402 "VATEX-EU-143-1K" => {
403 Some(VATEX::ExemptBasedOnArticle143Section1KCouncilDirective2006112Ec)
404 }
405 "VATEX-EU-143-1L" => {
406 Some(VATEX::ExemptBasedOnArticle143Section1LCouncilDirective2006112Ec)
407 }
408 "VATEX-EU-144" => Some(VATEX::ExemptBasedOnArticle144CouncilDirective2006112Ec),
409 "VATEX-EU-146-1E" => {
410 Some(VATEX::ExemptBasedOnArticle146Section1ECouncilDirective2006112Ec)
411 }
412 "VATEX-EU-148" => Some(VATEX::ExemptBasedOnArticle148CouncilDirective2006112Ec),
413 "VATEX-EU-148-A" => {
414 Some(VATEX::ExemptBasedOnArticle148SectionACouncilDirective2006112Ec)
415 }
416 "VATEX-EU-148-B" => {
417 Some(VATEX::ExemptBasedOnArticle148SectionBCouncilDirective2006112Ec)
418 }
419 "VATEX-EU-148-C" => {
420 Some(VATEX::ExemptBasedOnArticle148SectionCCouncilDirective2006112Ec)
421 }
422 "VATEX-EU-148-D" => {
423 Some(VATEX::ExemptBasedOnArticle148SectionDCouncilDirective2006112Ec)
424 }
425 "VATEX-EU-148-E" => {
426 Some(VATEX::ExemptBasedOnArticle148SectionECouncilDirective2006112Ec)
427 }
428 "VATEX-EU-148-F" => {
429 Some(VATEX::ExemptBasedOnArticle148SectionFCouncilDirective2006112Ec)
430 }
431 "VATEX-EU-148-G" => {
432 Some(VATEX::ExemptBasedOnArticle148SectionGCouncilDirective2006112Ec)
433 }
434 "VATEX-EU-151" => Some(VATEX::ExemptBasedOnArticle151CouncilDirective2006112Ec),
435 "VATEX-EU-151-1A" => {
436 Some(VATEX::ExemptBasedOnArticle151Section1ACouncilDirective2006112Ec)
437 }
438 "VATEX-EU-151-1AA" => {
439 Some(VATEX::ExemptBasedOnArticle151Section1AaCouncilDirective2006112Ec)
440 }
441 "VATEX-EU-151-1B" => {
442 Some(VATEX::ExemptBasedOnArticle151Section1BCouncilDirective2006112Ec)
443 }
444 "VATEX-EU-151-1C" => {
445 Some(VATEX::ExemptBasedOnArticle151Section1CCouncilDirective2006112Ec)
446 }
447 "VATEX-EU-151-1D" => {
448 Some(VATEX::ExemptBasedOnArticle151Section1DCouncilDirective2006112Ec)
449 }
450 "VATEX-EU-151-1E" => {
451 Some(VATEX::ExemptBasedOnArticle151Section1ECouncilDirective2006112Ec)
452 }
453 "VATEX-EU-159" => Some(VATEX::ExemptBasedOnArticle159CouncilDirective2006112Ec),
454 "VATEX-EU-309" => Some(VATEX::ExemptBasedOnArticle309CouncilDirective2006112Ec),
455 "VATEX-EU-AE" => Some(VATEX::ReverseCharge),
456 "VATEX-EU-D" => Some(VATEX::TravelAgentsVatScheme),
457 "VATEX-EU-F" => Some(VATEX::SecondHandGoodsVatScheme),
458 "VATEX-EU-G" => Some(VATEX::ExportOutsideEu),
459 "VATEX-EU-I" => Some(VATEX::WorksArtVatScheme),
460 "VATEX-EU-IC" => Some(VATEX::IntraCommunitySupply),
461 "VATEX-EU-J" => Some(VATEX::CollectorsItemsAndAntiquesVatScheme),
462 "VATEX-EU-O" => Some(VATEX::NotSubjectToVat),
463 "VATEX-FR-FRANCHISE" => Some(VATEX::FranceDomesticVatFranchiseInBase),
464 "VATEX-FR-CNWVAT" => {
465 Some(VATEX::FranceDomesticCreditNotesWithoutVatDueToSupplierForfeitVatForDiscount)
466 }
467 _ => None,
468 }
469 }
470}