zugferd_code_lists/zugferd_2_3_3/
charge.rs

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