wave-api 0.1.0

Typed Rust client for the Wave Accounting GraphQL API
Documentation
use chrono::{DateTime, NaiveDate, Utc};
use rust_decimal::Decimal;
use serde::Deserialize;

/// A sales tax.
#[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>>,
}

/// A sales tax rate with effective date.
#[derive(Debug, Clone, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SalesTaxRate {
    pub effective: NaiveDate,
    pub rate: Decimal,
}