# Kdv Hesapla

> Türkiye KDV ve stopaj hesaplamaları yapar; KDV dahil/hariç dönüşümü, %1/%10/%20 oranlar, brüt-net ve tevkifat. Bir Python yardımcı betiği çağırabilir. Use when the user needs Turkish VAT (KDV) or withholding (stopaj/tevkifat) math — converting VAT-inclusive/exclusive prices, applying %1/%10/%20 rates, or computing gross/net amounts.

- Skill: `eruo005-dev/kdv-hesapla` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add eruo005-dev/kdv-hesapla`
- Raw SKILL.md: https://api.skillmd.com/api/skills/eruo005-dev/kdv-hesapla/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: eruo005-dev (https://skillmd.com/u/eruo005-dev)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/eruo005-dev/kdv-hesapla

---


# Türkiye KDV / Stopaj Hesaplama

Türkiye'de geçerli KDV oranları (2026 itibarıyla **%1, %10, %20**) ve stopaj/tevkifat hesaplamalarını doğru ve gösterilebilir biçimde yapar. Hesaplamalar için `scripts/kdv.py` yardımcı betiğini kullanabilir.

## Ne zaman kullanılır

- KDV **hariç** tutardan KDV **dahil** tutara (veya tersine) geçmek
- Bir fiyatın içindeki KDV tutarını ayrıştırmak
- Doğru oranı seçmek (temel gıda %1, belirli hizmetler %10, genel %20)
- Stopaj/gelir vergisi tevkifatı sonrası net/brüt bulmak

## Temel formüller

- **KDV hariçten dahile:** `dahil = haric * (1 + oran)`
- **KDV dahilden harice:** `haric = dahil / (1 + oran)`
- **Dahil tutardaki KDV:** `kdv = dahil - dahil / (1 + oran)`
- **KDV tutarı (hariçten):** `kdv = haric * oran`
- **Stopaj (brütten net):** `net = brut * (1 - stopaj_orani)`; `kesinti = brut * stopaj_orani`

Oranlar ondalık olarak: %20 → `0.20`, %10 → `0.10`, %1 → `0.01`.

## Yardımcı betik (scripts/kdv.py)

Hesabı elle yapmak yerine, doğruluk için betiği çağır:

```bash
# KDV hariç 1000 TL, oran %20 -> dahil tutar ve KDV
python3 scripts/kdv.py haric-to-dahil 1000 20

# KDV dahil 1200 TL, oran %20 -> hariç tutar ve içindeki KDV
python3 scripts/kdv.py dahil-to-haric 1200 20

# Brüt 10000 TL üzerinden %20 stopaj
python3 scripts/kdv.py stopaj 10000 20
```

Betik, tutarları 2 ondalık basamağa yuvarlayıp KDV matrahını, KDV tutarını ve toplamı yazdırır.

### Girdi doğrulama

Betik geçersiz girdileri reddeder ve `stderr`'e Türkçe hata yazıp çıkış kodu `2` döndürür:

- **Tutar negatif olamaz** (KDV/stopaj için anlamsız).
- **Oran %0 ile %100 arasında olmalı** (negatif veya aşırı oranlar reddedilir; `-100` oranı ayrıca sıfıra bölme hatasını önler).
- **`nan`/`inf` gibi sonlu olmayan değerler** reddedilir.

Testler: `cd scripts && python3 test_kdv.py`

## Oran seçimi (özet rehber)

- **%1:** Temel gıda maddeleri, gazete/dergi, bazı tarımsal ürünler, ikinci el araç (KDV mükellefinden) — duruma göre.
- **%10:** Belirli gıda ve hizmetler, tekstil, konaklama, bazı sağlık hizmetleri.
- **%20:** Genel oran; çoğu mal ve hizmet.

Oran mevzuata ve ürün/hizmet sınıfına göre değişir. Emin değilsen kullanıcıya hangi oranı varsaydığını açıkça belirt ve doğrulamasını öner.

## Çıktı beklentisi

- Matrah, oran, KDV tutarı ve toplamı net biçimde göster (mümkünse küçük tablo).
- Para birimini (TL) ve yuvarlamayı belirt.
- Birden fazla kalem varsa satır satır göster, sonra topla.
- Hesabı betikle yaptıysan komutu ve sonucu birlikte ver.

## Örnek

**İstek:** "KDV hariç 1.000 TL'lik danışmanlık, %20 KDV. Toplam ne olur?"

**Çıktı:**

| Kalem | Tutar |
|---|---|
| Matrah (KDV hariç) | 1.000,00 TL |
| KDV (%20) | 200,00 TL |
| **Genel toplam** | **1.200,00 TL** |

