zugferd_code_lists/zugferd_2_3_2/
charge.rs

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