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 Charge {
7 Advertising,
9 Telecommunication,
11 TechnicalModification,
13 JobOrderProduction,
15 Outlays,
17 OffPremises,
19 AdditionalProcessing,
21 Attesting,
23 Acceptance,
25 RushDelivery,
27 SpecialConstruction,
29 AirportFacilities,
31 Concession,
33 CompulsoryStorage,
35 FuelRemoval,
37 IntoPlane,
39 Overtime,
41 Tooling,
43 Miscellaneous,
45 AdditionalPackaging,
47 Dunnage,
49 Containerisation,
51 CartonPacking,
53 HessianWrapped,
55 PolyethyleneWrapPacking,
57 MiscellaneousTreatment,
59 EnamellingTreatment,
61 HeatTreatment,
63 PlatingTreatment,
65 Painting,
67 Polishing,
69 Priming,
71 PreservationTreatment,
73 Fitting,
75 Consolidation,
77 BillLading,
79 Airbag,
81 Transfer,
83 Slipsheet,
85 Binding,
87 RepairOrReplacementBrokenReturnablePackage,
89 EfficientLogistics,
91 Merchandising,
93 ProductMix,
95 OtherServices,
97 PickUp,
99 ChronicIllness,
101 NewProductIntroduction,
103 DirectDelivery,
105 Diversion,
107 Disconnect,
109 Distribution,
111 HandlingHazardousCargo,
113 RentsAndLeases,
115 LocationDifferential,
117 AircraftRefueling,
119 FuelShippedIntoStorage,
121 CashOnDelivery,
123 SmallOrderProcessingService,
125 ClericalOrAdministrativeServices,
127 Guarantee,
129 CollectionAndRecycling,
131 CopyrightFeeCollection,
133 VeterinaryInspectionService,
135 PensionerService,
137 MedicineFreePassHolder,
139 EnvironmentalProtectionService,
141 EnvironmentalCleanUpService,
143 NationalChequeProcessingServiceOutsideAccountArea,
145 NationalPaymentServiceOutsideAccountArea,
147 NationalPaymentServiceWithinAccountArea,
149 Adjustments,
151 Authentication,
153 Cataloguing,
155 Cartage,
157 Certification,
159 CertificateConformance,
161 CertificateOrigin,
163 Cutting,
165 ConsularService,
167 CustomerCollection,
169 PayrollPaymentService,
171 CashTransportation,
173 HomeBankingService,
175 BilateralAgreementService,
177 InsuranceBrokerageService,
179 ChequeGeneration,
181 PreferentialMerchandisingLocation,
183 Crane,
185 SpecialColourService,
187 Sorting,
189 BatteryCollectionAndRecycling,
191 ProductTakeBackFee,
193 QualityControlReleased,
195 QualityControlHeld,
197 QualityControlEmbargo,
199 CarLoading,
201 Cleaning,
203 CigaretteStamping,
205 CountAndRecount,
207 LayoutDesign,
209 AssortmentAllowance,
211 DriverAssignedUnloading,
213 DebtorBound,
215 DealerAllowance,
217 AllowanceTransferableToConsumer,
219 GrowthBusiness,
221 IntroductionAllowance,
223 MultiBuyPromotion,
225 Partnership,
227 ReturnHandling,
229 MinimumOrderNotFulfilledCharge,
231 PointSalesThresholdAllowance,
233 WholesalingDiscount,
235 DocumentaryCreditsTransferCommission,
237 Delivery,
239 Engraving,
241 Expediting,
243 ExchangeRateGuarantee,
245 Fabrication,
247 FreightEqualization,
249 FreightExtraordinaryHandling,
251 FreightService,
253 FillingHandling,
255 Financing,
257 Grinding,
259 Hose,
261 Handling,
263 HoistingAndHauling,
265 Installation,
267 InstallationAndWarranty,
269 InsideDelivery,
271 Inspection,
273 InstallationAndTraining,
275 Invoicing,
277 Koshering,
279 CarrierCount,
281 Labelling,
283 Labour,
285 RepairAndReturn,
287 Legalisation,
289 Mounting,
291 MailInvoice,
293 MailInvoiceToEachLocation,
295 NonReturnableContainers,
297 OutsideCableConnectors,
299 InvoiceWithShipment,
301 PhosphatizingSteelTreatment,
303 Packing,
305 Palletizing,
307 PriceVariation,
309 Repacking,
311 Repair,
313 ReturnableContainer,
315 Restocking,
317 ReDelivery,
319 Refurbishing,
321 RailWagonHire,
323 Loading,
325 Salvaging,
327 ShippingAndHandling,
329 SpecialPackaging,
331 Stamping,
333 ConsigneeUnload,
335 ShrinkWrap,
337 SpecialHandling,
339 SpecialFinish,
341 SetUp,
343 TankRenting,
345 Testing,
347 TransportationThirdPartyBilling,
349 TransportationByVendor,
351 DropYard,
353 DropDock,
355 Warehousing,
357 CombineAllSameDayShipment,
359 SplitPickUp,
361 MutuallyDefined,
363}
364
365impl std::fmt::Display for Charge {
366 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
367 write!(f, "{}", <Self as crate::Code>::code(*self))
368 }
369}
370
371impl std::str::FromStr for Charge {
372 type Err = ();
373 fn from_str(s: &str) -> Result<Self, Self::Err> {
374 <Self as crate::FromCode>::from_code(s).ok_or(())
375 }
376}
377
378impl crate::Code for Charge {
379 fn code(self) -> &'static str {
380 match self {
381 Charge::Advertising => "AA",
382 Charge::Telecommunication => "AAA",
383 Charge::TechnicalModification => "AAC",
384 Charge::JobOrderProduction => "AAD",
385 Charge::Outlays => "AAE",
386 Charge::OffPremises => "AAF",
387 Charge::AdditionalProcessing => "AAH",
388 Charge::Attesting => "AAI",
389 Charge::Acceptance => "AAS",
390 Charge::RushDelivery => "AAT",
391 Charge::SpecialConstruction => "AAV",
392 Charge::AirportFacilities => "AAY",
393 Charge::Concession => "AAZ",
394 Charge::CompulsoryStorage => "ABA",
395 Charge::FuelRemoval => "ABB",
396 Charge::IntoPlane => "ABC",
397 Charge::Overtime => "ABD",
398 Charge::Tooling => "ABF",
399 Charge::Miscellaneous => "ABK",
400 Charge::AdditionalPackaging => "ABL",
401 Charge::Dunnage => "ABN",
402 Charge::Containerisation => "ABR",
403 Charge::CartonPacking => "ABS",
404 Charge::HessianWrapped => "ABT",
405 Charge::PolyethyleneWrapPacking => "ABU",
406 Charge::MiscellaneousTreatment => "ACF",
407 Charge::EnamellingTreatment => "ACG",
408 Charge::HeatTreatment => "ACH",
409 Charge::PlatingTreatment => "ACI",
410 Charge::Painting => "ACJ",
411 Charge::Polishing => "ACK",
412 Charge::Priming => "ACL",
413 Charge::PreservationTreatment => "ACM",
414 Charge::Fitting => "ACS",
415 Charge::Consolidation => "ADC",
416 Charge::BillLading => "ADE",
417 Charge::Airbag => "ADJ",
418 Charge::Transfer => "ADK",
419 Charge::Slipsheet => "ADL",
420 Charge::Binding => "ADM",
421 Charge::RepairOrReplacementBrokenReturnablePackage => "ADN",
422 Charge::EfficientLogistics => "ADO",
423 Charge::Merchandising => "ADP",
424 Charge::ProductMix => "ADQ",
425 Charge::OtherServices => "ADR",
426 Charge::PickUp => "ADT",
427 Charge::ChronicIllness => "ADW",
428 Charge::NewProductIntroduction => "ADY",
429 Charge::DirectDelivery => "ADZ",
430 Charge::Diversion => "AEA",
431 Charge::Disconnect => "AEB",
432 Charge::Distribution => "AEC",
433 Charge::HandlingHazardousCargo => "AED",
434 Charge::RentsAndLeases => "AEF",
435 Charge::LocationDifferential => "AEH",
436 Charge::AircraftRefueling => "AEI",
437 Charge::FuelShippedIntoStorage => "AEJ",
438 Charge::CashOnDelivery => "AEK",
439 Charge::SmallOrderProcessingService => "AEL",
440 Charge::ClericalOrAdministrativeServices => "AEM",
441 Charge::Guarantee => "AEN",
442 Charge::CollectionAndRecycling => "AEO",
443 Charge::CopyrightFeeCollection => "AEP",
444 Charge::VeterinaryInspectionService => "AES",
445 Charge::PensionerService => "AET",
446 Charge::MedicineFreePassHolder => "AEU",
447 Charge::EnvironmentalProtectionService => "AEV",
448 Charge::EnvironmentalCleanUpService => "AEW",
449 Charge::NationalChequeProcessingServiceOutsideAccountArea => "AEX",
450 Charge::NationalPaymentServiceOutsideAccountArea => "AEY",
451 Charge::NationalPaymentServiceWithinAccountArea => "AEZ",
452 Charge::Adjustments => "AJ",
453 Charge::Authentication => "AU",
454 Charge::Cataloguing => "CA",
455 Charge::Cartage => "CAB",
456 Charge::Certification => "CAD",
457 Charge::CertificateConformance => "CAE",
458 Charge::CertificateOrigin => "CAF",
459 Charge::Cutting => "CAI",
460 Charge::ConsularService => "CAJ",
461 Charge::CustomerCollection => "CAK",
462 Charge::PayrollPaymentService => "CAL",
463 Charge::CashTransportation => "CAM",
464 Charge::HomeBankingService => "CAN",
465 Charge::BilateralAgreementService => "CAO",
466 Charge::InsuranceBrokerageService => "CAP",
467 Charge::ChequeGeneration => "CAQ",
468 Charge::PreferentialMerchandisingLocation => "CAR",
469 Charge::Crane => "CAS",
470 Charge::SpecialColourService => "CAT",
471 Charge::Sorting => "CAU",
472 Charge::BatteryCollectionAndRecycling => "CAV",
473 Charge::ProductTakeBackFee => "CAW",
474 Charge::QualityControlReleased => "CAX",
475 Charge::QualityControlHeld => "CAY",
476 Charge::QualityControlEmbargo => "CAZ",
477 Charge::CarLoading => "CD",
478 Charge::Cleaning => "CG",
479 Charge::CigaretteStamping => "CS",
480 Charge::CountAndRecount => "CT",
481 Charge::LayoutDesign => "DAB",
482 Charge::AssortmentAllowance => "DAC",
483 Charge::DriverAssignedUnloading => "DAD",
484 Charge::DebtorBound => "DAF",
485 Charge::DealerAllowance => "DAG",
486 Charge::AllowanceTransferableToConsumer => "DAH",
487 Charge::GrowthBusiness => "DAI",
488 Charge::IntroductionAllowance => "DAJ",
489 Charge::MultiBuyPromotion => "DAK",
490 Charge::Partnership => "DAL",
491 Charge::ReturnHandling => "DAM",
492 Charge::MinimumOrderNotFulfilledCharge => "DAN",
493 Charge::PointSalesThresholdAllowance => "DAO",
494 Charge::WholesalingDiscount => "DAP",
495 Charge::DocumentaryCreditsTransferCommission => "DAQ",
496 Charge::Delivery => "DL",
497 Charge::Engraving => "EG",
498 Charge::Expediting => "EP",
499 Charge::ExchangeRateGuarantee => "ER",
500 Charge::Fabrication => "FAA",
501 Charge::FreightEqualization => "FAB",
502 Charge::FreightExtraordinaryHandling => "FAC",
503 Charge::FreightService => "FC",
504 Charge::FillingHandling => "FH",
505 Charge::Financing => "FI",
506 Charge::Grinding => "GAA",
507 Charge::Hose => "HAA",
508 Charge::Handling => "HD",
509 Charge::HoistingAndHauling => "HH",
510 Charge::Installation => "IAA",
511 Charge::InstallationAndWarranty => "IAB",
512 Charge::InsideDelivery => "ID",
513 Charge::Inspection => "IF",
514 Charge::InstallationAndTraining => "IR",
515 Charge::Invoicing => "IS",
516 Charge::Koshering => "KO",
517 Charge::CarrierCount => "L1",
518 Charge::Labelling => "LA",
519 Charge::Labour => "LAA",
520 Charge::RepairAndReturn => "LAB",
521 Charge::Legalisation => "LF",
522 Charge::Mounting => "MAE",
523 Charge::MailInvoice => "MI",
524 Charge::MailInvoiceToEachLocation => "ML",
525 Charge::NonReturnableContainers => "NAA",
526 Charge::OutsideCableConnectors => "OA",
527 Charge::InvoiceWithShipment => "PA",
528 Charge::PhosphatizingSteelTreatment => "PAA",
529 Charge::Packing => "PC",
530 Charge::Palletizing => "PL",
531 Charge::PriceVariation => "PRV",
532 Charge::Repacking => "RAB",
533 Charge::Repair => "RAC",
534 Charge::ReturnableContainer => "RAD",
535 Charge::Restocking => "RAF",
536 Charge::ReDelivery => "RE",
537 Charge::Refurbishing => "RF",
538 Charge::RailWagonHire => "RH",
539 Charge::Loading => "RV",
540 Charge::Salvaging => "SA",
541 Charge::ShippingAndHandling => "SAA",
542 Charge::SpecialPackaging => "SAD",
543 Charge::Stamping => "SAE",
544 Charge::ConsigneeUnload => "SAI",
545 Charge::ShrinkWrap => "SG",
546 Charge::SpecialHandling => "SH",
547 Charge::SpecialFinish => "SM",
548 Charge::SetUp => "SU",
549 Charge::TankRenting => "TAB",
550 Charge::Testing => "TAC",
551 Charge::TransportationThirdPartyBilling => "TT",
552 Charge::TransportationByVendor => "TV",
553 Charge::DropYard => "V1",
554 Charge::DropDock => "V2",
555 Charge::Warehousing => "WH",
556 Charge::CombineAllSameDayShipment => "XAA",
557 Charge::SplitPickUp => "YY",
558 Charge::MutuallyDefined => "ZZZ",
559 }
560 }
561}
562
563impl crate::Description for Charge {
564 fn description(self) -> &'static str {
565 match self {
566 Charge::Advertising => "Advertising",
567 Charge::Telecommunication => "Telecommunication",
568 Charge::TechnicalModification => "Technical modification",
569 Charge::JobOrderProduction => "Job-order production",
570 Charge::Outlays => "Outlays",
571 Charge::OffPremises => "Off-premises",
572 Charge::AdditionalProcessing => "Additional processing",
573 Charge::Attesting => "Attesting",
574 Charge::Acceptance => "Acceptance",
575 Charge::RushDelivery => "Rush delivery",
576 Charge::SpecialConstruction => "Special construction",
577 Charge::AirportFacilities => "Airport facilities",
578 Charge::Concession => "Concession",
579 Charge::CompulsoryStorage => "Compulsory storage",
580 Charge::FuelRemoval => "Fuel removal",
581 Charge::IntoPlane => "Into plane",
582 Charge::Overtime => "Overtime",
583 Charge::Tooling => "Tooling",
584 Charge::Miscellaneous => "Miscellaneous",
585 Charge::AdditionalPackaging => "Additional packaging",
586 Charge::Dunnage => "Dunnage",
587 Charge::Containerisation => "Containerisation",
588 Charge::CartonPacking => "Carton packing",
589 Charge::HessianWrapped => "Hessian wrapped",
590 Charge::PolyethyleneWrapPacking => "Polyethylene wrap packing",
591 Charge::MiscellaneousTreatment => "Miscellaneous treatment",
592 Charge::EnamellingTreatment => "Enamelling treatment",
593 Charge::HeatTreatment => "Heat treatment",
594 Charge::PlatingTreatment => "Plating treatment",
595 Charge::Painting => "Painting",
596 Charge::Polishing => "Polishing",
597 Charge::Priming => "Priming",
598 Charge::PreservationTreatment => "Preservation treatment",
599 Charge::Fitting => "Fitting",
600 Charge::Consolidation => "Consolidation",
601 Charge::BillLading => "Bill of lading",
602 Charge::Airbag => "Airbag",
603 Charge::Transfer => "Transfer",
604 Charge::Slipsheet => "Slipsheet",
605 Charge::Binding => "Binding",
606 Charge::RepairOrReplacementBrokenReturnablePackage => {
607 "Repair or replacement of broken returnable package"
608 }
609 Charge::EfficientLogistics => "Efficient logistics",
610 Charge::Merchandising => "Merchandising",
611 Charge::ProductMix => "Product mix",
612 Charge::OtherServices => "Other services",
613 Charge::PickUp => "Pick-up",
614 Charge::ChronicIllness => "Chronic illness",
615 Charge::NewProductIntroduction => "New product introduction",
616 Charge::DirectDelivery => "Direct delivery",
617 Charge::Diversion => "Diversion",
618 Charge::Disconnect => "Disconnect",
619 Charge::Distribution => "Distribution",
620 Charge::HandlingHazardousCargo => "Handling of hazardous cargo",
621 Charge::RentsAndLeases => "Rents and leases",
622 Charge::LocationDifferential => "Location differential",
623 Charge::AircraftRefueling => "Aircraft refueling",
624 Charge::FuelShippedIntoStorage => "Fuel shipped into storage",
625 Charge::CashOnDelivery => "Cash on delivery",
626 Charge::SmallOrderProcessingService => "Small order processing service",
627 Charge::ClericalOrAdministrativeServices => "Clerical or administrative services",
628 Charge::Guarantee => "Guarantee",
629 Charge::CollectionAndRecycling => "Collection and recycling",
630 Charge::CopyrightFeeCollection => "Copyright fee collection",
631 Charge::VeterinaryInspectionService => "Veterinary inspection service",
632 Charge::PensionerService => "Pensioner service",
633 Charge::MedicineFreePassHolder => "Medicine free pass holder",
634 Charge::EnvironmentalProtectionService => "Environmental protection service",
635 Charge::EnvironmentalCleanUpService => "Environmental clean-up service",
636 Charge::NationalChequeProcessingServiceOutsideAccountArea => {
637 "National cheque processing service outside account area"
638 }
639 Charge::NationalPaymentServiceOutsideAccountArea => {
640 "National payment service outside account area"
641 }
642 Charge::NationalPaymentServiceWithinAccountArea => {
643 "National payment service within account area"
644 }
645 Charge::Adjustments => "Adjustments",
646 Charge::Authentication => "Authentication",
647 Charge::Cataloguing => "Cataloguing",
648 Charge::Cartage => "Cartage",
649 Charge::Certification => "Certification",
650 Charge::CertificateConformance => "Certificate of conformance",
651 Charge::CertificateOrigin => "Certificate of origin",
652 Charge::Cutting => "Cutting",
653 Charge::ConsularService => "Consular service",
654 Charge::CustomerCollection => "Customer collection",
655 Charge::PayrollPaymentService => "Payroll payment service",
656 Charge::CashTransportation => "Cash transportation",
657 Charge::HomeBankingService => "Home banking service",
658 Charge::BilateralAgreementService => "Bilateral agreement service",
659 Charge::InsuranceBrokerageService => "Insurance brokerage service",
660 Charge::ChequeGeneration => "Cheque generation",
661 Charge::PreferentialMerchandisingLocation => "Preferential merchandising location",
662 Charge::Crane => "Crane",
663 Charge::SpecialColourService => "Special colour service",
664 Charge::Sorting => "Sorting",
665 Charge::BatteryCollectionAndRecycling => "Battery collection and recycling",
666 Charge::ProductTakeBackFee => "Product take back fee",
667 Charge::QualityControlReleased => "Quality control released",
668 Charge::QualityControlHeld => "Quality control held",
669 Charge::QualityControlEmbargo => "Quality control embargo",
670 Charge::CarLoading => "Car loading",
671 Charge::Cleaning => "Cleaning",
672 Charge::CigaretteStamping => "Cigarette stamping",
673 Charge::CountAndRecount => "Count and recount",
674 Charge::LayoutDesign => "Layout/design",
675 Charge::AssortmentAllowance => "Assortment allowance",
676 Charge::DriverAssignedUnloading => "Driver assigned unloading",
677 Charge::DebtorBound => "Debtor bound",
678 Charge::DealerAllowance => "Dealer allowance",
679 Charge::AllowanceTransferableToConsumer => "Allowance transferable to the consumer",
680 Charge::GrowthBusiness => "Growth of business",
681 Charge::IntroductionAllowance => "Introduction allowance",
682 Charge::MultiBuyPromotion => "Multi-buy promotion",
683 Charge::Partnership => "Partnership",
684 Charge::ReturnHandling => "Return handling",
685 Charge::MinimumOrderNotFulfilledCharge => "Minimum order not fulfilled charge",
686 Charge::PointSalesThresholdAllowance => "Point of sales threshold allowance",
687 Charge::WholesalingDiscount => "Wholesaling discount",
688 Charge::DocumentaryCreditsTransferCommission => {
689 "Documentary credits transfer commission"
690 }
691 Charge::Delivery => "Delivery",
692 Charge::Engraving => "Engraving",
693 Charge::Expediting => "Expediting",
694 Charge::ExchangeRateGuarantee => "Exchange rate guarantee",
695 Charge::Fabrication => "Fabrication",
696 Charge::FreightEqualization => "Freight equalization",
697 Charge::FreightExtraordinaryHandling => "Freight extraordinary handling",
698 Charge::FreightService => "Freight service",
699 Charge::FillingHandling => "Filling/handling",
700 Charge::Financing => "Financing",
701 Charge::Grinding => "Grinding",
702 Charge::Hose => "Hose",
703 Charge::Handling => "Handling",
704 Charge::HoistingAndHauling => "Hoisting and hauling",
705 Charge::Installation => "Installation",
706 Charge::InstallationAndWarranty => "Installation and warranty",
707 Charge::InsideDelivery => "Inside delivery",
708 Charge::Inspection => "Inspection",
709 Charge::InstallationAndTraining => "Installation and training",
710 Charge::Invoicing => "Invoicing",
711 Charge::Koshering => "Koshering",
712 Charge::CarrierCount => "Carrier count",
713 Charge::Labelling => "Labelling",
714 Charge::Labour => "Labour",
715 Charge::RepairAndReturn => "Repair and return",
716 Charge::Legalisation => "Legalisation",
717 Charge::Mounting => "Mounting",
718 Charge::MailInvoice => "Mail invoice",
719 Charge::MailInvoiceToEachLocation => "Mail invoice to each location",
720 Charge::NonReturnableContainers => "Non-returnable containers",
721 Charge::OutsideCableConnectors => "Outside cable connectors",
722 Charge::InvoiceWithShipment => "Invoice with shipment",
723 Charge::PhosphatizingSteelTreatment => "Phosphatizing (steel treatment)",
724 Charge::Packing => "Packing",
725 Charge::Palletizing => "Palletizing",
726 Charge::PriceVariation => "Price variation",
727 Charge::Repacking => "Repacking",
728 Charge::Repair => "Repair",
729 Charge::ReturnableContainer => "Returnable container",
730 Charge::Restocking => "Restocking",
731 Charge::ReDelivery => "Re-delivery",
732 Charge::Refurbishing => "Refurbishing",
733 Charge::RailWagonHire => "Rail wagon hire",
734 Charge::Loading => "Loading",
735 Charge::Salvaging => "Salvaging",
736 Charge::ShippingAndHandling => "Shipping and handling",
737 Charge::SpecialPackaging => "Special packaging",
738 Charge::Stamping => "Stamping",
739 Charge::ConsigneeUnload => "Consignee unload",
740 Charge::ShrinkWrap => "Shrink-wrap",
741 Charge::SpecialHandling => "Special handling",
742 Charge::SpecialFinish => "Special finish",
743 Charge::SetUp => "Set-up",
744 Charge::TankRenting => "Tank renting",
745 Charge::Testing => "Testing",
746 Charge::TransportationThirdPartyBilling => "Transportation - third party billing",
747 Charge::TransportationByVendor => "Transportation by vendor",
748 Charge::DropYard => "Drop yard",
749 Charge::DropDock => "Drop dock",
750 Charge::Warehousing => "Warehousing",
751 Charge::CombineAllSameDayShipment => "Combine all same day shipment",
752 Charge::SplitPickUp => "Split pick-up",
753 Charge::MutuallyDefined => "Mutually defined",
754 }
755 }
756}
757
758impl crate::FromCode for Charge {
759 fn from_code(code: &str) -> Option<Self>
760 where
761 Self: Sized,
762 {
763 match code {
764 "AA" => Some(Charge::Advertising),
765 "AAA" => Some(Charge::Telecommunication),
766 "AAC" => Some(Charge::TechnicalModification),
767 "AAD" => Some(Charge::JobOrderProduction),
768 "AAE" => Some(Charge::Outlays),
769 "AAF" => Some(Charge::OffPremises),
770 "AAH" => Some(Charge::AdditionalProcessing),
771 "AAI" => Some(Charge::Attesting),
772 "AAS" => Some(Charge::Acceptance),
773 "AAT" => Some(Charge::RushDelivery),
774 "AAV" => Some(Charge::SpecialConstruction),
775 "AAY" => Some(Charge::AirportFacilities),
776 "AAZ" => Some(Charge::Concession),
777 "ABA" => Some(Charge::CompulsoryStorage),
778 "ABB" => Some(Charge::FuelRemoval),
779 "ABC" => Some(Charge::IntoPlane),
780 "ABD" => Some(Charge::Overtime),
781 "ABF" => Some(Charge::Tooling),
782 "ABK" => Some(Charge::Miscellaneous),
783 "ABL" => Some(Charge::AdditionalPackaging),
784 "ABN" => Some(Charge::Dunnage),
785 "ABR" => Some(Charge::Containerisation),
786 "ABS" => Some(Charge::CartonPacking),
787 "ABT" => Some(Charge::HessianWrapped),
788 "ABU" => Some(Charge::PolyethyleneWrapPacking),
789 "ACF" => Some(Charge::MiscellaneousTreatment),
790 "ACG" => Some(Charge::EnamellingTreatment),
791 "ACH" => Some(Charge::HeatTreatment),
792 "ACI" => Some(Charge::PlatingTreatment),
793 "ACJ" => Some(Charge::Painting),
794 "ACK" => Some(Charge::Polishing),
795 "ACL" => Some(Charge::Priming),
796 "ACM" => Some(Charge::PreservationTreatment),
797 "ACS" => Some(Charge::Fitting),
798 "ADC" => Some(Charge::Consolidation),
799 "ADE" => Some(Charge::BillLading),
800 "ADJ" => Some(Charge::Airbag),
801 "ADK" => Some(Charge::Transfer),
802 "ADL" => Some(Charge::Slipsheet),
803 "ADM" => Some(Charge::Binding),
804 "ADN" => Some(Charge::RepairOrReplacementBrokenReturnablePackage),
805 "ADO" => Some(Charge::EfficientLogistics),
806 "ADP" => Some(Charge::Merchandising),
807 "ADQ" => Some(Charge::ProductMix),
808 "ADR" => Some(Charge::OtherServices),
809 "ADT" => Some(Charge::PickUp),
810 "ADW" => Some(Charge::ChronicIllness),
811 "ADY" => Some(Charge::NewProductIntroduction),
812 "ADZ" => Some(Charge::DirectDelivery),
813 "AEA" => Some(Charge::Diversion),
814 "AEB" => Some(Charge::Disconnect),
815 "AEC" => Some(Charge::Distribution),
816 "AED" => Some(Charge::HandlingHazardousCargo),
817 "AEF" => Some(Charge::RentsAndLeases),
818 "AEH" => Some(Charge::LocationDifferential),
819 "AEI" => Some(Charge::AircraftRefueling),
820 "AEJ" => Some(Charge::FuelShippedIntoStorage),
821 "AEK" => Some(Charge::CashOnDelivery),
822 "AEL" => Some(Charge::SmallOrderProcessingService),
823 "AEM" => Some(Charge::ClericalOrAdministrativeServices),
824 "AEN" => Some(Charge::Guarantee),
825 "AEO" => Some(Charge::CollectionAndRecycling),
826 "AEP" => Some(Charge::CopyrightFeeCollection),
827 "AES" => Some(Charge::VeterinaryInspectionService),
828 "AET" => Some(Charge::PensionerService),
829 "AEU" => Some(Charge::MedicineFreePassHolder),
830 "AEV" => Some(Charge::EnvironmentalProtectionService),
831 "AEW" => Some(Charge::EnvironmentalCleanUpService),
832 "AEX" => Some(Charge::NationalChequeProcessingServiceOutsideAccountArea),
833 "AEY" => Some(Charge::NationalPaymentServiceOutsideAccountArea),
834 "AEZ" => Some(Charge::NationalPaymentServiceWithinAccountArea),
835 "AJ" => Some(Charge::Adjustments),
836 "AU" => Some(Charge::Authentication),
837 "CA" => Some(Charge::Cataloguing),
838 "CAB" => Some(Charge::Cartage),
839 "CAD" => Some(Charge::Certification),
840 "CAE" => Some(Charge::CertificateConformance),
841 "CAF" => Some(Charge::CertificateOrigin),
842 "CAI" => Some(Charge::Cutting),
843 "CAJ" => Some(Charge::ConsularService),
844 "CAK" => Some(Charge::CustomerCollection),
845 "CAL" => Some(Charge::PayrollPaymentService),
846 "CAM" => Some(Charge::CashTransportation),
847 "CAN" => Some(Charge::HomeBankingService),
848 "CAO" => Some(Charge::BilateralAgreementService),
849 "CAP" => Some(Charge::InsuranceBrokerageService),
850 "CAQ" => Some(Charge::ChequeGeneration),
851 "CAR" => Some(Charge::PreferentialMerchandisingLocation),
852 "CAS" => Some(Charge::Crane),
853 "CAT" => Some(Charge::SpecialColourService),
854 "CAU" => Some(Charge::Sorting),
855 "CAV" => Some(Charge::BatteryCollectionAndRecycling),
856 "CAW" => Some(Charge::ProductTakeBackFee),
857 "CAX" => Some(Charge::QualityControlReleased),
858 "CAY" => Some(Charge::QualityControlHeld),
859 "CAZ" => Some(Charge::QualityControlEmbargo),
860 "CD" => Some(Charge::CarLoading),
861 "CG" => Some(Charge::Cleaning),
862 "CS" => Some(Charge::CigaretteStamping),
863 "CT" => Some(Charge::CountAndRecount),
864 "DAB" => Some(Charge::LayoutDesign),
865 "DAC" => Some(Charge::AssortmentAllowance),
866 "DAD" => Some(Charge::DriverAssignedUnloading),
867 "DAF" => Some(Charge::DebtorBound),
868 "DAG" => Some(Charge::DealerAllowance),
869 "DAH" => Some(Charge::AllowanceTransferableToConsumer),
870 "DAI" => Some(Charge::GrowthBusiness),
871 "DAJ" => Some(Charge::IntroductionAllowance),
872 "DAK" => Some(Charge::MultiBuyPromotion),
873 "DAL" => Some(Charge::Partnership),
874 "DAM" => Some(Charge::ReturnHandling),
875 "DAN" => Some(Charge::MinimumOrderNotFulfilledCharge),
876 "DAO" => Some(Charge::PointSalesThresholdAllowance),
877 "DAP" => Some(Charge::WholesalingDiscount),
878 "DAQ" => Some(Charge::DocumentaryCreditsTransferCommission),
879 "DL" => Some(Charge::Delivery),
880 "EG" => Some(Charge::Engraving),
881 "EP" => Some(Charge::Expediting),
882 "ER" => Some(Charge::ExchangeRateGuarantee),
883 "FAA" => Some(Charge::Fabrication),
884 "FAB" => Some(Charge::FreightEqualization),
885 "FAC" => Some(Charge::FreightExtraordinaryHandling),
886 "FC" => Some(Charge::FreightService),
887 "FH" => Some(Charge::FillingHandling),
888 "FI" => Some(Charge::Financing),
889 "GAA" => Some(Charge::Grinding),
890 "HAA" => Some(Charge::Hose),
891 "HD" => Some(Charge::Handling),
892 "HH" => Some(Charge::HoistingAndHauling),
893 "IAA" => Some(Charge::Installation),
894 "IAB" => Some(Charge::InstallationAndWarranty),
895 "ID" => Some(Charge::InsideDelivery),
896 "IF" => Some(Charge::Inspection),
897 "IR" => Some(Charge::InstallationAndTraining),
898 "IS" => Some(Charge::Invoicing),
899 "KO" => Some(Charge::Koshering),
900 "L1" => Some(Charge::CarrierCount),
901 "LA" => Some(Charge::Labelling),
902 "LAA" => Some(Charge::Labour),
903 "LAB" => Some(Charge::RepairAndReturn),
904 "LF" => Some(Charge::Legalisation),
905 "MAE" => Some(Charge::Mounting),
906 "MI" => Some(Charge::MailInvoice),
907 "ML" => Some(Charge::MailInvoiceToEachLocation),
908 "NAA" => Some(Charge::NonReturnableContainers),
909 "OA" => Some(Charge::OutsideCableConnectors),
910 "PA" => Some(Charge::InvoiceWithShipment),
911 "PAA" => Some(Charge::PhosphatizingSteelTreatment),
912 "PC" => Some(Charge::Packing),
913 "PL" => Some(Charge::Palletizing),
914 "PRV" => Some(Charge::PriceVariation),
915 "RAB" => Some(Charge::Repacking),
916 "RAC" => Some(Charge::Repair),
917 "RAD" => Some(Charge::ReturnableContainer),
918 "RAF" => Some(Charge::Restocking),
919 "RE" => Some(Charge::ReDelivery),
920 "RF" => Some(Charge::Refurbishing),
921 "RH" => Some(Charge::RailWagonHire),
922 "RV" => Some(Charge::Loading),
923 "SA" => Some(Charge::Salvaging),
924 "SAA" => Some(Charge::ShippingAndHandling),
925 "SAD" => Some(Charge::SpecialPackaging),
926 "SAE" => Some(Charge::Stamping),
927 "SAI" => Some(Charge::ConsigneeUnload),
928 "SG" => Some(Charge::ShrinkWrap),
929 "SH" => Some(Charge::SpecialHandling),
930 "SM" => Some(Charge::SpecialFinish),
931 "SU" => Some(Charge::SetUp),
932 "TAB" => Some(Charge::TankRenting),
933 "TAC" => Some(Charge::Testing),
934 "TT" => Some(Charge::TransportationThirdPartyBilling),
935 "TV" => Some(Charge::TransportationByVendor),
936 "V1" => Some(Charge::DropYard),
937 "V2" => Some(Charge::DropDock),
938 "WH" => Some(Charge::Warehousing),
939 "XAA" => Some(Charge::CombineAllSameDayShipment),
940 "YY" => Some(Charge::SplitPickUp),
941 "ZZZ" => Some(Charge::MutuallyDefined),
942 _ => None,
943 }
944 }
945}