1#![allow(non_camel_case_types)]
2
3#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy, Hash)]
4pub enum VATCAT {
5 PetroleumTax,
9 ProvisionalCountervailingDutyCash,
13 ProvisionalCountervailingDutyBond,
17 TobaccoTax,
21 EnergyFee,
25 CoffeeTax,
29 HarmonisedSalesTaxCanadian,
33 QuebecSalesTax,
37 CanadianProvincialSalesTax,
41 TaxOnReplacementPart,
45 MineralOilTax,
49 SpecialTax,
53 InsuranceTax,
57 ProvincialCannabisTax,
61 OutstandingDutyInterest,
65 AntiDumpingDuty,
69 StampDutyImpostaDiBollo,
73 AgriculturalLevy,
77 CarTax,
81 PaperConsortiumTaxItaly,
85 CommoditySpecificTax,
89 CustomsDuty,
93 CountervailingDuty,
97 EnvironmentalTax,
101 ExciseDuty,
105 AgriculturalExportRebate,
109 FederalExciseTax,
113 Free,
117 GeneralConstructionTax,
121 GoodsAndServicesTax,
125 IlluminantsTax,
129 ImportTax,
133 IndividualTax,
137 BusinessLicenseFee,
141 LocalConstructionTax,
145 LightDuesPayable,
149 LocalSalesTax,
153 LustTax,
157 MonetaryCompensatoryAmount,
161 MiscellaneousCashDeposit,
165 OtherTaxes,
169 ProvisionalDutyBond,
173 ProvisionalDutyCash,
177 PreferenceDuty,
181 SpecialConstructionTax,
185 ShiftedSocialSecurities,
189 StateProvincialSalesTax,
193 SuspendedDuty,
197 Surtax,
201 ShiftedWageTax,
205 AlcoholMarkTax,
209 Total,
213 TurnoverTax,
217 TonnageTaxes,
221 ValuationDeposit,
225 ValueAddedTax,
229}
230
231impl crate::Code for VATCAT {
232 fn code(&self) -> &str {
233 match self {
234 VATCAT::PetroleumTax => "AAA",
235 VATCAT::ProvisionalCountervailingDutyCash => "AAB",
236 VATCAT::ProvisionalCountervailingDutyBond => "AAC",
237 VATCAT::TobaccoTax => "AAD",
238 VATCAT::EnergyFee => "AAE",
239 VATCAT::CoffeeTax => "AAF",
240 VATCAT::HarmonisedSalesTaxCanadian => "AAG",
241 VATCAT::QuebecSalesTax => "AAH",
242 VATCAT::CanadianProvincialSalesTax => "AAI",
243 VATCAT::TaxOnReplacementPart => "AAJ",
244 VATCAT::MineralOilTax => "AAK",
245 VATCAT::SpecialTax => "AAL",
246 VATCAT::InsuranceTax => "AAM",
247 VATCAT::ProvincialCannabisTax => "AAO",
248 VATCAT::OutstandingDutyInterest => "AAP",
249 VATCAT::AntiDumpingDuty => "ADD",
250 VATCAT::StampDutyImpostaDiBollo => "BOL",
251 VATCAT::AgriculturalLevy => "CAP",
252 VATCAT::CarTax => "CAR",
253 VATCAT::PaperConsortiumTaxItaly => "COC",
254 VATCAT::CommoditySpecificTax => "CST",
255 VATCAT::CustomsDuty => "CUD",
256 VATCAT::CountervailingDuty => "CVD",
257 VATCAT::EnvironmentalTax => "ENV",
258 VATCAT::ExciseDuty => "EXC",
259 VATCAT::AgriculturalExportRebate => "EXP",
260 VATCAT::FederalExciseTax => "FET",
261 VATCAT::Free => "FRE",
262 VATCAT::GeneralConstructionTax => "GCN",
263 VATCAT::GoodsAndServicesTax => "GST",
264 VATCAT::IlluminantsTax => "ILL",
265 VATCAT::ImportTax => "IMP",
266 VATCAT::IndividualTax => "IND",
267 VATCAT::BusinessLicenseFee => "LAC",
268 VATCAT::LocalConstructionTax => "LCN",
269 VATCAT::LightDuesPayable => "LDP",
270 VATCAT::LocalSalesTax => "LOC",
271 VATCAT::LustTax => "LST",
272 VATCAT::MonetaryCompensatoryAmount => "MCA",
273 VATCAT::MiscellaneousCashDeposit => "MCD",
274 VATCAT::OtherTaxes => "OTH",
275 VATCAT::ProvisionalDutyBond => "PDB",
276 VATCAT::ProvisionalDutyCash => "PDC",
277 VATCAT::PreferenceDuty => "PRF",
278 VATCAT::SpecialConstructionTax => "SCN",
279 VATCAT::ShiftedSocialSecurities => "SSS",
280 VATCAT::StateProvincialSalesTax => "STT",
281 VATCAT::SuspendedDuty => "SUP",
282 VATCAT::Surtax => "SUR",
283 VATCAT::ShiftedWageTax => "SWT",
284 VATCAT::AlcoholMarkTax => "TAC",
285 VATCAT::Total => "TOT",
286 VATCAT::TurnoverTax => "TOX",
287 VATCAT::TonnageTaxes => "TTA",
288 VATCAT::ValuationDeposit => "VAD",
289 VATCAT::ValueAddedTax => "VAT",
290 }
291 }
292}
293
294impl crate::Description for VATCAT {
295 fn description(&self) -> &str {
296 match self {
297 VATCAT::PetroleumTax => "Petroleum tax",
298 VATCAT::ProvisionalCountervailingDutyCash => "Provisional countervailing duty cash",
299 VATCAT::ProvisionalCountervailingDutyBond => "Provisional countervailing duty bond",
300 VATCAT::TobaccoTax => "Tobacco tax",
301 VATCAT::EnergyFee => "Energy fee",
302 VATCAT::CoffeeTax => "Coffee tax",
303 VATCAT::HarmonisedSalesTaxCanadian => "Harmonised sales tax, Canadian",
304 VATCAT::QuebecSalesTax => "Quebec sales tax",
305 VATCAT::CanadianProvincialSalesTax => "Canadian provincial sales tax",
306 VATCAT::TaxOnReplacementPart => "Tax on replacement part",
307 VATCAT::MineralOilTax => "Mineral oil tax",
308 VATCAT::SpecialTax => "Special tax",
309 VATCAT::InsuranceTax => "Insurance tax",
310 VATCAT::ProvincialCannabisTax => "Provincial Cannabis Tax",
311 VATCAT::OutstandingDutyInterest => "Outstanding duty interest",
312 VATCAT::AntiDumpingDuty => "Anti-dumping duty",
313 VATCAT::StampDutyImpostaDiBollo => "Stamp duty (Imposta di Bollo)",
314 VATCAT::AgriculturalLevy => "Agricultural levy",
315 VATCAT::CarTax => "Car tax",
316 VATCAT::PaperConsortiumTaxItaly => "Paper consortium tax (Italy)",
317 VATCAT::CommoditySpecificTax => "Commodity specific tax",
318 VATCAT::CustomsDuty => "Customs duty",
319 VATCAT::CountervailingDuty => "Countervailing duty",
320 VATCAT::EnvironmentalTax => "Environmental tax",
321 VATCAT::ExciseDuty => "Excise duty",
322 VATCAT::AgriculturalExportRebate => "Agricultural export rebate",
323 VATCAT::FederalExciseTax => "Federal excise tax",
324 VATCAT::Free => "Free",
325 VATCAT::GeneralConstructionTax => "General construction tax",
326 VATCAT::GoodsAndServicesTax => "Goods and services tax",
327 VATCAT::IlluminantsTax => "Illuminants tax",
328 VATCAT::ImportTax => "Import tax",
329 VATCAT::IndividualTax => "Individual tax",
330 VATCAT::BusinessLicenseFee => "Business license fee",
331 VATCAT::LocalConstructionTax => "Local construction tax",
332 VATCAT::LightDuesPayable => "Light dues payable",
333 VATCAT::LocalSalesTax => "Local sales tax",
334 VATCAT::LustTax => "Lust tax",
335 VATCAT::MonetaryCompensatoryAmount => "Monetary compensatory amount",
336 VATCAT::MiscellaneousCashDeposit => "Miscellaneous cash deposit",
337 VATCAT::OtherTaxes => "Other taxes",
338 VATCAT::ProvisionalDutyBond => "Provisional duty bond",
339 VATCAT::ProvisionalDutyCash => "Provisional duty cash",
340 VATCAT::PreferenceDuty => "Preference duty",
341 VATCAT::SpecialConstructionTax => "Special construction tax",
342 VATCAT::ShiftedSocialSecurities => "Shifted social securities",
343 VATCAT::StateProvincialSalesTax => "State/provincial sales tax",
344 VATCAT::SuspendedDuty => "Suspended duty",
345 VATCAT::Surtax => "Surtax",
346 VATCAT::ShiftedWageTax => "Shifted wage tax",
347 VATCAT::AlcoholMarkTax => "Alcohol mark tax",
348 VATCAT::Total => "Total",
349 VATCAT::TurnoverTax => "Turnover tax",
350 VATCAT::TonnageTaxes => "Tonnage taxes",
351 VATCAT::ValuationDeposit => "Valuation deposit",
352 VATCAT::ValueAddedTax => "Value added tax",
353 }
354 }
355}
356
357impl crate::FromCode for VATCAT {
358 fn from_code(code: &str) -> Option<Self>
359 where
360 Self: Sized,
361 {
362 match code {
363 "AAA" => Some(VATCAT::PetroleumTax),
364 "AAB" => Some(VATCAT::ProvisionalCountervailingDutyCash),
365 "AAC" => Some(VATCAT::ProvisionalCountervailingDutyBond),
366 "AAD" => Some(VATCAT::TobaccoTax),
367 "AAE" => Some(VATCAT::EnergyFee),
368 "AAF" => Some(VATCAT::CoffeeTax),
369 "AAG" => Some(VATCAT::HarmonisedSalesTaxCanadian),
370 "AAH" => Some(VATCAT::QuebecSalesTax),
371 "AAI" => Some(VATCAT::CanadianProvincialSalesTax),
372 "AAJ" => Some(VATCAT::TaxOnReplacementPart),
373 "AAK" => Some(VATCAT::MineralOilTax),
374 "AAL" => Some(VATCAT::SpecialTax),
375 "AAM" => Some(VATCAT::InsuranceTax),
376 "AAO" => Some(VATCAT::ProvincialCannabisTax),
377 "AAP" => Some(VATCAT::OutstandingDutyInterest),
378 "ADD" => Some(VATCAT::AntiDumpingDuty),
379 "BOL" => Some(VATCAT::StampDutyImpostaDiBollo),
380 "CAP" => Some(VATCAT::AgriculturalLevy),
381 "CAR" => Some(VATCAT::CarTax),
382 "COC" => Some(VATCAT::PaperConsortiumTaxItaly),
383 "CST" => Some(VATCAT::CommoditySpecificTax),
384 "CUD" => Some(VATCAT::CustomsDuty),
385 "CVD" => Some(VATCAT::CountervailingDuty),
386 "ENV" => Some(VATCAT::EnvironmentalTax),
387 "EXC" => Some(VATCAT::ExciseDuty),
388 "EXP" => Some(VATCAT::AgriculturalExportRebate),
389 "FET" => Some(VATCAT::FederalExciseTax),
390 "FRE" => Some(VATCAT::Free),
391 "GCN" => Some(VATCAT::GeneralConstructionTax),
392 "GST" => Some(VATCAT::GoodsAndServicesTax),
393 "ILL" => Some(VATCAT::IlluminantsTax),
394 "IMP" => Some(VATCAT::ImportTax),
395 "IND" => Some(VATCAT::IndividualTax),
396 "LAC" => Some(VATCAT::BusinessLicenseFee),
397 "LCN" => Some(VATCAT::LocalConstructionTax),
398 "LDP" => Some(VATCAT::LightDuesPayable),
399 "LOC" => Some(VATCAT::LocalSalesTax),
400 "LST" => Some(VATCAT::LustTax),
401 "MCA" => Some(VATCAT::MonetaryCompensatoryAmount),
402 "MCD" => Some(VATCAT::MiscellaneousCashDeposit),
403 "OTH" => Some(VATCAT::OtherTaxes),
404 "PDB" => Some(VATCAT::ProvisionalDutyBond),
405 "PDC" => Some(VATCAT::ProvisionalDutyCash),
406 "PRF" => Some(VATCAT::PreferenceDuty),
407 "SCN" => Some(VATCAT::SpecialConstructionTax),
408 "SSS" => Some(VATCAT::ShiftedSocialSecurities),
409 "STT" => Some(VATCAT::StateProvincialSalesTax),
410 "SUP" => Some(VATCAT::SuspendedDuty),
411 "SUR" => Some(VATCAT::Surtax),
412 "SWT" => Some(VATCAT::ShiftedWageTax),
413 "TAC" => Some(VATCAT::AlcoholMarkTax),
414 "TOT" => Some(VATCAT::Total),
415 "TOX" => Some(VATCAT::TurnoverTax),
416 "TTA" => Some(VATCAT::TonnageTaxes),
417 "VAD" => Some(VATCAT::ValuationDeposit),
418 "VAT" => Some(VATCAT::ValueAddedTax),
419 _ => None,
420 }
421 }
422}