Package for validating VAT numbers & retrieving VAT rates in Go.
Use go get.
go get github.com/dannyvankooten/vat
Then import the package into your own code.
import "github.com/dannyvankooten/vat"
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")
}
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
}
MIT licensed. See the LICENSE file for details.