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.
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"}'Facts
Format
- Prefix
- DK
- Digits
- 8
- Regex
- ^DK\d{8}$
DK10150817DK10150810DK1015081VAT rates (DKK)
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
}
}
Test against production VATs
Real numbers from publicly-documented corporate filings. Click to see the live result.
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.
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.