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 Enum1001 {
7 RequestForPayment,
11 DebitNoteRelatedToGoodsOrServices,
15 CreditNoteRelatedToGoodsOrServices,
19 MeteredServicesInvoice,
23 CreditNoteRelatedToFinancialAdjustments,
27 DebitNoteRelatedToFinancialAdjustments,
31 TaxNotification,
35 InvoicingDataSheet,
39 DirectPaymentValuation,
43 ProvisionalPaymentValuation,
47 PaymentValuation,
51 InterimApplicationForPayment,
55 FinalPaymentRequestBasedOnCompletionWork,
59 PaymentRequestForCompletedUnits,
63 SelfBilledCreditNote,
67 ConsolidatedCreditNoteGoodsAndServices,
71 PriceVariationInvoice,
75 CreditNoteForPriceVariation,
79 DelcredereCreditNote,
83 ProformaInvoice,
87 PartialInvoice,
91 CommercialInvoiceWhichIncludesAPackingList,
95 CommercialInvoice,
99 CreditNote,
103 CommissionNote,
107 DebitNote,
111 CorrectedInvoice,
115 ConsolidatedInvoice,
119 PrepaymentInvoice,
123 HireInvoice,
127 TaxInvoice,
131 SelfBilledInvoice,
135 DelcredereInvoice,
139 FactoredInvoice,
143 LeaseInvoice,
147 ConsignmentInvoice,
151 FactoredCreditNote,
155 OpticalCharacterReadingOcrPaymentCreditNote,
159 DebitAdvice,
163 ReversalDebit,
167 ReversalCredit,
171 SelfBilledDebitNote,
175 ForwardersCreditNote,
179 ForwardersInvoiceDiscrepancyReport,
183 InsurersInvoice,
187 ForwardersInvoice,
191 PortChargesDocuments,
195 InvoiceInformationForAccountingPurposes,
199 FreightInvoice,
203 ClaimNotification,
207 ConsularInvoice,
211 PartialConstructionInvoice,
215 PartialFinalConstructionInvoice,
219 FinalConstructionInvoice,
223 CustomsInvoice,
227}
228
229impl std::fmt::Display for Enum1001 {
230 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
231 write!(f, "{}", <Self as crate::Code>::code(*self))
232 }
233}
234
235impl std::str::FromStr for Enum1001 {
236 type Err = ();
237 fn from_str(s: &str) -> Result<Self, Self::Err> {
238 <Self as crate::FromCode>::from_code(s).ok_or(())
239 }
240}
241
242impl crate::Code for Enum1001 {
243 fn code(self) -> &'static str {
244 match self {
245 Enum1001::RequestForPayment => "71",
246 Enum1001::DebitNoteRelatedToGoodsOrServices => "80",
247 Enum1001::CreditNoteRelatedToGoodsOrServices => "81",
248 Enum1001::MeteredServicesInvoice => "82",
249 Enum1001::CreditNoteRelatedToFinancialAdjustments => "83",
250 Enum1001::DebitNoteRelatedToFinancialAdjustments => "84",
251 Enum1001::TaxNotification => "102",
252 Enum1001::InvoicingDataSheet => "130",
253 Enum1001::DirectPaymentValuation => "202",
254 Enum1001::ProvisionalPaymentValuation => "203",
255 Enum1001::PaymentValuation => "204",
256 Enum1001::InterimApplicationForPayment => "211",
257 Enum1001::FinalPaymentRequestBasedOnCompletionWork => "218",
258 Enum1001::PaymentRequestForCompletedUnits => "219",
259 Enum1001::SelfBilledCreditNote => "261",
260 Enum1001::ConsolidatedCreditNoteGoodsAndServices => "262",
261 Enum1001::PriceVariationInvoice => "295",
262 Enum1001::CreditNoteForPriceVariation => "296",
263 Enum1001::DelcredereCreditNote => "308",
264 Enum1001::ProformaInvoice => "325",
265 Enum1001::PartialInvoice => "326",
266 Enum1001::CommercialInvoiceWhichIncludesAPackingList => "331",
267 Enum1001::CommercialInvoice => "380",
268 Enum1001::CreditNote => "381",
269 Enum1001::CommissionNote => "382",
270 Enum1001::DebitNote => "383",
271 Enum1001::CorrectedInvoice => "384",
272 Enum1001::ConsolidatedInvoice => "385",
273 Enum1001::PrepaymentInvoice => "386",
274 Enum1001::HireInvoice => "387",
275 Enum1001::TaxInvoice => "388",
276 Enum1001::SelfBilledInvoice => "389",
277 Enum1001::DelcredereInvoice => "390",
278 Enum1001::FactoredInvoice => "393",
279 Enum1001::LeaseInvoice => "394",
280 Enum1001::ConsignmentInvoice => "395",
281 Enum1001::FactoredCreditNote => "396",
282 Enum1001::OpticalCharacterReadingOcrPaymentCreditNote => "420",
283 Enum1001::DebitAdvice => "456",
284 Enum1001::ReversalDebit => "457",
285 Enum1001::ReversalCredit => "458",
286 Enum1001::SelfBilledDebitNote => "527",
287 Enum1001::ForwardersCreditNote => "532",
288 Enum1001::ForwardersInvoiceDiscrepancyReport => "553",
289 Enum1001::InsurersInvoice => "575",
290 Enum1001::ForwardersInvoice => "623",
291 Enum1001::PortChargesDocuments => "633",
292 Enum1001::InvoiceInformationForAccountingPurposes => "751",
293 Enum1001::FreightInvoice => "780",
294 Enum1001::ClaimNotification => "817",
295 Enum1001::ConsularInvoice => "870",
296 Enum1001::PartialConstructionInvoice => "875",
297 Enum1001::PartialFinalConstructionInvoice => "876",
298 Enum1001::FinalConstructionInvoice => "877",
299 Enum1001::CustomsInvoice => "935",
300 }
301 }
302}
303
304impl crate::Description for Enum1001 {
305 fn description(self) -> &'static str {
306 match self {
307 Enum1001::RequestForPayment => "Request for payment",
308 Enum1001::DebitNoteRelatedToGoodsOrServices => {
309 "Debit note related to goods or services"
310 }
311 Enum1001::CreditNoteRelatedToGoodsOrServices => {
312 "Credit note related to goods or services"
313 }
314 Enum1001::MeteredServicesInvoice => "Metered services invoice",
315 Enum1001::CreditNoteRelatedToFinancialAdjustments => {
316 "Credit note related to financial adjustments"
317 }
318 Enum1001::DebitNoteRelatedToFinancialAdjustments => {
319 "Debit note related to financial adjustments"
320 }
321 Enum1001::TaxNotification => "Tax notification",
322 Enum1001::InvoicingDataSheet => "Invoicing data sheet",
323 Enum1001::DirectPaymentValuation => "Direct payment valuation",
324 Enum1001::ProvisionalPaymentValuation => "Provisional payment valuation",
325 Enum1001::PaymentValuation => "Payment valuation",
326 Enum1001::InterimApplicationForPayment => "Interim application for payment",
327 Enum1001::FinalPaymentRequestBasedOnCompletionWork => {
328 "Final payment request based on completion of work"
329 }
330 Enum1001::PaymentRequestForCompletedUnits => "Payment request for completed units",
331 Enum1001::SelfBilledCreditNote => "Self billed credit note",
332 Enum1001::ConsolidatedCreditNoteGoodsAndServices => {
333 "Consolidated credit note - goods and services"
334 }
335 Enum1001::PriceVariationInvoice => "Price variation invoice",
336 Enum1001::CreditNoteForPriceVariation => "Credit note for price variation",
337 Enum1001::DelcredereCreditNote => "Delcredere credit note",
338 Enum1001::ProformaInvoice => "Proforma invoice",
339 Enum1001::PartialInvoice => "Partial invoice",
340 Enum1001::CommercialInvoiceWhichIncludesAPackingList => {
341 "Commercial invoice which includes a packing list"
342 }
343 Enum1001::CommercialInvoice => "Commercial invoice",
344 Enum1001::CreditNote => "Credit note",
345 Enum1001::CommissionNote => "Commission note",
346 Enum1001::DebitNote => "Debit note",
347 Enum1001::CorrectedInvoice => "Corrected invoice",
348 Enum1001::ConsolidatedInvoice => "Consolidated invoice",
349 Enum1001::PrepaymentInvoice => "Prepayment invoice",
350 Enum1001::HireInvoice => "Hire invoice",
351 Enum1001::TaxInvoice => "Tax invoice",
352 Enum1001::SelfBilledInvoice => "Self-billed invoice",
353 Enum1001::DelcredereInvoice => "Delcredere invoice",
354 Enum1001::FactoredInvoice => "Factored invoice",
355 Enum1001::LeaseInvoice => "Lease invoice",
356 Enum1001::ConsignmentInvoice => "Consignment invoice",
357 Enum1001::FactoredCreditNote => "Factored credit note",
358 Enum1001::OpticalCharacterReadingOcrPaymentCreditNote => {
359 "Optical Character Reading (OCR) payment credit note"
360 }
361 Enum1001::DebitAdvice => "Debit advice",
362 Enum1001::ReversalDebit => "Reversal of debit",
363 Enum1001::ReversalCredit => "Reversal of credit",
364 Enum1001::SelfBilledDebitNote => "Self billed debit note",
365 Enum1001::ForwardersCreditNote => "Forwarder's credit note",
366 Enum1001::ForwardersInvoiceDiscrepancyReport => {
367 "Forwarder's invoice discrepancy report"
368 }
369 Enum1001::InsurersInvoice => "Insurer's invoice",
370 Enum1001::ForwardersInvoice => "Forwarder's invoice",
371 Enum1001::PortChargesDocuments => "Port charges documents",
372 Enum1001::InvoiceInformationForAccountingPurposes => {
373 "Invoice information for accounting purposes"
374 }
375 Enum1001::FreightInvoice => "Freight invoice",
376 Enum1001::ClaimNotification => "Claim notification",
377 Enum1001::ConsularInvoice => "Consular invoice",
378 Enum1001::PartialConstructionInvoice => "Partial construction invoice",
379 Enum1001::PartialFinalConstructionInvoice => "Partial final construction invoice",
380 Enum1001::FinalConstructionInvoice => "Final construction invoice",
381 Enum1001::CustomsInvoice => "Customs invoice",
382 }
383 }
384}
385
386impl crate::FromCode for Enum1001 {
387 fn from_code(code: &str) -> Option<Self>
388 where
389 Self: Sized,
390 {
391 match code {
392 "71" => Some(Enum1001::RequestForPayment),
393 "80" => Some(Enum1001::DebitNoteRelatedToGoodsOrServices),
394 "81" => Some(Enum1001::CreditNoteRelatedToGoodsOrServices),
395 "82" => Some(Enum1001::MeteredServicesInvoice),
396 "83" => Some(Enum1001::CreditNoteRelatedToFinancialAdjustments),
397 "84" => Some(Enum1001::DebitNoteRelatedToFinancialAdjustments),
398 "102" => Some(Enum1001::TaxNotification),
399 "130" => Some(Enum1001::InvoicingDataSheet),
400 "202" => Some(Enum1001::DirectPaymentValuation),
401 "203" => Some(Enum1001::ProvisionalPaymentValuation),
402 "204" => Some(Enum1001::PaymentValuation),
403 "211" => Some(Enum1001::InterimApplicationForPayment),
404 "218" => Some(Enum1001::FinalPaymentRequestBasedOnCompletionWork),
405 "219" => Some(Enum1001::PaymentRequestForCompletedUnits),
406 "261" => Some(Enum1001::SelfBilledCreditNote),
407 "262" => Some(Enum1001::ConsolidatedCreditNoteGoodsAndServices),
408 "295" => Some(Enum1001::PriceVariationInvoice),
409 "296" => Some(Enum1001::CreditNoteForPriceVariation),
410 "308" => Some(Enum1001::DelcredereCreditNote),
411 "325" => Some(Enum1001::ProformaInvoice),
412 "326" => Some(Enum1001::PartialInvoice),
413 "331" => Some(Enum1001::CommercialInvoiceWhichIncludesAPackingList),
414 "380" => Some(Enum1001::CommercialInvoice),
415 "381" => Some(Enum1001::CreditNote),
416 "382" => Some(Enum1001::CommissionNote),
417 "383" => Some(Enum1001::DebitNote),
418 "384" => Some(Enum1001::CorrectedInvoice),
419 "385" => Some(Enum1001::ConsolidatedInvoice),
420 "386" => Some(Enum1001::PrepaymentInvoice),
421 "387" => Some(Enum1001::HireInvoice),
422 "388" => Some(Enum1001::TaxInvoice),
423 "389" => Some(Enum1001::SelfBilledInvoice),
424 "390" => Some(Enum1001::DelcredereInvoice),
425 "393" => Some(Enum1001::FactoredInvoice),
426 "394" => Some(Enum1001::LeaseInvoice),
427 "395" => Some(Enum1001::ConsignmentInvoice),
428 "396" => Some(Enum1001::FactoredCreditNote),
429 "420" => Some(Enum1001::OpticalCharacterReadingOcrPaymentCreditNote),
430 "456" => Some(Enum1001::DebitAdvice),
431 "457" => Some(Enum1001::ReversalDebit),
432 "458" => Some(Enum1001::ReversalCredit),
433 "527" => Some(Enum1001::SelfBilledDebitNote),
434 "532" => Some(Enum1001::ForwardersCreditNote),
435 "553" => Some(Enum1001::ForwardersInvoiceDiscrepancyReport),
436 "575" => Some(Enum1001::InsurersInvoice),
437 "623" => Some(Enum1001::ForwardersInvoice),
438 "633" => Some(Enum1001::PortChargesDocuments),
439 "751" => Some(Enum1001::InvoiceInformationForAccountingPurposes),
440 "780" => Some(Enum1001::FreightInvoice),
441 "817" => Some(Enum1001::ClaimNotification),
442 "870" => Some(Enum1001::ConsularInvoice),
443 "875" => Some(Enum1001::PartialConstructionInvoice),
444 "876" => Some(Enum1001::PartialFinalConstructionInvoice),
445 "877" => Some(Enum1001::FinalConstructionInvoice),
446 "935" => Some(Enum1001::CustomsInvoice),
447 _ => None,
448 }
449 }
450}