Struct lexoffice::model::invoices::Invoice[][src]

pub struct Invoice {
    pub id: ReadOnly<Uuid>,
    pub organization_id: ReadOnly<Uuid>,
    pub created_date: ReadOnly<DateTime>,
    pub updated_date: ReadOnly<DateTime>,
    pub version: i64,
    pub language: Option<String>,
    pub archived: ReadOnly<bool>,
    pub voucher_status: ReadOnly<VoucherStatus>,
    pub voucher_number: ReadOnly<String>,
    pub voucher_date: Option<DateTime>,
    pub due_date: ReadOnly<DateTime>,
    pub address: Option<Address>,
    pub x_rechnung: Option<XRechnung>,
    pub line_items: Option<Vec<LineItems>>,
    pub total_price: Option<TotalPrice>,
    pub tax_amounts: ReadOnly<Vec<TaxAmounts>>,
    pub tax_conditions: Option<TaxConditions>,
    pub payment_conditions: Option<PaymentConditions>,
    pub shipping_conditions: Option<ShippingConditions>,
    pub closing_invoice: ReadOnly<bool>,
    pub claimed_gross_amount: ReadOnly<f64>,
    pub down_payment_deductions: ReadOnly<Vec<DownPaymentDeductions>>,
    pub recurring_template_id: Option<Uuid>,
    pub title: Option<String>,
    pub introduction: Option<String>,
    pub remark: Option<String>,
    pub files: ReadOnly<Files>,
}
{
  "id": "e9066f04-8cc7-4616-93f8-ac9ecc8479c8",
  "organizationId": "aa93e8a8-2aa3-470b-b914-caad8a255dd8",
  "createdDate": "2017-04-24T08:20:22.528+02:00",
  "updatedDate": "2017-04-24T08:20:22.528+02:00",
  "version": 0,
  "language": "de",
  "archived": false,
  "voucherStatus": "draft",
  "voucherNumber": "RE1019",
  "voucherDate": "2017-02-22T00:00:00.000+01:00",
  "dueDate": null,
  "address": {
    "contactId": null,
    "name": "Bike & Ride GmbH & Co. KG",
    "supplement": "Gebäude 10",
    "street": "Musterstraße 42",
    "city": "Freiburg",
    "zip": "79112",
    "countryCode": "DE"
  },
  "xRechnung": null,
  "lineItems": [
    {
      "id": "97b98491-e953-4dc9-97a9-ae437a8052b4",
      "type": "material",
      "name": "Abus Kabelschloss Primo 590 ",
      "description": "· 9,5 mm starkes, smoke-mattes Spiralkabel mit integrierter Halterlösung zur Befestigung am Sattelklemmbolzen · bewährter Qualitäts-Schließzylinder mit praktischem Wendeschlüssel · KabelØ: 9,5 mm, Länge: 150 cm",
      "quantity": 2,
      "unitName": "Stück",
      "unitPrice": {
        "currency": "EUR",
        "netAmount": 13.4,
        "grossAmount": 15.95,
        "taxRatePercentage": 19
      },
      "discountPercentage": 50,
      "lineItemAmount": 13.4
    },
    {
      "id": "dc4c805b-7df1-4310-a548-22be4499eb04",
      "type": "service",
      "name": "Aufwändige Montage",
      "description": "Aufwand für arbeitsintensive Montagetätigkeit",
      "quantity": 1,
      "unitName": "Stunde",
      "unitPrice": {
        "currency": "EUR",
        "netAmount": 8.32,
        "grossAmount": 8.9,
        "taxRatePercentage": 7
      },
      "discountPercentage": 0,
      "lineItemAmount": 8.32
    },
    {
      "id": null,
      "type": "custom",
      "name": "Energieriegel Testpaket",
      "description": null,
      "quantity": 1,
      "unitName": "Stück",
      "unitPrice": {
        "currency": "EUR",
        "netAmount": 5,
        "grossAmount": 5,
        "taxRatePercentage": 0
      },
      "discountPercentage": 0,
      "lineItemAmount": 5
    },
    {
      "type": "text",
      "name": "Freitextposition",
      "description": "This item type can contain either a name or a description or both."
    }
  ],
  "totalPrice": {
    "currency": "EUR",
    "totalNetAmount": 26.72,
    "totalGrossAmount": 29.85,
    "totalTaxAmount": 3.13,
    "totalDiscountAbsolute": null,
    "totalDiscountPercentage": null
  },
  "taxAmounts": [
    {
      "taxRatePercentage": 0,
      "taxAmount": 0,
      "netAmount": 5
    },
    {
      "taxRatePercentage": 7,
      "taxAmount": 0.58,
      "netAmount": 8.32
    },
    {
      "taxRatePercentage": 19,
      "taxAmount": 2.55,
      "netAmount": 13.4
    }
  ],
  "taxConditions": {
    "taxType": "net",
    "taxTypeNote": null
  },
  "paymentConditions": {
    "paymentTermLabel": "10 Tage - 3 %, 30 Tage netto",
    "paymentTermLabelTemplate": "{discountRange} Tage -{discount}, {paymentRange} Tage netto",
    "paymentTermDuration": 30,
    "paymentDiscountConditions": {
      "discountPercentage": 3,
      "discountRange": 10
    }
  },
  "shippingConditions": {
    "shippingDate": "2017-04-22T00:00:00.000+02:00",
    "shippingEndDate": null,
    "shippingType": "delivery"
  },
  "closingInvoice": false,
  "claimedGrossAmount": null,
  "downPaymentDeductions": null,
  "recurringTemplateId": null,
  "title": "Rechnung",
  "introduction": "Ihre bestellten Positionen stellen wir Ihnen hiermit in Rechnung",
  "remark": "Vielen Dank für Ihren Einkauf",
  "files": {
    "documentFileId": "75295db7-7e69-4630-befd-a7f4ddfdaa83"
  }
}

