> For the complete documentation index, see [llms.txt](https://api-portal.novapost.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://api-portal.novapost.com/changelog-1/documentation-1/zmini-dlya-kalkulyatora-vartosti-dostavki-v-yevropi.md).

# Зміни для калькулятора вартості доставки в Європі

На вимогу митного законодавства змінюється розрахунок митних платежів для деяких країн Європи (країни присутності Nova Post) при відправці з України :

* Австрія
* Бельгія
* Велика Британія
* Естонія
* Іспанія
* Італія
* Латвія
* Литва
* Нідерланди
* Німеччина
* Польща
* Румунія
* Словаччина
* Угорщина
* Франція
* Чехія

Для вказаних країн митний платіж розраховується з урахуванням унікальних УКТЗЕД (HS-код) в інвойсі, причина експорту, ставки ПДВ для країни отримувача і наявності IOSS-кода відправника (спеціального електронного ідентифікатора та системи в ЄС, яка дозволяє сплачувати ПДВ під час продажу та ввезення товарів вартістю до 150 євро безпосередньо через маркетплейс). Мито також залежить від того, чи отримувач – приватна особа, чи юридична.

**Як це виглядає?**

Для коректного нарахування мита у випадках коли клієнт хоче сам сплатити мито (як відправник або як третя особа) в тілі запиту до калькулятора клієнт передає дані про позиції інвойсу, вказує причину та в блоці інформації про відправника додає IOSS‑код – так само, як при створенні МЕН.

**Запит**

Метод **POST** `v.1.0/shipments/calculations`

***Як було***

```
{
  "payerType": "ThirdPerson",
  "payerContractNumber": "1111111",
  "deliveryTypes": [
    "standard"
  ],
  "invoice": {
    "incoterm": "DDP",
    "currency": "EUR",
    "payerFeesCustoms": "Sender",
    "cost": 100
  },
  "parcels": [
    {
      "cargoCategory": "parcel",
      "insuranceCost": 100,
      "rowNumber": 1,
      "width": 500,
      "length": 500,
      "height": 500,
      "actualWeight": 1000,
      "volumetricWeight": 25000
    }
  ],
  "sender": {
    "countryCode": "UA",
    "divisionId": 4438,
    "divisionNumber": "-"
  },
  "recipient": {
    "countryCode": "CZ",
    "divisionId": 1834946,
    "addressParts": {}
  }
}
```

***Як стало***

```
{
  "payerType": "ThirdPerson",
  "payerContractNumber": "1111111",
  "deliveryTypes": [
    "standard"
  ],
  "invoice": {
    "incoterm": "DDP",
    "currency": "EUR",
    "payerFeesCustoms": "ThirdPerson",
    "cost": 125,
     // нові поля які впливають на розрахунок//
    "exportReason": "Selling", 
    "items": [
            {
                "hsCode": "4411149200",
                "amount": 5,
                "cost": 25
            }
      ]
    // ---- //
  },
  "parcels": [
    {
      "cargoCategory": "parcel",
      "insuranceCost": 125,
      "rowNumber": 1,
      "width": 500,
      "length": 500,
      "height": 500,
      "actualWeight": 1000,
      "volumetricWeight": 25000
    }
  ],
  "sender": {
    "companyTin": "11111",
    "countryCode": "UA",
    "divisionId": 4438,
    "divisionNumber": "-",
    "ioss": null // нове поле, яке впливає на розрахунок
  },
  "recipient": {
    "companyTin": "111111", // нове поле, яке впливає на розрахунок
    "countryCode": "CZ",
    "divisionId": 1834946,
    "addressParts": {}
  }
}
```

**Поля, які додалися в запит або будуть впливати на розрахунок**

<table data-search="false"><thead><tr><th width="232">Поле</th><th width="176">Тип</th><th>Обов'язковість</th><th>Можливі значення / опис</th></tr></thead><tbody><tr><td>exportReason</td><td><code>string · enum</code></td><td>Опціональне</td><td><p><code>ForPersonalPurposes</code></p><p><code>Selling</code></p><p><code>Repair</code></p><p><code>Return</code></p><p><code>Other</code></p></td></tr><tr><td>payerFeesCustoms</td><td><code>string · enum</code></td><td>Опціональне</td><td><p><code>Sender</code></p><p><code>Recipient</code></p><p><code>ThirdPerson</code></p></td></tr><tr><td>invoice.items</td><td><code>array[object]</code></td><td>Опціональне</td><td>Список позицій інвойса, які будуть декларуватися</td></tr><tr><td>invoice.items[].hsCode</td><td><code>string</code></td><td>Yes*</td><td>Код УКТЗЕД або HS-код для Європи</td></tr><tr><td>invoice.items[].amount</td><td><code>number</code></td><td>Yes*</td><td>Кількість одиниць позиції інвойса</td></tr><tr><td>invoice.items[].cost</td><td><code>number</code></td><td>Yes*</td><td>Вартість одиниці позиції в валюті інвойса</td></tr><tr><td>sender.ioss</td><td><code>string · max: 12</code></td><td>Опціональне</td><td>IOSS-код відправника</td></tr><tr><td>recipient.companyTin</td><td><code>string · max: 20</code></td><td>Опціональне</td><td>Національний реєстраційний номер компанії</td></tr></tbody></table>

Загальний опис контракту [Розрахунок вартості доставки | API Docs | NovaPost](https://api-portal.novapost.com/methods/ua/overview/shipments/delivery-cost)

Потрібно врахувати, що відсутність переданих даних по кодам, заповненого значення для поля exportReason може призвести до некоректного розрахунку, який буде відрізнятися від фактичного після створення МЕН.

Митні платежі у відповіді відокремлюються в наступні поля:

* `recipientPayerFeesCustomsCost` - Значення цього поля показує, яку суму митних платежів повинен буде сплатити отримувач, якщо він буде обраний платником митних платежів.
* `senderPayerFeesCustomsCost` - Значення цього поля показує, яку суму митних платежів сплачуватиме відправник (третя особа), якщо він буде обраний платником митних платежів.

Ці поля дозволяють відправнику або третій особі порівняти суми митних платежів залежно від того, кого буде обрано платником митних платежів. Вартість послуг повертається у валюті країни відправки посилки.

Загальна вартість доставки без врахування митних платежів з врахуванням персональних знижок відображатиметься в полі `cost`.

Загальна вартість доставки з митними платежами без знижок відображатиметься в полі `price`.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://api-portal.novapost.com/changelog-1/documentation-1/zmini-dlya-kalkulyatora-vartosti-dostavki-v-yevropi.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
