vat

package
v0.0.0-...-0941746 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 18, 2024 License: AGPL-3.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrVATnumberNotValid     = errors.New("VAT number is not valid.")
	ErrVATserviceUnreachable = errors.New("VAT number validation service is offline.")
	ErrVATserviceError       = "VAT number validation service returns an error : "
)
View Source
var Timeout = 10 // seconds

Functions

func Countries

func Countries() []string

Countries returns a list of all EU countries

func GetApplicableTax

func GetApplicableTax(countryCode, vatNumber string) (taxRate float64, reverseCharge bool, err error)

GetApplicableTax is a convenience func for GetApplicableTaxAtDate(...)

func GetApplicableTaxAtDate

func GetApplicableTaxAtDate(countryCode, vatNumber string, date time.Time) (taxRate float64, reverseCharge bool, err error)

GetApplicableTaxAtDate returns taxRate and if reverseCharge is applicable You should check the vatNumber with IsValidVAT(vatNumber) before passing a vatNumber to this function.

func IsEUCountry

func IsEUCountry(countryCode string) bool

IsEUCountry returns true if countryCode is EU country

func IsValidVAT

func IsValidVAT(vatNumber string) (bool, error)

IsValid returns true if vat number is correct

func StandardRate

func StandardRate(countryCode string) (rate float64, ok bool)

StandardRate returns VAT rate in EU country at time.Now()

func StandardRateAtDate

func StandardRateAtDate(countryCode string, date time.Time) (rate float64, ok bool)

StandardRateAtDate returns VAT rate in EU country at given date

Types

type Rates

type Rates struct {
	Since     time.Time
	Countries map[string]float64
}

type VATresponse

type VATresponse struct {
	CountryCode string
	VATnumber   string
	RequestDate time.Time
	Valid       bool
	Name        string
	Address     string
}

func CheckVAT

func CheckVAT(vatNumber string) (*VATresponse, error)

Check returns *VATresponse for vat number

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL