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