Cryptolens.VATCalculator 1.0.1

This library helps you to 1) verify a VAT number using the European Commission's API and 2) get the tax percentage (VAT) that should be applied to an invoice.

The package is aimed at European businesses (i.e. companies within the EU).

Install-Package Cryptolens.VATCalculator -Version 1.0.1
dotnet add package Cryptolens.VATCalculator --version 1.0.1
paket add Cryptolens.VATCalculator --version 1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

VAT Calculator

This library does two things:

  1. Computes the VAT given a country and a VAT number.
  2. Verifies VAT number with the EU Comission's SOAP app.

When verifying VAT number, don't view this as an on-demand service, since it might
fail occasionally due to errors or maintenance (see
this document)

Examples

[Fact]
public void TestCalculateVAT()
{
    // if it's a Swedish company (or any other EU member state)
    // but no VAT is given, then the tax should be 25%.
    Assert.Equal(2500, VATService.CalculateVAT("SE", null).Tax);

    // if it's a Swedish company (or any other EU member state)
    // and a valid VAT is provided, then no tax is applied and
    // it's instead the responsibility of the buyer  to pay it
    // (reversed tax liability)
    Assert.Equal(0, VATService.CalculateVAT("SE", "valid VAT").Tax);

    // if it's a US company (or any other non-EU country), then
    // it's export and no tax should be applied.
    Assert.Equal(0, VATService.CalculateVAT("US", null).Tax);
}

[Fact]
public void TestIsValidVAT()
{
    // before we can compute the tax, we need to check the VAT
    // with the EU comission's API. Note, this service is not
    // working 24/7, so we may need to check the VAT serveral times.
    Assert.True(VATService.IsValidVAT("SE559116174901").IsValid);
}

VAT Calculator

This library does two things:

  1. Computes the VAT given a country and a VAT number.
  2. Verifies VAT number with the EU Comission's SOAP app.

When verifying VAT number, don't view this as an on-demand service, since it might
fail occasionally due to errors or maintenance (see
this document)

Examples

[Fact]
public void TestCalculateVAT()
{
    // if it's a Swedish company (or any other EU member state)
    // but no VAT is given, then the tax should be 25%.
    Assert.Equal(2500, VATService.CalculateVAT("SE", null).Tax);

    // if it's a Swedish company (or any other EU member state)
    // and a valid VAT is provided, then no tax is applied and
    // it's instead the responsibility of the buyer  to pay it
    // (reversed tax liability)
    Assert.Equal(0, VATService.CalculateVAT("SE", "valid VAT").Tax);

    // if it's a US company (or any other non-EU country), then
    // it's export and no tax should be applied.
    Assert.Equal(0, VATService.CalculateVAT("US", null).Tax);
}

[Fact]
public void TestIsValidVAT()
{
    // before we can compute the tax, we need to check the VAT
    // with the EU comission's API. Note, this service is not
    // working 24/7, so we may need to check the VAT serveral times.
    Assert.True(VATService.IsValidVAT("SE559116174901").IsValid);
}

Release Notes

Update metadata.

Version History

Version Downloads Last updated
1.0.1 57 9/3/2018
1.0.0 42 8/29/2018