# Toldpriser.dk > Danish customs duty calculator and import fee information platform. Helps Danish consumers calculate customs duties (told), VAT (moms), and import fees when purchasing goods from countries outside the EU. Toldpriser.dk is a free, public-facing web application for Danish consumers and businesses. It provides tools and information for understanding and calculating the total cost of importing goods into Denmark, including customs duties, 25% Danish VAT, and carrier handling fees (e.g. PostNord's 160 DKK import fee). ## Key Features - **Customs Calculator (Toldberegner)**: An interactive calculator that computes the total import cost including duty, VAT, and handling fees. Supports 30+ currencies with live exchange rates, fuzzy product category search, IOSS (pre-paid VAT) toggle, and a dedicated 2026 rules mode. - **July 2026 Rules Guide (1. juli 2026)**: Detailed guide on the abolition of the €150 duty-free threshold and introduction of the €3/category flat rate told. - **November 2026 Rules Guide (1. nov. 2026)**: Guide detailing the upcoming EU-wide handling fee of up to €2 for low-value imports. - **Customs Rules Guide (Toldregler)**: Comprehensive guide to Danish customs rules including thresholds, IOSS, gift rules, and travel duty-free limits. - **Duty Rates Database (Toldsatser)**: Searchable database of product categories with their corresponding duty percentages, sourced from EU CN codes. - **News & FAQ**: Dynamic content sections served from the database. - **AliExpress Product Ads**: Contextual affiliate product ads fetched via the AliExpress API, displayed based on the user's selected product category and target price. ## How the Customs Calculator Works The calculator determines total import cost to Denmark using these rules: ### Current Rules (before July 1, 2026) - **0–1,150 DKK (incl. shipping)**: No customs duty. VAT (25%) and 160 DKK handling fee apply unless IOSS pre-paid. - **Over 1,150 DKK**: Customs duty (category-dependent %) + VAT (25%) on (price + shipping + duty) + 160 DKK handling fee. - **IOSS**: If VAT pre-paid via IOSS and total ≤ 1,150 DKK, no additional VAT or handling fee. - **Gifts**: Under 360 DKK exempt; 360–1,150 DKK subject to VAT + fee; over 1,150 DKK subject to 2.5% duty + VAT + fee. ### New Rules (from July 1, 2026) - **Under 1,150 DKK (approx. €150)**: Flat 22.50 DKK (~€3) customs charge per unique product category in the shipment. No percentage-based duty. VAT (25%) and handling fee (160 DKK) still apply (handling fee is waived if using IOSS). - **Over 1,150 DKK**: Normal percentage-based duty rates apply (same as current rules for high-value items). Flat category charge does not apply. ### Calculation Formulas #### 1. Current Rules (and High-Value Imports > 1,150 DKK under 2026 Rules) ``` duty = (price_dkk + shipping_dkk) × duty_rate% vat = (price_dkk + shipping_dkk + duty) × 25% handling_fee = 160 DKK (waived if under 1,150 DKK and using IOSS) total = price_dkk + shipping_dkk + duty + vat + handling_fee ``` #### 2. New Rules (from July 1, 2026) for Low-Value Imports (≤ 1,150 DKK) - **If IOSS pre-paid**: ``` duty = unique_category_count × 22.50 DKK vat = duty × 25% (Note: item price already includes VAT via IOSS, so VAT is only computed on the new duty) handling_fee = 0 DKK total = price_dkk_vat_inclusive + shipping_dkk + duty + vat ``` - **If Non-IOSS**: ``` duty = unique_category_count × 22.50 DKK vat = (price_dkk + shipping_dkk + duty) × 25% handling_fee = 160 DKK + (item_count > 1 ? (item_count - 1) × 36 DKK : 0) total = price_dkk + shipping_dkk + duty + vat + handling_fee ``` ## Pages - [Home](https://toldpriser.dk/): Landing page with highlights on 2026 rule changes and link to the calculator - [Customs Calculator](https://toldpriser.dk/calculator): Interactive duty/VAT/fee calculator with real-time results (current rules) - [July 2026 Calculator](https://toldpriser.dk/july-2026-calculator): Interactive calculator for computing import costs under the new rules starting July 1, 2026 - [July 2026 Rules](https://toldpriser.dk/new-rules-july-2026): Detailed guide on the EU customs regulation changes effective July 2026 - [November 2026 Rules](https://toldpriser.dk/new-rules-november-2026): Guide on the new EU handling fee effective November 2026 - [Customs Rules](https://toldpriser.dk/rules): Complete guide to Danish import customs rules, thresholds, and exemptions - [Duty Rates](https://toldpriser.dk/rates): Searchable table of product categories and their customs duty percentages - [News](https://toldpriser.dk/news): Latest customs and import-related news - [FAQ](https://toldpriser.dk/faq): Frequently asked questions about customs and importing to Denmark ## Technical Architecture ### Frontend - **Framework**: React 18 with Vite - **Routing**: React Router v7 with lazy-loaded pages - **Search**: Fuse.js for fuzzy product category matching - **Icons**: Lucide React - **Typography**: Inter font via @fontsource - **Ads**: Google AdSense + AliExpress affiliate product ads via custom AdsContext - **Analytics**: Umami (privacy-friendly) ### Backend - **Framework**: Spring Boot 4.0 (Java 25) - **Database**: MariaDB 11.4 - **ORM**: Spring Data JPA with Hibernate - **Deployment**: Docker Compose with Nginx reverse proxy ### API Endpoints - `GET /api/rates` — All duty rate categories with percentages and keywords - `GET /api/faqs` — FAQ entries - `GET /api/news` — News articles - `GET /api/pages/{filename}` — CMS page content by filename - `GET /api/exchange-rates` — Live currency exchange rates (30+ currencies) - `POST /api/calculate` — Calculate duty, VAT, and fees for a given import scenario - `GET /api/ads/category/{categoryId}?targetPriceDkk=X` — Fetch AliExpress affiliate product ads for a category ### Data Model - **DutyRate**: Product categories with `categoryType`, `percentageRate`, `keywords` (for search), `aliSearchQuery` (for ad targeting) - **ExchangeRate**: Currency codes with conversion rates to DKK - **Faq/News/Page**: CMS content entities - **DutyCalculationRequest**: Calculator input (price, shipping, currency rate, duty rate %, IOSS flag, 2026 mode flag, category count) - **DutyCalculationResult**: Calculator output (base price DKK, shipping DKK, duty amount, extra duty, VAT amount, handling fee, final total) ## Important Danish Customs Terminology | Danish Term | English Translation | Description | |---|---|---| | Told | Customs Duty | Tax on imported goods based on product category | | Moms | VAT (Value Added Tax) | 25% tax on goods + duty | | Importgebyr | Import/Handling Fee | 160 DKK fee charged by PostNord/courier for customs clearance | | Toldsats | Duty Rate | The percentage rate for a specific product category | | Varekategori | Product Category | Classification of goods for duty purposes | | Toldberegner | Customs Calculator | Tool for calculating import costs | | Fortoldning | Customs Clearance | Process of declaring goods through customs | | IOSS | Import One-Stop Shop | EU system for pre-paying VAT on imports ≤ €150 | | Fragtpris/Porto | Shipping Cost | Cost of transporting goods to Denmark | | Varelinje | Product Line | Each distinct product type in a shipment (36 DKK extra per additional line) |