// Code generated by msgraph.go/gen DO NOT EDIT.

package msgraph

import "time"

// PurchaseInvoice undocumented
type PurchaseInvoice struct {
	// Entity is the base model of PurchaseInvoice
	Entity
	// Number undocumented
	Number *string `json:"number,omitempty"`
	// InvoiceDate undocumented
	InvoiceDate *Date `json:"invoiceDate,omitempty"`
	// DueDate undocumented
	DueDate *Date `json:"dueDate,omitempty"`
	// VendorInvoiceNumber undocumented
	VendorInvoiceNumber *string `json:"vendorInvoiceNumber,omitempty"`
	// VendorID undocumented
	VendorID *UUID `json:"vendorId,omitempty"`
	// VendorNumber undocumented
	VendorNumber *string `json:"vendorNumber,omitempty"`
	// VendorName undocumented
	VendorName *string `json:"vendorName,omitempty"`
	// PayToName undocumented
	PayToName *string `json:"payToName,omitempty"`
	// PayToContact undocumented
	PayToContact *string `json:"payToContact,omitempty"`
	// PayToVendorID undocumented
	PayToVendorID *UUID `json:"payToVendorId,omitempty"`
	// PayToVendorNumber undocumented
	PayToVendorNumber *string `json:"payToVendorNumber,omitempty"`
	// ShipToName undocumented
	ShipToName *string `json:"shipToName,omitempty"`
	// ShipToContact undocumented
	ShipToContact *string `json:"shipToContact,omitempty"`
	// BuyFromAddress undocumented
	BuyFromAddress *PostalAddressType `json:"buyFromAddress,omitempty"`
	// PayToAddress undocumented
	PayToAddress *PostalAddressType `json:"payToAddress,omitempty"`
	// ShipToAddress undocumented
	ShipToAddress *PostalAddressType `json:"shipToAddress,omitempty"`
	// CurrencyID undocumented
	CurrencyID *UUID `json:"currencyId,omitempty"`
	// CurrencyCode undocumented
	CurrencyCode *string `json:"currencyCode,omitempty"`
	// PricesIncludeTax undocumented
	PricesIncludeTax *bool `json:"pricesIncludeTax,omitempty"`
	// DiscountAmount undocumented
	DiscountAmount *int `json:"discountAmount,omitempty"`
	// DiscountAppliedBeforeTax undocumented
	DiscountAppliedBeforeTax *bool `json:"discountAppliedBeforeTax,omitempty"`
	// TotalAmountExcludingTax undocumented
	TotalAmountExcludingTax *int `json:"totalAmountExcludingTax,omitempty"`
	// TotalTaxAmount undocumented
	TotalTaxAmount *int `json:"totalTaxAmount,omitempty"`
	// TotalAmountIncludingTax undocumented
	TotalAmountIncludingTax *int `json:"totalAmountIncludingTax,omitempty"`
	// Status undocumented
	Status *string `json:"status,omitempty"`
	// LastModifiedDateTime undocumented
	LastModifiedDateTime *time.Time `json:"lastModifiedDateTime,omitempty"`
	// PurchaseInvoiceLines undocumented
	PurchaseInvoiceLines []PurchaseInvoiceLine `json:"purchaseInvoiceLines,omitempty"`
	// Vendor undocumented
	Vendor *Vendor `json:"vendor,omitempty"`
	// Currency undocumented
	Currency *Currency `json:"currency,omitempty"`
}

// PurchaseInvoiceLine undocumented
type PurchaseInvoiceLine struct {
	// Entity is the base model of PurchaseInvoiceLine
	Entity
	// DocumentID undocumented
	DocumentID *UUID `json:"documentId,omitempty"`
	// Sequence undocumented
	Sequence *int `json:"sequence,omitempty"`
	// ItemID undocumented
	ItemID *UUID `json:"itemId,omitempty"`
	// AccountID undocumented
	AccountID *UUID `json:"accountId,omitempty"`
	// LineType undocumented
	LineType *string `json:"lineType,omitempty"`
	// Description undocumented
	Description *string `json:"description,omitempty"`
	// UnitCost undocumented
	UnitCost *int `json:"unitCost,omitempty"`
	// Quantity undocumented
	Quantity *int `json:"quantity,omitempty"`
	// DiscountAmount undocumented
	DiscountAmount *int `json:"discountAmount,omitempty"`
	// DiscountPercent undocumented
	DiscountPercent *int `json:"discountPercent,omitempty"`
	// DiscountAppliedBeforeTax undocumented
	DiscountAppliedBeforeTax *bool `json:"discountAppliedBeforeTax,omitempty"`
	// AmountExcludingTax undocumented
	AmountExcludingTax *int `json:"amountExcludingTax,omitempty"`
	// TaxCode undocumented
	TaxCode *string `json:"taxCode,omitempty"`
	// TaxPercent undocumented
	TaxPercent *int `json:"taxPercent,omitempty"`
	// TotalTaxAmount undocumented
	TotalTaxAmount *int `json:"totalTaxAmount,omitempty"`
	// AmountIncludingTax undocumented
	AmountIncludingTax *int `json:"amountIncludingTax,omitempty"`
	// InvoiceDiscountAllocation undocumented
	InvoiceDiscountAllocation *int `json:"invoiceDiscountAllocation,omitempty"`
	// NetAmount undocumented
	NetAmount *int `json:"netAmount,omitempty"`
	// NetTaxAmount undocumented
	NetTaxAmount *int `json:"netTaxAmount,omitempty"`
	// NetAmountIncludingTax undocumented
	NetAmountIncludingTax *int `json:"netAmountIncludingTax,omitempty"`
	// ExpectedReceiptDate undocumented
	ExpectedReceiptDate *Date `json:"expectedReceiptDate,omitempty"`
	// Item undocumented
	Item *Item `json:"item,omitempty"`
	// Account undocumented
	Account *Account `json:"account,omitempty"`
}