# Panduan eBupot Generator

> Cara pakai eBupot Generator: setup, isi data karyawan dan vendor, generate XML bukti potong untuk Coretax, serta format JSON untuk backup.

URL: https://williamjakfar.com/ebupot-generator/guide

Tool untuk membuat file XML bukti potong pajak yang bisa langsung di-import ke **Coretax**. Semua data diproses di browser — tidak ada yang dikirim ke server.

[Buka eBupot Generator &rarr;](https://williamjakfar.com/ebupot-generator)

---

## Cara Pakai

### 1. Setup

Pilih jenis wajib pajak: **Badan** (PT, CV) atau **Orang Pribadi** (freelancer, OP usaha). Isi nama dan NPWP 16 digit. NITKU otomatis diturunkan dari NPWP + 000000.

Untuk Orang Pribadi, data kamu otomatis ditambahkan ke tab Karyawan.

### 2. Isi Data Master

- **Karyawan** — daftar karyawan/pegawai tetap. Dipakai di tab BPMP dan 1721-A1.
- **Vendor** — daftar rekanan/vendor/freelancer. Dipakai di tab PPh Unifikasi dan PPh 21.

### 3. Isi Transaksi

Klik *"+ Tambah baris"* di tab yang sesuai, lalu pilih karyawan/vendor dari dropdown.

| Tab | Jenis Bukti Potong | Data Sumber | Keterangan |
| --- | --- | --- | --- |
| BPMP | PPh 21 Payroll Bulanan | Karyawan | Tarif TER (PP 58/2023) otomatis dihitung dari PTKP & bruto |
| PPh Unifikasi | PPh 22 / 23 / 4(2) | Vendor | Tarif default sesuai kode objek pajak, bisa di-override |
| PPh 21 | PPh 21 Non-Payroll | Vendor | PPh = Bruto × DPP% × Tarif% |
| 1721-A1 | Bukti Potong Tahunan | Karyawan | Hitung otomatis: biaya jabatan, neto, PTKP, PKP, tarif progresif |

### 4. Generate XML

Pilih tab yang ingin di-generate, set masa pajak / tahun, lalu klik **Generate XML**. File XML bisa di-copy atau di-download, lalu import ke Coretax.

---

## Export & Import JSON

**Export JSON** mengunduh semua data (profil, karyawan, vendor, semua transaksi) sebagai file `ebupot_data.json`. Berguna untuk backup atau pindah browser.

**Import JSON** memuat file JSON yang sudah di-export sebelumnya, mengembalikan semua data.

### Template JSON

Kamu bisa membuat file JSON sendiri untuk di-import. Berikut strukturnya:

```
{
  "company": {
    "type": "individual",
    "name": "NAMA LENGKAP",
    "tin": "1234567890123456"
  },
  "employees": [
    {
      "npwp": "1234567890123456",
      "name": "NAMA KARYAWAN",
      "ptkp": "TK/0",
      "position": "Direktur",
      "is_foreign": false,
      "passport": ""
    }
  ],
  "vendors": [
    {
      "npwp": "9876543210123456",
      "name": "NAMA VENDOR",
      "ptkp": "TK/0"
    }
  ],
  "bpmpRows": [
    {
      "month": 1,
      "year": 2026,
      "npwp": "1234567890123456",
      "code": "21-100-01",
      "gross": 10000000,
      "date": "2026-01-31"
    }
  ],
  "bppuRows": [
    {
      "month": 1,
      "year": 2026,
      "npwp": "9876543210123456",
      "code": "24-104-03",
      "cert": "N/A",
      "dpp": 5000000,
      "rate": 2,
      "doc": "CommercialInvoice",
      "docNum": "INV-001",
      "docDate": "2026-01-15",
      "date": "2026-01-31"
    }
  ],
  "bp21Rows": [
    {
      "month": 1,
      "year": 2026,
      "npwp": "9876543210123456",
      "ptkp": "TK/0",
      "code": "21-100-20",
      "cert": "N/A",
      "gross": 10000000,
      "deemed": 50,
      "rate": 5,
      "doc": "CommercialInvoice",
      "docNum": "INV-002",
      "docDate": "2026-01-15",
      "date": "2026-01-31"
    }
  ],
  "a1Rows": [
    {
      "npwp": "1234567890123456",
      "year": 2026,
      "ptkp": "TK/0",
      "position": "Direktur",
      "objCode": "21-100-01",
      "monthStart": 1,
      "monthEnd": 12,
      "grossUp": "No",
      "cert": "N/A",
      "salary": 120000000,
      "taxBenefit": 0,
      "otherBenefit": 0,
      "honorarium": 0,
      "insurance": 0,
      "natura": 0,
      "bonus": 10000000,
      "pension": 2400000,
      "zakat": 0,
      "whDate": "2026-12-31"
    }
  ]
}
```

---

## Referensi Field

### company.type

`"company"` (Badan) atau `"individual"` (Orang Pribadi)

### ptkp

Status PTKP karyawan/vendor. Pilihan:

`TK/0` `TK/1` `TK/2` `TK/3` `K/0` `K/1` `K/2` `K/3`

### code (Kode Objek Pajak)

Contoh yang sering dipakai. Daftar lengkapnya ada di dropdown Kode Objek di generator.

#### BPMP

- `21-100-01` — Pegawai Tetap termasuk PNS, TNI, Polri, Pejabat Negara
- `21-100-02` — Penerima Pensiun secara teratur

#### PPh Unifikasi (BPPU)

- `24-104-03` — Jasa Konsultan (2%)
- `24-100-02` — Sewa Harta Selain Tanah/Bangunan (2%)
- `24-101-01` — Dividen (15%)
- `28-403-02` — Persewaan Tanah dan/atau Bangunan (10%)
- `28-423-01` — UMKM PP23 - Penjualan/Jasa (0.5%)

#### PPh 21 Non-Payroll (BP21)

- `21-100-20` — Pemberi Jasa dalam Segala Bidang (DPP 50%)
- `21-100-07` — Tenaga Ahli (Pengacara, Akuntan, Arsitek, Dokter, Konsultan, Notaris) (DPP 50%)
- `21-100-10` — Honorarium Dewan Komisaris/Pengawas (Non-Pegawai) (DPP 100%)
- `21-100-17` — Peserta Kegiatan Lainnya (DPP 100%)

### cert (Fasilitas)

- `N/A` — Tidak ada fasilitas
- `DTP` — Ditanggung Pemerintah
- `PP23` — PP 23/2018 (UMKM, khusus BPPU)

### deemed (DPP %)

Persentase Dasar Pengenaan Pajak dari bruto. Contoh: `50` berarti PPh dihitung dari 50% bruto.

### doc (Jenis Dokumen)

`"CommercialInvoice"` atau `"TaxInvoice"`

---

[&larr; Kembali ke eBupot Generator](https://williamjakfar.com/ebupot-generator)
