vat
VAT number validation & EU VAT rates
About vat
Package vat
Package for validating VAT numbers & retrieving VAT rates (from ibericode/vat-rates) in Go.
Installation
Use go get.
go get github.com/dannyvankooten/vat
Then import the package into your own code.
import "github.com/dannyvankooten/vat"
Usage
Validating VAT numbers
VAT numbers can be validated by format, existence or both. VAT numbers are looked up using the VIES VAT validation API.
package main
import "github.com/dannyvankooten/vat"
func main() {
// Validate number by format + existence
validity, err := vat.ValidateNumber("NL123456789B01")
// Validate number format
validity, err := vat.ValidateNumberFormat("NL123456789B01")
// Validate number existence
validity, err := vat.ValidateNumberExistence("NL123456789B01")
}
Retrieving VAT rates
This package relies on a community maintained repository of vat rates. We invite you to toggle notifications for that repository and contribute changes to VAT rates in your country once they are announced.
To get VAT rate periods for a country, first get a CountryRates struct using the country's ISO-3166-1-alpha2 code.
You can get the rate that is currently in effect using the GetRate function.
package main
import (
"fmt"
"github.com/dannyvankooten/vat"
)
func main() {
c, err := vat.GetCountryRates("NL")
r, err := c.GetRate("standard")
fmt.Printf("Standard VAT rate for NL is %.2f", r)
// Output: Standard VAT rate for NL is 21.00
}
License
MIT licensed. See the LICENSE file for details.
Frequently Asked Questions
What is vat?
vat is a Financial library for the Go programming language. VAT number validation & EU VAT rates
How do I install vat?
Install vat with the Go module system using `go get dannyvankooten/vat`. Check the repository for the current installation instructions.
What category does vat belong to?
vat is listed under Financial, specifically Financial.