use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct InvoiceItem {
#[serde(rename = "itemSequenceNumber")]
pub item_sequence_number: i32,
#[serde(rename = "amazonProductIdentifier", skip_serializing_if = "Option::is_none")]
pub amazon_product_identifier: Option<String>,
#[serde(rename = "vendorProductIdentifier", skip_serializing_if = "Option::is_none")]
pub vendor_product_identifier: Option<String>,
#[serde(rename = "invoicedQuantity")]
pub invoiced_quantity: Box<models::vendor_invoices::ItemQuantity>,
#[serde(rename = "netCost")]
pub net_cost: Box<models::vendor_invoices::Money>,
#[serde(rename = "netCostUnitOfMeasure", skip_serializing_if = "Option::is_none")]
pub net_cost_unit_of_measure: Option<models::vendor_invoices::NetCostUnitOfMeasure>,
#[serde(rename = "purchaseOrderNumber", skip_serializing_if = "Option::is_none")]
pub purchase_order_number: Option<String>,
#[serde(rename = "hsnCode", skip_serializing_if = "Option::is_none")]
pub hsn_code: Option<String>,
#[serde(rename = "creditNoteDetails", skip_serializing_if = "Option::is_none")]
pub credit_note_details: Option<Box<models::vendor_invoices::CreditNoteDetails>>,
#[serde(rename = "taxDetails", skip_serializing_if = "Option::is_none")]
pub tax_details: Option<Vec<models::vendor_invoices::TaxDetails>>,
#[serde(rename = "chargeDetails", skip_serializing_if = "Option::is_none")]
pub charge_details: Option<Vec<models::vendor_invoices::ChargeDetails>>,
#[serde(rename = "allowanceDetails", skip_serializing_if = "Option::is_none")]
pub allowance_details: Option<Vec<models::vendor_invoices::AllowanceDetails>>,
}
impl InvoiceItem {
pub fn new(item_sequence_number: i32, invoiced_quantity: models::vendor_invoices::ItemQuantity, net_cost: models::vendor_invoices::Money) -> InvoiceItem {
InvoiceItem {
item_sequence_number,
amazon_product_identifier: None,
vendor_product_identifier: None,
invoiced_quantity: Box::new(invoiced_quantity),
net_cost: Box::new(net_cost),
net_cost_unit_of_measure: None,
purchase_order_number: None,
hsn_code: None,
credit_note_details: None,
tax_details: None,
charge_details: None,
allowance_details: None,
}
}
}