vatverify home
Denmark

Check Denmark VAT numbers

Validate Danish VAT numbers (CVR) against the EU VIES registry. Danish numbers are DK followed by 8 digits. The CVR number is the same identifier used across all public Danish company registrations, so validating a VAT number also confirms the company's central business registry entry. Every response includes the company name, registered address, and validity at query time.

EU member stateCVR — MerværdiafgiftDKK

Try it

curl -X POST "https://api.vatverify.dev/v1/validate" \  -H "Authorization: Bearer $VATVERIFY_KEY" \  -H "Content-Type: application/json" \  -d '{"vat_number":"DK10150817"}'
Loading reliability...

Facts

Format

Prefix
DK
Digits
8
Regex
^DK\d{8}$
ValidDK10150817
Bad checksumDK10150810
Bad formatDK1015081

Registry

VIES powers /v1/validate for Denmark.

VAT rates (DKK)

25%
Standard

What we return for Denmark

{
  "data": {
    "valid": true,                       // boolean validity at query time
    "vat_number": "DE129273398",
    "country": {
      "code": "DE",
      "name": "Germany",
      "vat": { "standard_rate": 19 }
    },
    "company": {
      "name": "SIEMENS AG",              // legal entity name
      "address": "..."                    // when VIES provides it
    },
    "verified_at": "2026-04-25T10:00:00Z"
  },
  "meta": {
    "request_id": "019dc...",            // for audit trail correlation
    "source": "vies",
    "source_status": "live",             // live | cached | degraded
    "cached": false,
    "latency_ms": 234
  }
}

Watch out for

  • Denmark has no reduced VAT rate. All goods and services (except exports) are taxed at 25%; do not apply a reduced rate for food or books.
  • The DK prefix simply prepends the 8-digit CVR from the Centrale Virksomhedsregister; CVR and VAT number are the same identifier.
  • Not all CVR-registered entities are VAT-registered (e.g. associations, foundations). Confirm via VIES before applying reverse charge.

CVR is the Danish business identifier

Danish VAT numbers are 8 digits prefixed with DK. The underlying identifier is the CVR-nummer (Centrale Virksomhedsregister), issued by the Danish Business Authority (Erhvervsstyrelsen).

CVR is a single identifier serving multiple purposes. The same 8-digit number is used for VAT, corporate registration, and general business administration. A Danish business has one CVR; whether the entity is VAT-registered (momsregistreret) is a flag on the record.

vatverify validates the structural form (DK followed by 8 digits) before the VIES call. The CVR includes a check digit which is verifiable offline.

Erhvervsstyrelsen is the source of truth for CVR

The Danish Business Authority maintains the central CVR register and exposes it publicly through cvr.dk. the Danish Tax Agency (Skattestyrelsen) (the Danish tax agency) manages the VAT-registration flag on top of the CVR record.

A consequence: a CVR can resolve in cvr.dk even when the entity is not VAT-registered (because, for example, it operates only in VAT-exempt sectors, or the registration was withdrawn). VIES will return valid: false in that case while the CVR public portal still shows an active business record. vatverify validates against VIES; for a CVR-only check the public portal is the right tool.

Moms rates

Denmark runs a single positive VAT rate: 25% standard. There is no reduced rate for general supplies. The 0% rate applies to exports, intra-Community supplies, and a defined list including newspapers and some specific medical and educational services.

The flat-rate structure is unusual within the EU and simplifies invoicing logic considerably. There is no rate-bracket lookup required for Danish supplies; if VAT applies, it is 25%.

VAT-grouping (fællesregistrering)

Denmark allows VAT-grouping (fællesregistrering), where related companies under common control register as a single VAT taxpayer with one CVR-nummer for VAT purposes. Internal supplies between group members fall outside the scope of VAT.

For external counterparties this is invisible: the group has one DK VAT number that resolves through VIES like any other. But if you are reconciling an internal Danish corporate structure against external counterparty data, multiple legal entities may share one public VAT identifier. The shared CVR is intentional, not a duplicate.

Reverse-charge for specific sectors

Denmark applies domestic reverse-charge to mobile phones, integrated circuits, gas, and electricity supplied between two Danish VAT-registered businesses, mirroring rules applied across several member states to combat carousel fraud. This is independent of EU intra-Community reverse-charge.

If you build invoicing logic for these sectors, the domestic reverse-charge is the default treatment between Danish counterparties.

Cross-border with Sweden, Germany, Norway

Denmark borders Sweden and Germany (both EU) and trades heavily with Norway (EEA, not EU). Standard EU intra-Community reverse-charge applies to B2B supplies between Denmark and other-EU VAT-registered businesses.

Norwegian buyers fall under export rules; the supply is outside the scope of EU VAT. See the Norway page for the BRREG validation context and the EEA tax treatment.

Caching against the the Danish Tax Agency (Skattestyrelsen) cycle

the Danish Tax Agency (Skattestyrelsen) pushes registration changes to VIES on a daily cycle. Newly VAT-registered Danish CVRs are generally visible in VIES within 24 hours. vatverify's default TTLs (30 days for valid, 24 hours for invalid) align with this cadence.

Loading FAQ…

Automate Denmark VAT checks in your stack

Replace manual lookups with one API call against VIES. Drops into invoicing, checkout, and signup flows in any language. 500 free validations per month, no credit card.