Crate vat_jp

source ·
Expand description

vat_jp

vat_jp calculates consumption tax (incl. sales tax, VAT, excise duty, etc.) in Japan.

Usage

With vat_jp, you can know the price including VAT and the VAT rate at any point in time.

use chrono::{DateTime, Local, NaiveDate};
use vat_jp;

// To find out the current price including tax,
// pass the amount as the first argument and `None` as the second argument.
assert_eq!(110, vat_jp::amount_with_tax::<NaiveDate>(100, None));
assert_eq!(
    110,
    vat_jp::amount_with_tax::<DateTime<Local>>(100, Some(Local::now()))
);
// When there was no VAT...
let mut today = NaiveDate::from_ymd_opt(1989, 3, 31).unwrap();
assert_eq!(100, vat_jp::amount_with_tax::<NaiveDate>(100, Some(today)));

// VAT rate
assert_eq!(1.1, vat_jp::get_rate::<DateTime<Local>>(Local::now()));

Functions