# Pph Final Umkm

> Calculate statutory 0.5% MSME final income tax under PP No. 55/2022 & PP No. 20/2026 including the Rp 500M annual threshold exemption for Individual Taxpayers.

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

---


# UMKM Final Tax 0.5% Calculator (PP 55/2022 & PP 20/2026)

Calculates 0.5% final PPh for MSMEs under Government Regulation PP No. 55/2022 and PP No. 20/2026.

## Statutory Provenance & Temporal Framework
* **Historical Statute (Effective 2022-01-01 to 2026-04-21)**: PP No. 55 Tahun 2022 (Pasal 56 - 57) — `UMKM-2022`.
* **Current Statute (Effective 2026-04-22 onwards)**: PP No. 20 Tahun 2026 — `UMKM-2026`.

## Eligible Taxpayers & Entity Rules (PP 20/2026)
Pass parameters to `engines/umkm-tax-calculator.js`:
* **Wajib Pajak Orang Pribadi (Individual)**: Eligible for 0.5% final tax. The first **Rp 500.000.000 (Rp 500M)** of gross annual revenue is **completely tax-exempt (0% tax)**. Tax at 0.5% is only levied on cumulative revenue exceeding Rp 500M.
* **Perseroan Perorangan (PT Perorangan / Single-Person PT)**: Eligible for 0.5% final tax. No Rp 500M exemption applies.
* **Koperasi (Cooperative)**: Eligible for 0.5% final tax. No Rp 500M exemption applies.
* **Badan Hukum Lain (PT / CV / Firma)**: **NOT eligible** for the 0.5% final tax under PP 20/2026 (must calculate PPh under general corporate tax rules).
* **Turnover Threshold**: Maximum gross annual turnover limit is **Rp 4.8 Billion**. Cumulative YTD turnover exceeding Rp 4.8B invalidates final tax eligibility.

## Trust Envelope (Confidence Contract)
Every engine output must be wrapped in a structured envelope declaring production trust attributes:
* **`regulatory_framework`**: Applying regulation with article references (e.g. `PP No. 20/2026 - PPh Final UMKM`).
* **`ruleset_version`**: Versioned Id of the `engines/rules/*.json` ruleset consulted (e.g. `UMKM-2026 v1.0.0`).
* **`effective_window`**: `[effective_from] – [effective_to]` of the applied ruleset.
* **`integrity_status`**: `VERIFIED` after SHA-256 ruleset check, or `UNVERIFIED` — never present silent calculations when UNVERIFIED.
* **`risk_level`**: Contextual `LOW / MEDIUM / HIGH` per skill risk metadata.
* **`requires_human_review`**: `true` for HIGH risk outputs — mandatory professional sign-off before filing, payment, or execution.
* **`currency`**: IDR, rounded to the nearest whole Rupiah unless another precision is stated.
* **`as_of`**: The simulation/effective date used to select the ruleset.

