use chrono::{DateTime, NaiveDate, Utc};
use rust_decimal::Decimal;
use serde::Deserialize;
#[derive(Debug, Clone, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SalesTax {
pub id: String,
pub name: String,
pub abbreviation: Option<String>,
pub description: Option<String>,
pub tax_number: Option<String>,
pub show_tax_number_on_invoices: Option<bool>,
pub rate: Option<Decimal>,
pub rates: Option<Vec<SalesTaxRate>>,
pub is_compound: Option<bool>,
pub is_recoverable: Option<bool>,
pub is_archived: Option<bool>,
pub created_at: Option<DateTime<Utc>>,
pub modified_at: Option<DateTime<Utc>>,
}
#[derive(Debug, Clone, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SalesTaxRate {
pub effective: NaiveDate,
pub rate: Decimal,
}