Fields

id: ReadOnly<Uuid>

Unique id generated on creation by lexoffice.
Read-only.

organization_id: ReadOnly<Uuid>

Unique id of the organization the invoice belongs to.
Read-only.

created_date: ReadOnly<DateTime>

The instant of time when the invoice was created by lexoffice in format yyyy-MM-ddTHH:mm:ss.SSSXXX as described in RFC 3339/ISO 8601 (e.g. 2020-02-21T00:00:00.000+01:00).
Read-only.

updated_date: ReadOnly<DateTime>

The instant of time when the invoice was updated by lexoffice in format yyyy-MM-ddTHH:mm:ss.SSSXXX as described in RFC 3339/ISO 8601 (e.g. 2020-02-21T00:00:00.000+01:00).
Read-only.

version: i64

Version (revision) number which will be increased on each change to handle optimistic locking.
Read-only.

language: Option<String>

Specifies the language of the invoice which affects the print document but also set translated default text modules when no values are send (e.g. for introduction). Values accepted in ISO 639-1 code. Possible values are German de (default) and English en.

archived: ReadOnly<bool>

Specifies if the invoice is only available in the archive in lexoffice.
Read-only.

voucher_status: ReadOnly<VoucherStatus>

Specifies the status of the invoice. Possible values are draft (is editable), open (finalized and no longer editable but yet unpaid or only partially paid), paid (has been fully paid), voided (cancelled)
Read-only.

voucher_number: ReadOnly<String>

The specific number an invoice is aware of. This consecutive number is set by lexoffice on creation.
Read-only.

voucher_date: Option<DateTime>

The date of the invoice in format yyyy-MM-ddTHH:mm:ss.SSSXXX as described in RFC 3339/ISO 8601 (e.g. 2020-02-21T00:00:00.000+01:00).

due_date: ReadOnly<DateTime>

Sets the date on which the invoice is payable before becoming overdue in format yyyy-MM-ddTHH:mm:ss.SSSXXX as described in RFC 3339/ISO 8601 (e.g. 2020-02-21T00:00:00.000+01:00).
Read-only.

address: Option<Address>

The address of the invoice recipient. For details see below.

x_rechnung: Option<XRechnung>

XRechnung related properties for XRechnung enabled invoices. For details see below

line_items: Option<Vec<LineItems>>

The items of the invoice. For details see below.

total_price: Option<TotalPrice>

The total price of the invoice. For details see below.

tax_amounts: ReadOnly<Vec<TaxAmounts>>

The tax amounts for each tax rate. Please note: As done with every read-only element or object all submitted content (POST) will be ignored. For details see below.
Read-only.

tax_conditions: Option<TaxConditions>

The tax conditions of the invoice. For details see below.

payment_conditions: Option<PaymentConditions>

The payment conditions of the invoice. The organization’s (or contact-specific) default is used if no value was send. For details see below.

shipping_conditions: Option<ShippingConditions>

The shipping conditions of the invoice. For details see below.

closing_invoice: ReadOnly<bool>

Denotes whether this invoice is a closing invoice (Schlussrechnung)
Read-only.

claimed_gross_amount: ReadOnly<f64>

The remaining gross amount (see description below)
Read-only.

down_payment_deductions: ReadOnly<Vec<DownPaymentDeductions>>

The down payments connected to this closing invoice.
Read-only.

recurring_template_id: Option<Uuid>

The id of the recurring template, if this is a recurring invoice deduced from a template. Null otherwise.

title: Option<String>

(Optional) A title text. The organization’s default is used if no value was sent.

introduction: Option<String>

(Optional) An introductory text / header. The organization’s default is used if no value was send.

remark: Option<String>

(Optional) A closing text note. The organization’s default is used if no value was send.

files: ReadOnly<Files>

The document id for the PDF version of the invoice. For details see below.
Read-only.

Implementations

impl Invoice[src]

pub fn builder(
) -> InvoiceBuilder<((), (), (), (), (), (), (), (), (), (), (), (), ())>
[src]

Create a builder for building Invoice. On the builder, call .language(...)(optional), .voucher_date(...)(optional), .address(...)(optional), .x_rechnung(...)(optional), .line_items(...)(optional), .total_price(...)(optional), .tax_conditions(...)(optional), .payment_conditions(...)(optional), .shipping_conditions(...)(optional), .recurring_template_id(...)(optional), .title(...)(optional), .introduction(...)(optional), .remark(...)(optional) to set the values of the fields. Finally, call .build() to create the instance of Invoice.

Trait Implementations

impl Clone for Invoice[src]

impl Debug for Invoice[src]

impl<'de> Deserialize<'de> for Invoice[src]

impl HasId for Invoice[src]

impl PartialEq<Invoice> for Invoice[src]

impl Serialize for Invoice[src]

impl StructuralPartialEq for Invoice[src]

Auto Trait Implementations

impl RefUnwindSafe for Invoice

impl Send for Invoice

impl Sync for Invoice

impl Unpin for Invoice

impl UnwindSafe for Invoice

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.