zugferd_code_lists/zugferd_2_3_2/
vatex.rs

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