Socket
Socket
Sign inDemoInstall

@apilayer/vatlayer

Package Overview
Dependencies
16
Maintainers
2
Versions
1
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @apilayer/vatlayer

Vatlayer offers free, instant VAT Number validation & EU VAT rates.


Version published
Weekly downloads
4
decreased by-42.86%
Maintainers
2
Install size
2.40 MB
Created
Weekly downloads
 

Readme

Source

vatlayer-js

Vatlayer offers free, instant VAT Number validation & EU VAT rates.

Installation

Using npm

npm install --save @apilayer/vatlayer

or yarn

yarn add @apilayer/vatlayer

Getting Started

Head over to Vatlayer and create an account. Copy access key from dashboard.

import Vatlayer from '@apilayer/vatlayer';

const layer = new Vatlayer({
  key: "<your-access-key>",
  secure: false, // use HTTPs
})

validate

validate perform VAT number validations and company information lookups

Signature:

validate(vat_number: string): Promise<Response>

Example:

const response = layer.validate("LU26375245")

console.log('response:', response)

Response:

{
	valid: true,
	database: "ok",
	format_valid: true,
	query: "LU26375245",
	country_code: "LU",
	country_name: "Luxembourg",
	vat_number: "26375245",
	company_name: "AMAZON EUROPE CORE S.A R.L.",
	company_address: "5, RUE PLAETIS L-2338 LUXEMBOURG",
}

rateByCountry

rateByCountry gets the vat rate by country code

Signature:

rateByCountry(code: string): Promise<Response>

Example:

const response = layer.rateByCountry("DE")

console.log('response:', response)

Response:

{
  success: true,
  country_code: "DE",
  country_name: "Germany",
  standard_rate: 19,
  reduced_rates: {
    "foodstuffs": 7,
    "books": 7,
    "medical": 7,
    "passenger transport": 7,
    "newspapers": 7,
    "admission to cultural events": 7,
    "admission to entertainment events": 7,
    "hotels": 7
    ...
  }
}

rateByIP

rateByIP gets the vat data by IP address

Signature:

rateByIP(ip: string): Promise<Response>

Example:

const response = layer.rateByIP("134.245.44.17")

console.log('response:', response)

Response:

{
  success: true,
  country_code: "DE",
  country_name: "Germany",
  standard_rate: 19,
  reduced_rates: {
    "foodstuffs": 7,
    "books": 7,
    "medical": 7,
    "passenger transport": 7,
    "newspapers": 7,
    "admission to cultural events": 7,
    "admission to entertainment events": 7,
    "hotels": 7
    ...
  }
}

rateByDetect

rateByDetect auto detects the users location and gets the vat data

Signature:

rateByDetect(): Promise<Response>

Example:

const response = layer.rateByDetect()

console.log('response:', response)

Response:

{
  success: true,
  country_code: "DE",
  country_name: "Germany",
  standard_rate: 19,
  reduced_rates: {
    "foodstuffs": 7,
    "books": 7,
    "medical": 7,
    "passenger transport": 7,
    "newspapers": 7,
    "admission to cultural events": 7,
    "admission to entertainment events": 7,
    "hotels": 7
    ...
  }
}

rateList

rateList returns a list of vat rates

Signature:

rateList(): Promise<Response>

Example:

const response = layer.rateList()

console.log('response:', response)

calculate

calculate calculates the vat amount based on the country code

Signature:

calculate(country_code: string, amount: number): Promise<Response>

Example:

const response = layer.calculate("GB", 125)

console.log('response:', response)

Response:

{
  country_code: "GB",
  country_name: "United Kingdom",
  price_excl_vat: 125, // price without vat
  price_incl_vat: 150, // price with vat
  vat_rate: 20 // vat amount
}

License

MIT

FAQs

Last updated on 01 Oct 2019

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc