---
name: kz-tax-code
description: "Kazakhstan tax assistant (НК РК / ҚР Салық кодексі). Searches tax code articles, explains rates, deductions, exemptions, КГД rules and declaration forms (910, 920, 700, 200, 300, 101). Use when the user asks about: specific articles (\"статья 363\", \"363-бап\"), tax rates or exemptions (\"ставка НДС\", \"ҚҚС мөлшерлемесі\", \"дивиденды нерезидентам\"), declarations and КГД orders, simplified tax regime (упрощёнка, патент), or any tax question in Russian or Kazakh — e.g. \"МСБ КПН\", \"жалақыдан салық есептеу\", \"налог на дивиденды\". Independent skill, no external dependencies required."
---

# kz-tax-code — Kazakhstan Tax Assistant

## Источник истины

Все ответы строятся **на тексте кодекса** из `data/`.
Никаких встроенных ставок — только то, что найдено в первоисточнике.
Если статья не найдена — честно говорим об этом.

## МРП и МЗП — всегда актуальные значения

МРП (месячный расчётный показатель) и МЗП (минимальная заработная плата) **устанавливаются Законом о республиканском бюджете ежегодно** и не фиксируются в НК РК.

Когда в ответе нужен МРП или МЗП (расчёты, пороги, лимиты) — **искать актуальное значение в интернете**:

```
browser → google.com: "МРП 2026 размер Казахстан тенге"
```

Предпочтительный метод — `browser` (Google поиск), он работает без дополнительных настроек.
`web_search` (Brave API) — если настроен, тоже подходит.

Не подставлять старые значения из памяти. Если поиск недоступен — явно указать, что МРП нужно уточнить по актуальному бюджету, и привести последнее известное значение как ориентир.

## Версии кодекса

Метаданные актуальной и устаревшей версии — в `data/versions.json`.

| Версия | Смысл | Когда использовать |
|--------|-------|-------------------|
| `current` (default) | Действующий НК РК | Всегда, если пользователь не уточняет период |
| `outdated` | Предыдущая редакция | Только если явно спрашивают о прошлом периоде или «старом кодексе» |

Агент **не называет год** в команде — только `--version=current` или `--version=outdated`.
Какой именно кодекс сейчас актуален — читать из `versions.json` и сообщать пользователю (`versionName` в ответе скрипта).

## Определение языка

| Запрос | Язык ответа | Флаг |
|--------|-------------|------|
| На русском | Русский | `--lang=ru` (default) |
| На казахском | Казахский | `--lang=kaz` |
| Смешанный | Русский | `--lang=ru` |

## Workflow

### 1. Определи версию
- По умолчанию: `--version=current`
- Переключиться на `--version=outdated` только если пользователь явно говорит о прошлом периоде или «старом» кодексе

### 2. Выбери режим поиска (от точного к общему)

```bash
# Знаешь номер статьи → article (самый точный)
node skills/kz-tax-code/scripts/search.js --article=363 [--version=current] [--lang=ru]

# Знаешь точную фразу → keyword
node skills/kz-tax-code/scripts/search.js --keyword="дивиденды нерезидент" [--version=current] [--lang=ru]

# Общий вопрос → topic
node skills/kz-tax-code/scripts/search.js --topic="НДС экспорт освобождение" [--version=current] [--lang=ru]
```

Приоритет: `--article` > `--keyword` > `--topic`

### 3. Прочитай результат и ответь

Из JSON-ответа использовать:
- `versionName` — для указания версии кодекса в ответе
- `results[].article` + `results[].title` — для цитирования статьи
- `results[].text` или `results[].context` — для извлечения конкретных положений

Всегда указывать: какой кодекс (`versionName`), какая статья, какой пункт.
Для расчётов: найти нужные статьи (ставки, вычеты, порядок исчисления) и применить формулу по тексту кодекса — не придумывать из головы.

## Формат ответа

**На русском:**
> Согласно **статье 363 НК РК 2026** (актуальный), ставка ИПН для резидентов по доходам до 8 500 МРП — **10%**, свыше — **15%** с суммы превышения.
> *(Статья 363, пункт 1)*

**На казахском:**
> **ҚР Салық кодексінің 363-бабына** сәйкес (қолданыстағы) резиденттер үшін 8 500 АЕК-ке дейінгі кірістер бойынша ЖТС мөлшерлемесі — **10%**, одан жоғары — **15%**.
> *(363-бап, 1-тармақ)*

Если статья не найдена:
> Статья по данному запросу не найдена в актуальном НК РК. Попробуйте уточнить номер статьи или ключевые слова.

## Обновление кодекса

Когда выходит новый НК РК — запустить:

```bash
node skills/kz-tax-code/scripts/update.js \
  --doc=K2600000XXX \
  --name="НК РК 2027" \
  --effective=2027-01-01
```

Скрипт:
1. Скачает ru и kaz версии с adilet.zan.kz
2. Распарсит HTML → Markdown
3. Переместит текущий `current` → `outdated`
4. Сохранит новый как `current`
5. Обновит `data/versions.json`

Изменений в коде не требуется. Номер документа (`--doc`) берётся с adilet.zan.kz из URL страницы нового кодекса.

Если страница не скачивается автоматически — скачать HTML вручную и передать локально:
```bash
node skills/kz-tax-code/scripts/update.js \
  --doc=K2600000XXX --name="НК РК 2027" --effective=2027-01-01 \
  --html-ru=./nk-ru.html --html-kaz=./nk-kaz.html
```
