JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 80
  • Score
    100M100P100Q67869F
  • License MIT

Validate foreign VAT numbers via German “Bundeszentralamt für Steuern”

Package Exports

  • evatr
  • evatr/dist/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (evatr) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Bestätigung von ausländischen Umsatzsteuer-Identifikationsnummern

Actions Status codecov npm version

Validates foreign (in regards to Germany) VAT numbers for their validity. Allows to perform a “simple” check, for just checking the number, and a “qualified” check, which validates the number in regard to a given company name and city (and optionally zip code and street).

The service is provided by the German “Bundeszentralamt für Steuern”. The German documentation of the API an be found here. Since v8.0.0 it uses the REST-API instead of the obsolete XML RPC interface.

To use this tool, you need to be in possesion of a valid German VAT number.

Installation

$ yarn add evatr

Usage

import * as evatr from 'evatr';

const simpleResult = await evatr.checkSimple({
  ownVatNumber: 'DE115235681',
  validateVatNumber: 'CZ00177041'
});

const qualifiedResult = await evatr.checkQualified({
  ownVatNumber: 'DE115235681',
  validateVatNumber: 'CZ00177041',
  companyName: 'ŠKODA AUTO a.s.',
  city: 'Mlada Boleslav',
  zip: '293 01',
  street: 'tř. Václava Klementa 869'
});

Development

Use Volta.

Install NPM dependencies with yarn.

To execute the tests, run yarn test.

For the best development experience, make sure that your editor supports ESLint, Prettier and EditorConfig.

Error Codes

There’s a script which scrapes and includes human-readable error codes from here. This way, obscure codes such as evatr-2003 are mapped to an understandable German message (for this example: “Das angegebene Länderkennzeichen der angefragten USt-IdNr. ist nicht gültig.”)

To update the list, run the NPM task yarn scrape-error-codes which will produce a file error-codes.ts.

Releasing to NPM

Commit all changes and run the following:

$ npm login
$ npm version <update_type>
$ npm publish

… where <update_type> is one of patch, minor, or major. This will update the package.json, and create a tagged Git commit with the version number.

Contributing

Pull requests are very welcome. Feel free to discuss bugs or new features by opening a new issue.


Copyright Philipp Katz, LineUpr GmbH, 2018 – 2025