No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

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)


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);

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.