package vat
import "git.sr.ht/~pingoo/stdx/money/vat"
Index ¶
- Variables
- func Countries() []string
- func GetApplicableTax(countryCode, vatNumber string) (taxRate float64, reverseCharge bool, err error)
- func GetApplicableTaxAtDate(countryCode, vatNumber string, date time.Time) (taxRate float64, reverseCharge bool, err error)
- func IsEUCountry(countryCode string) bool
- func IsValidVAT(vatNumber string) (bool, error)
- func StandardRate(countryCode string) (rate float64, ok bool)
- func StandardRateAtDate(countryCode string, date time.Time) (rate float64, ok bool)
- type Rates
- type VATresponse
Variables ¶
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 : " )
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 ¶
IsEUCountry returns true if countryCode is EU country
func IsValidVAT ¶
IsValid returns true if vat number is correct
func StandardRate ¶
StandardRate returns VAT rate in EU country at time.Now()
func StandardRateAtDate ¶
StandardRateAtDate returns VAT rate in EU country at given date
Types ¶
type Rates ¶
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
Source Files ¶
moss.go rates.go vat.go
- Version
- v0.0.0-20240218134121-094174641f6e (latest)
- Published
- Feb 18, 2024
- Platform
- linux/amd64
- Imports
- 9 packages
- Last checked
- 4 months ago –
Tools for package owners.