Documentation
¶
Overview ¶
Package euvatrates provides EU VAT rates for all 27 member states + UK.
Data is sourced from the European Commission TEDB (Taxes in Europe Database) and embedded at compile time. Published automatically when rates change.
Usage:
import euvatrates "github.com/vatnode/eu-vat-rates-data-go"
rate, ok := euvatrates.GetRate("FI")
// rate.Standard == 25.5, rate.Country == "Finland"
standard, ok := euvatrates.GetStandardRate("DE") // 19.0, true
euvatrates.IsEUMember("FR") // true
euvatrates.DataVersion() // "2026-02-25"
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DataVersion ¶
func DataVersion() string
DataVersion returns the ISO 8601 date when the data was last fetched from EC TEDB.
func GetAllRates ¶
GetAllRates returns a copy of the full rates map (28 countries).
func GetStandardRate ¶
GetStandardRate returns the standard VAT rate for the given country code. The second return value is false if the country is not in the dataset.
func IsEUMember ¶
IsEUMember returns true if the country code is in the dataset (EU-27 + GB).
Types ¶
type Dataset ¶
type Dataset struct {
Version string `json:"version"`
Source string `json:"source"`
URL string `json:"url"`
Rates map[string]VatRate `json:"rates"`
}
Dataset is the top-level structure of the data file.
type VatRate ¶
type VatRate struct {
Country string `json:"country"`
Currency string `json:"currency"`
Standard float64 `json:"standard"`
Reduced []float64 `json:"reduced"`
SuperReduced *float64 `json:"super_reduced"`
Parking *float64 `json:"parking"`
}
VatRate holds all VAT rates for a single country.