mattes / vat

EU VAT number validation in Go using VIES SOAP service

Home Page:http://ec.europa.eu/taxation_customs/vies/vatRequest.html

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Golang VAT number validation

Build Status GoDoc

Uses the official VIES VAT number validation SOAP web service to validate european VAT numbers.

Unfortunately their service is super unreliable.

Install

go get -u github.com/mattes/vat

Usage with Go

import "github.com/mattes/vat"

response, err := vat.CheckVAT("IE6388047V")
if err != nil {
  // do sth with err
}
fmt.Println(response.Name, response.Valid)

// or ...
valid, err := vat.IsValidVAT("IE6388047V")

// increase timeout (default 10 seconds)
vat.Timeout = 10

// get VAT rates for EU countries
rate, ok := vat.StandardRate("DE")

// get applicable tax and if reverse charge is allowed,
// depending on VAT number and country
// (use at own risk!)
rate, reverseCharge, err := GetApplicableTax("DE", "")
rate, reverseCharge, err := GetApplicableTax("IE", "IE6388047V")
rate, reverseCharge, err := GetApplicableTax("CH", "")

Usage via Console

There is a small cli included in this package.

Install with go get -u github.com/mattes/vat/vat-check

$ vat-check IE6388047V

Request date: 2015-03-06 00:00:00 +0100 CET
  VAT number: 6388047V
     Country: IE
        Name: GOOGLE IRELAND LIMITED
     Address: 3RD FLOOR ,GORDON HOUSE ,BARROW STREET ,DUBLIN 4

Success: The VAT number is valid!

Exit code is 0 if VAT number is valid.

About

EU VAT number validation in Go using VIES SOAP service

http://ec.europa.eu/taxation_customs/vies/vatRequest.html

License:The Unlicense


Languages

Language:Go 99.7%Language:Makefile 0.3%