{"_id":"@apilayer/vatlayer","_rev":"1-c90ed4267ce0f9a3d8ad68316c2587d6","name":"@apilayer/vatlayer","dist-tags":{"latest":"0.1.6"},"versions":{"0.1.6":{"name":"@apilayer/vatlayer","version":"0.1.6","author":{"name":"Samuel Oloruntoba","email":"github@kayandra.co","url":"https://kayandra.co"},"license":"MIT","dependencies":{"@types/node-fetch":"^2.5.0","node-fetch":"^2.5.0"},"gitHead":"e0a9510ba4e021cc2692311d4869e451bef33799","publishConfig":{"access":"public"},"description":"Vatlayer offers free, instant VAT Number validation & EU VAT rates.","_id":"@apilayer/vatlayer@0.1.6","_nodeVersion":"10.16.3","_npmVersion":"lerna/3.16.4/node@v10.16.3+x64 (linux)","dist":{"integrity":"sha512-JrTQtaJXBD00UKG36hkzxKy8zaxODmYwzETOH50+TnYnEdPRJDK0nyKFHCrw3KO4JuIq6fVIX85pflJr2hm2UA==","shasum":"77e3b237cfd38b58da12e6f07757ae7c255f6b52","tarball":"https://registry.npmjs.org/@apilayer/vatlayer/-/vatlayer-0.1.6.tgz","fileCount":5,"unpackedSize":7959,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdkzKqCRA9TVsSAnZWagAAatQP/ipSLrrdPQXRHWjFZ7HV\nnjWNPkU5yj0veTxAssTAg3MW8TDgrpuUvCHxIA9Kj3A2NnGiqRKUkhRWatHP\ngtxFC3IYT6PdAoxfMbA7EqVFRXctfqn2tlpSJLp9+hkm0liC2R5jZJqZbcHG\ncQ9yO8W6jtN5kqf950wX7sYe+2PD+DcHbN0b+128a/L2uLgIUUKu9WSh3B65\nP+uutvFYS+2mIBR16B5R0GGH9XjBPAVPftvo6lzYM+fhXH696qHYIcCtP2uj\nwybQEvFIOKQ+XhG/tpY9zdo6xLE50rD39fyIWpxQuQEx/S4XpeHW44lLtxJw\nNl1xgOve0YeK6c9MTTytvGLN827LfZaxC2BGP1Se5Q/XPNedd9oJn3ciTU5L\nBzuFsNVqvZReabP5menQnMkpAqcf1yPfE6B9BsJVGn1vhkyapAOa3vaCJumH\nLMJJ4Vv7ZzlO+/sl1bpCycwAqwg4WT3Y0W+g657Rt2bXOGyut7aVZglt+OnQ\ni2/nI/JOJKQfCe0FC+L6b8UC8DB5IemSwC72lY9jUex+kRr0BdCEiZDYCm7z\nQYoxDbE+BErq/+2rKw97LR7XQlao8AhM2zjpUtU9+fjEl3YOmf8sxd4vdq/k\npO+XIElmsV497VmIIuH6kEI273cKYPiILA8yuppZhkKwU73TjMde8PUMnF3m\nqymY\r\n=1888\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBSvvGn2H+GB5cMiF9ptXvxqTVVpJ6JYqz69jn+rezdXAiEA/GhnwphsB9EmGtMXrvVlmmq6Nzuyi+Gr4TfmiYfKlWo="}]},"maintainers":[{"name":"kayandra","email":"tag@kayandra.co"},{"name":"apilayer-p","email":"support@apilayer.com"}],"_npmUser":{"name":"kayandra","email":"tag@kayandra.co"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vatlayer_0.1.6_1569927849387_0.7142419045048227"},"_hasShrinkwrap":false}},"time":{"created":"2019-10-01T11:04:09.082Z","0.1.6":"2019-10-01T11:04:09.534Z","modified":"2022-04-04T14:37:51.350Z"},"maintainers":[{"name":"kayandra","email":"tag@kayandra.co"},{"name":"apilayer-p","email":"support@apilayer.com"}],"description":"Vatlayer offers free, instant VAT Number validation & EU VAT rates.","author":{"name":"Samuel Oloruntoba","email":"github@kayandra.co","url":"https://kayandra.co"},"license":"MIT","readme":"# vatlayer-js\n\nVatlayer offers free, instant VAT Number validation & EU VAT rates.\n\n## Installation\n\nUsing npm\n\n```\nnpm install --save @apilayer/vatlayer\n```\n\nor yarn\n\n```\nyarn add @apilayer/vatlayer\n```\n\n## Getting Started\n\nHead over to [Vatlayer](https://vatlayer.com/) and create an account. Copy access key from dashboard.\n\n```javascript\nimport Vatlayer from '@apilayer/vatlayer';\n\nconst layer = new Vatlayer({\n  key: \"<your-access-key>\",\n  secure: false, // use HTTPs\n})\n```\n\n## `validate`\n\n`validate` perform VAT number validations and company information lookups\n\n**Signature:**\n\n```typescript\nvalidate(vat_number: string): Promise<Response>\n```\n\n**Example:**\n\n```javascript\nconst response = layer.validate(\"LU26375245\")\n\nconsole.log('response:', response)\n```\n\n**Response:**\n\n```javascript\n{\n\tvalid: true,\n\tdatabase: \"ok\",\n\tformat_valid: true,\n\tquery: \"LU26375245\",\n\tcountry_code: \"LU\",\n\tcountry_name: \"Luxembourg\",\n\tvat_number: \"26375245\",\n\tcompany_name: \"AMAZON EUROPE CORE S.A R.L.\",\n\tcompany_address: \"5, RUE PLAETIS L-2338 LUXEMBOURG\",\n}\n```\n\n## `rateByCountry`\n\n`rateByCountry` gets the vat rate by country code\n\n**Signature:**\n\n```typescript\nrateByCountry(code: string): Promise<Response>\n```\n\n**Example:**\n\n```javascript\nconst response = layer.rateByCountry(\"DE\")\n\nconsole.log('response:', response)\n```\n\n**Response:**\n\n```javascript\n{\n  success: true,\n  country_code: \"DE\",\n  country_name: \"Germany\",\n  standard_rate: 19,\n  reduced_rates: {\n    \"foodstuffs\": 7,\n    \"books\": 7,\n    \"medical\": 7,\n    \"passenger transport\": 7,\n    \"newspapers\": 7,\n    \"admission to cultural events\": 7,\n    \"admission to entertainment events\": 7,\n    \"hotels\": 7\n    ...\n  }\n}\n```\n\n## `rateByIP`\n\n`rateByIP` gets the vat data by IP address\n\n**Signature:**\n\n```typescript\nrateByIP(ip: string): Promise<Response>\n```\n\n**Example:**\n\n```javascript\nconst response = layer.rateByIP(\"134.245.44.17\")\n\nconsole.log('response:', response)\n```\n\n**Response:**\n\n```javascript\n{\n  success: true,\n  country_code: \"DE\",\n  country_name: \"Germany\",\n  standard_rate: 19,\n  reduced_rates: {\n    \"foodstuffs\": 7,\n    \"books\": 7,\n    \"medical\": 7,\n    \"passenger transport\": 7,\n    \"newspapers\": 7,\n    \"admission to cultural events\": 7,\n    \"admission to entertainment events\": 7,\n    \"hotels\": 7\n    ...\n  }\n}\n```\n\n## `rateByDetect`\n\n`rateByDetect` auto detects the users location and gets the vat data\n\n**Signature:**\n\n```typescript\nrateByDetect(): Promise<Response>\n```\n\n**Example:**\n\n```javascript\nconst response = layer.rateByDetect()\n\nconsole.log('response:', response)\n```\n\n**Response:**\n\n```javascript\n{\n  success: true,\n  country_code: \"DE\",\n  country_name: \"Germany\",\n  standard_rate: 19,\n  reduced_rates: {\n    \"foodstuffs\": 7,\n    \"books\": 7,\n    \"medical\": 7,\n    \"passenger transport\": 7,\n    \"newspapers\": 7,\n    \"admission to cultural events\": 7,\n    \"admission to entertainment events\": 7,\n    \"hotels\": 7\n    ...\n  }\n}\n```\n\n## `rateList`\n\n`rateList` returns a list of vat rates\n\n**Signature:**\n\n```typescript\nrateList(): Promise<Response>\n```\n\n**Example:**\n\n```javascript\nconst response = layer.rateList()\n\nconsole.log('response:', response)\n```\n\n## `calculate`\n\n`calculate` calculates the vat amount based on the country code\n\n**Signature:**\n\n```typescript\ncalculate(country_code: string, amount: number): Promise<Response>\n```\n\n**Example:**\n\n```javascript\nconst response = layer.calculate(\"GB\", 125)\n\nconsole.log('response:', response)\n```\n\n**Response:**\n\n```javascript\n{\n  country_code: \"GB\",\n  country_name: \"United Kingdom\",\n  price_excl_vat: 125, // price without vat\n  price_incl_vat: 150, // price with vat\n  vat_rate: 20 // vat amount\n}\n```\n\n## License\n\n[MIT](/LICENSE)\n","readmeFilename":"README.md"}