Skip to main content

wave_api/models/
sales_tax.rs

1use chrono::{DateTime, NaiveDate, Utc};
2use rust_decimal::Decimal;
3use serde::Deserialize;
4
5/// A sales tax.
6#[derive(Debug, Clone, Deserialize)]
7#[serde(rename_all = "camelCase")]
8pub struct SalesTax {
9    pub id: String,
10    pub name: String,
11    pub abbreviation: Option<String>,
12    pub description: Option<String>,
13    pub tax_number: Option<String>,
14    pub show_tax_number_on_invoices: Option<bool>,
15    pub rate: Option<Decimal>,
16    pub rates: Option<Vec<SalesTaxRate>>,
17    pub is_compound: Option<bool>,
18    pub is_recoverable: Option<bool>,
19    pub is_archived: Option<bool>,
20    pub created_at: Option<DateTime<Utc>>,
21    pub modified_at: Option<DateTime<Utc>>,
22}
23
24/// A sales tax rate with effective date.
25#[derive(Debug, Clone, Deserialize)]
26#[serde(rename_all = "camelCase")]
27pub struct SalesTaxRate {
28    pub effective: NaiveDate,
29    pub rate: Decimal,
30}