artcoded_api/models/
invoice_generation.rs

1/*
2 * Artcoded
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: 1.0.0
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct InvoiceGeneration {
16    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
17    pub id: Option<String>,
18    #[serde(rename = "invoiceNumber", skip_serializing_if = "Option::is_none")]
19    pub invoice_number: Option<String>,
20    #[serde(
21        rename = "structuredReference",
22        skip_serializing_if = "Option::is_none"
23    )]
24    pub structured_reference: Option<String>,
25    #[serde(rename = "creditNoteId", skip_serializing_if = "Option::is_none")]
26    pub credit_note_id: Option<String>,
27    #[serde(rename = "seqInvoiceNumber", skip_serializing_if = "Option::is_none")]
28    pub seq_invoice_number: Option<i64>,
29    #[serde(rename = "dateOfInvoice", skip_serializing_if = "Option::is_none")]
30    pub date_of_invoice: Option<String>,
31    #[serde(rename = "dateCreation", skip_serializing_if = "Option::is_none")]
32    pub date_creation: Option<String>,
33    #[serde(rename = "archivedDate", skip_serializing_if = "Option::is_none")]
34    pub archived_date: Option<String>,
35    #[serde(rename = "updatedDate", skip_serializing_if = "Option::is_none")]
36    pub updated_date: Option<String>,
37    #[serde(rename = "billTo", skip_serializing_if = "Option::is_none")]
38    pub bill_to: Option<Box<models::BillTo>>,
39    #[serde(rename = "invoiceTable", skip_serializing_if = "Option::is_none")]
40    pub invoice_table: Option<Vec<models::InvoiceRow>>,
41    #[serde(rename = "taxRate", skip_serializing_if = "Option::is_none")]
42    pub tax_rate: Option<f64>,
43    #[serde(rename = "maxDaysToPay", skip_serializing_if = "Option::is_none")]
44    pub max_days_to_pay: Option<i32>,
45    #[serde(rename = "locked", skip_serializing_if = "Option::is_none")]
46    pub locked: Option<bool>,
47    #[serde(rename = "archived", skip_serializing_if = "Option::is_none")]
48    pub archived: Option<bool>,
49    #[serde(rename = "bookmarked", skip_serializing_if = "Option::is_none")]
50    pub bookmarked: Option<bool>,
51    #[serde(rename = "bookmarkedDate", skip_serializing_if = "Option::is_none")]
52    pub bookmarked_date: Option<String>,
53    #[serde(rename = "logicalDelete", skip_serializing_if = "Option::is_none")]
54    pub logical_delete: Option<bool>,
55    #[serde(rename = "uploadedManually", skip_serializing_if = "Option::is_none")]
56    pub uploaded_manually: Option<bool>,
57    #[serde(rename = "invoiceUploadId", skip_serializing_if = "Option::is_none")]
58    pub invoice_upload_id: Option<String>,
59    #[serde(rename = "invoiceUBLId", skip_serializing_if = "Option::is_none")]
60    pub invoice_ublid: Option<String>,
61    #[serde(
62        rename = "freemarkerTemplateId",
63        skip_serializing_if = "Option::is_none"
64    )]
65    pub freemarker_template_id: Option<String>,
66    #[serde(rename = "peppolStatus", skip_serializing_if = "Option::is_none")]
67    pub peppol_status: Option<PeppolStatus>,
68    #[serde(rename = "specialNote", skip_serializing_if = "Option::is_none")]
69    pub special_note: Option<String>,
70    #[serde(
71        rename = "creditNoteInvoiceReference",
72        skip_serializing_if = "Option::is_none"
73    )]
74    pub credit_note_invoice_reference: Option<String>,
75    #[serde(rename = "imported", skip_serializing_if = "Option::is_none")]
76    pub imported: Option<bool>,
77    #[serde(rename = "importedDate", skip_serializing_if = "Option::is_none")]
78    pub imported_date: Option<String>,
79    #[serde(rename = "timesheetId", skip_serializing_if = "Option::is_none")]
80    pub timesheet_id: Option<String>,
81    #[serde(rename = "reference", skip_serializing_if = "Option::is_none")]
82    pub reference: Option<String>,
83    #[serde(rename = "subTotal", skip_serializing_if = "Option::is_none")]
84    pub sub_total: Option<f64>,
85    #[serde(rename = "taxes", skip_serializing_if = "Option::is_none")]
86    pub taxes: Option<f64>,
87    #[serde(rename = "total", skip_serializing_if = "Option::is_none")]
88    pub total: Option<f64>,
89    #[serde(rename = "newInvoiceNumber", skip_serializing_if = "Option::is_none")]
90    pub new_invoice_number: Option<String>,
91    #[serde(rename = "clientName", skip_serializing_if = "Option::is_none")]
92    pub client_name: Option<String>,
93    #[serde(rename = "dueDate", skip_serializing_if = "Option::is_none")]
94    pub due_date: Option<String>,
95    #[serde(rename = "taxable", skip_serializing_if = "Option::is_none")]
96    pub taxable: Option<f64>,
97    #[serde(rename = "creditNote", skip_serializing_if = "Option::is_none")]
98    pub credit_note: Option<bool>,
99}
100
101impl InvoiceGeneration {
102    pub fn new() -> InvoiceGeneration {
103        InvoiceGeneration {
104            id: None,
105            invoice_number: None,
106            structured_reference: None,
107            credit_note_id: None,
108            seq_invoice_number: None,
109            date_of_invoice: None,
110            date_creation: None,
111            archived_date: None,
112            updated_date: None,
113            bill_to: None,
114            invoice_table: None,
115            tax_rate: None,
116            max_days_to_pay: None,
117            locked: None,
118            archived: None,
119            bookmarked: None,
120            bookmarked_date: None,
121            logical_delete: None,
122            uploaded_manually: None,
123            invoice_upload_id: None,
124            invoice_ublid: None,
125            freemarker_template_id: None,
126            peppol_status: None,
127            special_note: None,
128            credit_note_invoice_reference: None,
129            imported: None,
130            imported_date: None,
131            timesheet_id: None,
132            reference: None,
133            sub_total: None,
134            taxes: None,
135            total: None,
136            new_invoice_number: None,
137            client_name: None,
138            due_date: None,
139            taxable: None,
140            credit_note: None,
141        }
142    }
143}
144///
145#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
146pub enum PeppolStatus {
147    #[serde(rename = "OLD")]
148    Old,
149    #[serde(rename = "NOT_SENT")]
150    NotSent,
151    #[serde(rename = "PROCESSING")]
152    Processing,
153    #[serde(rename = "SUCCESS")]
154    Success,
155}
156
157impl Default for PeppolStatus {
158    fn default() -> PeppolStatus {
159        Self::Old
160    }
161}