# Tutorial Aplikasi Frappe (HR, CRM, Helpdesk, LMS, Drive)

Panduan memakai aplikasi Frappe lain di stack yang sama.

# HR (HRMS) — Karyawan, Absensi, Cuti, Payroll

Mengelola SDM ISP: karyawan, absensi, cuti, penggajian, dan klaim biaya. Akses: **https://hr.dev.inti.net.id/** (atau dari Desk ERPNext → modul HR).

> Data contoh: 10 karyawan (mis. **Agus Pratama** – Sales, **Joko Susilo** – Teknisi Jaringan, **Lia Permata** – NOC Engineer).

## 1. Karyawan (Employee)

1. Buka **HR → Employee** (atau Pencarian: `Employee`).
2. Klik **+ Add Employee**. Isi: nama, gender, **tanggal lahir**, **tanggal bergabung**, **Company**, **Department**, **Designation** (mis. *Teknisi Jaringan*).
3. **Save**. Status default *Active*.

> 📷 **Foto:** daftar Employee & satu form karyawan.

## 2. Hari Libur & penugasannya (penting)

HRMS membaca kalender libur lewat **Holiday List Assignment**, bukan hanya field di Employee.
1. Pastikan ada **Holiday List** (mis. *Hari Libur Nasional 2026*).
2. Buka **Holiday List Assignment → New**: `Applicable For = Company`, pilih perusahaan, pilih holiday list, isi *From Date*, lalu **Submit**.
   Satu assignment level Company berlaku untuk semua karyawan (dipakai saat hitung slip gaji & cuti).

> 📷 **Foto:** Holiday List Assignment level Company (status Submitted).

## 3. Absensi (Attendance)

- **Manual**: **HR → Attendance → New** → pilih karyawan, tanggal, status (*Present/Absent/Half Day*) → **Submit**.
- **Massal**: gunakan **Attendance Tool** / **Bulk Attendance** untuk banyak karyawan sekaligus.

> 📷 **Foto:** daftar Attendance.

## 4. Cuti (Leave)

1. **Leave Allocation → New**: beri jatah cuti per karyawan & jenis cuti (mis. *Casual Leave* 12 hari), **Submit**.
2. **Leave Application → New**: pilih karyawan, jenis cuti, tanggal, set **Status = Approved**, **Submit**.

> 📷 **Foto:** Leave Application Approved.

## 5. Penggajian (Payroll)

1. **Salary Component**: komponen gaji (mis. *Gaji Pokok*, *Tunjangan Transport* = Earning; *Potongan BPJS* = Deduction).
2. **Salary Structure** (mis. *Struktur Gaji Standar*): susun earning & deduction, **Submit**.
3. **Salary Structure Assignment**: tetapkan struktur + gaji pokok (*base*) ke tiap karyawan, **Submit**.
4. **Salary Slip → New**: pilih karyawan + periode (awal–akhir bulan) → sistem menghitung dari struktur → **Submit**.
   Untuk banyak karyawan sekaligus pakai **Payroll Entry**.

> 📷 **Foto:** Salary Slip yang sudah dihitung.

## 6. Klaim Biaya (Expense Claim)

1. Pastikan ada **Expense Claim Type** (mis. *Transport Teknisi*) dengan akun default.
2. **Expense Claim → New**: pilih karyawan, tambah baris biaya (tanggal, tipe, jumlah, **Cost Center**), set **Approved**, **Submit**.

> 📷 **Foto:** Expense Claim teknisi.

## 7. Rekrutmen (Recruitment)

> Data contoh: 2 lowongan (*Teknisi Jaringan Lapangan*, *Customer Support Agent*) + 3 pelamar.

1. **Job Opening → New**: isi posisi, **Designation**, perusahaan, status *Open*.
2. **Job Applicant → New**: data pelamar (nama, email) ditautkan ke lowongan; ubah status seiring proses (Open → Hold → Replied → Accepted/Rejected).
3. Pelamar yang diterima bisa dijadikan **Employee** lewat tombol *Create → Employee*.

> 📷 **Foto:** daftar Job Opening & Job Applicant.

## 8. Laporan HR

Lewat Pencarian: **Employee**, **Monthly Attendance Sheet**, **Salary Register**, **Leave Balance** — atur filter perusahaan/periode lalu Refresh.

> 📷 **Foto:** laporan Salary Register / Monthly Attendance Sheet.

# CRM — Leads, Deals & Pipeline

Mengelola prospek & peluang penjualan ISP (B2B). Akses: **https://crm.dev.inti.net.id/**.

> Data contoh: organisasi seperti **PT Permata Logistik**, **Universitas Teknologi Mandiri**; leads & deals layanan dedicated/business.

## 1. Konsep CRM Frappe

Alur: **Lead** (kontak awal) → dikualifikasi → **Deal** (peluang dengan nilai) → menang/kalah. Didukung **Organization**, **Contact**, **Task**, dan **Call Log**.

> 📷 **Foto:** tampilan utama CRM (daftar Leads).

## 2. Membuat Lead

1. Menu **Leads → + Create**.
2. Isi **Nama depan/belakang**, **Email**, **No. HP**, **Organization**, dan **Status** (mis. *New*, *Contacted*, *Qualified*).
3. **Save**. Buka lead untuk menambah catatan, tugas, dan log aktivitas.

> 📷 **Foto:** form/detail Lead.

## 3. Mengubah Lead jadi Deal

1. Buka Lead yang sudah *Qualified* → klik **Convert to Deal**.
2. Lengkapi **Deal**: organisasi, nilai/anggaran, **Status** pipeline (*Qualification → Proposal/Quotation → Negotiation → Won/Lost*), perkiraan tanggal closing.
3. **Save**. Gunakan tampilan **Kanban** untuk menggeser deal antar tahap.

> 📷 **Foto:** papan Kanban Deals per tahap.

## 4. Organization & Contact

- **Organizations**: data perusahaan calon/pelanggan (industri, website, no. karyawan).
- **Contacts**: orang/PIC; bisa ditautkan ke organization & deal.

> 📷 **Foto:** detail Organization dengan deals terkait.

## 5. Aktivitas: Task & Call Log

- **Tasks**: to-do sales (mis. *Follow up penawaran*, *Survey lokasi*) dengan tenggat & status.
- **Call Logs**: catat panggilan masuk/keluar (durasi, hasil) — otomatis terisi bila modul telephony tersambung.

> 📷 **Foto:** daftar Task & Call Log pada satu deal.

## 6. Tips

- CRM dan ERPNext berada di site yang sama; deal yang menang bisa ditindaklanjuti jadi Quotation/Sales Order di ERPNext.
- Atur kolom & filter pada list untuk memantau pipeline per status/owner.

# Helpdesk — Tiket & Knowledge Base

Mengelola tiket gangguan/keluhan pelanggan ISP dan Knowledge Base. Akses: **https://helpdesk.dev.inti.net.id/**.

> Data contoh: 10+ tiket (Internet lambat, LOS merah, upgrade paket, dll) dengan status beragam, 8 customer, 5 artikel KB.

## 1. Konsep

- **Ticket**: permintaan/keluhan dari pelanggan, punya **status** (Open → Replied → Resolved → Closed), **priority** (Low/Medium/High/Urgent), **type**, dan **SLA**.
- **HD Customer / Contact**: pelanggan & narahubung.
- **Agent / Team**: petugas penangan & grup (mis. NOC, Support).
- **Knowledge Base (Article)**: artikel bantuan self-service.

> 📷 **Foto:** dashboard Helpdesk (daftar tiket).

## 2. Membuat & menangani Tiket

1. Klik **+ New Ticket**. Isi **Subject**, deskripsi, pilih **Ticket Type** (mis. *Gangguan Layanan*), **Priority**, dan **Customer**.
2. **Save**. Tiket masuk antrian.
3. Buka tiket: balas pelanggan lewat **Reply**, tambah catatan internal lewat **Comment**.
4. Ubah **Status** seiring penanganan; set **Resolved/Closed** bila selesai.
5. **Assign** ke agent/team yang menangani.

> 📷 **Foto:** detail tiket dengan percakapan & panel status/priority.

## 3. Ticket Type, Priority, Team

- **Ticket Type**: kategori (Gangguan Layanan, Permintaan Baru, Tagihan, Pertanyaan Umum).
- **Team/Agent Group**: arahkan tiket ke tim yang tepat (NOC vs Support).
- **SLA**: target waktu respon/penyelesaian; tiket menampilkan sisa waktu SLA.

> 📷 **Foto:** pengaturan Ticket Type / Team.

## 4. Knowledge Base

1. Menu **Knowledge Base**.
2. Buat **Category** (mis. *Panduan Pelanggan*) lalu **Article** (mis. *Apa yang dilakukan saat lampu LOS merah*).
3. Tulis isi, set **Published**. Artikel bisa dibaca pelanggan untuk self-service & ditautkan saat membalas tiket.

> 📷 **Foto:** daftar/editor Article Knowledge Base.

## 5. Menjadikan Tiket sebagai Task (integrasi Project)

Helpdesk tidak punya fitur "convert to task" bawaan, jadi sudah ditambahkan **link dua arah** ke modul **Project** ERPNext:
- HD Ticket punya field **Project Task** (link ke Task).
- Task punya field **Helpdesk Ticket** (link ke HD Ticket).

> Data contoh: semua tiket sudah dibuatkan Task di project **Penanganan Tiket Support ISP** (status, prioritas, dan due date mengikuti tiketnya).

**Melihat task dari tiket:** buka tiket di tampilan **Desk** `https://erpnext.dev.inti.net.id/app/hd-ticket/<no-tiket>` → lihat field **Project Task**. Atau buka **Projects → Penanganan Tiket Support ISP** untuk semua task (lengkap dengan due date, assign teknisi, dan tampilan **Gantt**).

**Membuat task dari tiket baru:**
1. Buka tiket (Desk), pada field **Project Task** klik **+ Create a new Task**, isi judul/tenggat, simpan → otomatis tertaut.
2. Atau buka **Task baru** di project *Penanganan Tiket Support ISP*, isi field **Helpdesk Ticket** dengan nomor tiket.
3. Status task: *Open → Working → Completed*; assign ke teknisi lewat tombol **Assign**.

Manfaat: penanganan tiket bisa **dijadwalkan (due date), di-assign, dan muncul di laporan/Gantt project** — sesuatu yang tidak ada di modul Helpdesk saja.

> 📷 **Foto:** field *Project Task* pada tiket (Desk) + daftar task di project *Penanganan Tiket Support ISP*.

## 6. Laporan

Gunakan filter & tampilan list untuk memantau tiket per status, per agent, dan SLA terlewati. Helpdesk juga menyediakan ringkasan/statistik di dashboard.

> 📷 **Foto:** statistik tiket (per status / per type).

# Learning (LMS) — Kursus & Pelatihan

Membuat materi pelatihan internal ISP. Akses: **https://learning.dev.inti.net.id/**.

> Data contoh: kursus **Dasar Jaringan FTTH untuk Teknisi**, **Customer Service & Penanganan Keluhan**, **Pengenalan Billing & Langganan** lengkap dengan chapter & lesson, plus kuis dan batch.

## 1. Konsep

Struktur: **Course** → **Chapter** → **Lesson**. Dilengkapi **Quiz**, **Batch** (kelas terjadwal), **Enrollment** (peserta), dan **Category**.

> 📷 **Foto:** katalog kursus LMS.

## 2. Membuat Course

1. Masuk sebagai admin/instruktur → **Create Course** (atau Desk → *LMS Course → New*).
2. Isi **Title**, **Short Introduction**, **Description**, pilih **Category**, dan tambah **Instructor**.
3. Set **Published** agar tampil di katalog. **Save**.

> 📷 **Foto:** form pembuatan Course.

## 3. Chapter & Lesson

1. Di dalam course, tambah **Chapter** (mis. *Pengenalan FTTH*).
2. Pada tiap chapter, tambah **Lesson** dan isi materinya (teks, gambar, video, atau kuis).
3. Susun urutan chapter/lesson sesuai alur belajar.

> 📷 **Foto:** struktur Chapter & Lesson sebuah course.

## 4. Quiz

1. Buat **Quiz** (judul, total nilai, persentase kelulusan).
2. Tambah pertanyaan (pilihan ganda/benar-salah) beserta jawaban benar.
3. Sisipkan quiz ke dalam lesson sebagai evaluasi.

> 📷 **Foto:** editor Quiz & pertanyaan.

## 5. Batch & Enrollment

- **Batch**: kelas terjadwal (tanggal mulai–selesai, jam, instruktur) — cocok untuk pelatihan teknisi baru.
- **Enrollment**: pendaftaran peserta ke course/batch. Peserta harus berupa **User** sistem.

> ⚠️ Menambah peserta baru butuh **akun User**. Minta admin membuat akun untuk tiap peserta sebelum enrollment massal.

> 📷 **Foto:** detail Batch dengan daftar peserta.

## 6. Tips

- Gunakan kursus untuk onboarding teknisi & CS baru.
- Materi bisa dikombinasikan teks + video + kuis agar interaktif.

# Drive, Builder, Insights & Lending

Tiga aplikasi pendukung (Drive, Builder, Insights) dan catatan modul Lending.

## A. Drive — penyimpanan dokumen

Akses: **https://drive.dev.inti.net.id/**. Mirip Google Drive untuk berbagi file tim.

> Data contoh: folder *Dokumen Operasional ISP*, *SOP Teknisi*, *Template Surat & Kontrak*.

1. Buka Drive → pilih **Team/Home**.
2. **New → Folder** untuk membuat folder; **New → Upload** atau drag-drop untuk mengunggah file (PDF, gambar, dokumen).
3. Klik kanan file/folder → **Share** untuk mengatur akses (lihat/edit) per pengguna/tim.
4. Gunakan **Move/Rename/Star** untuk merapikan.

> 📷 **Foto:** tampilan Drive dengan folder & file.

## B. Builder — pembuat halaman web

Akses: **https://builder.dev.inti.net.id/**. Membuat halaman web (landing page) tanpa coding.

> Data contoh: halaman **INTINET Landing**.

1. Buka Builder → **+ New Page**.
2. Tarik elemen (heading, teks, gambar, tombol, kolom) ke kanvas; atur teks & style di panel kanan.
3. Atur **Route** (alamat halaman) dan **Page Title**.
4. Klik **Publish** untuk menerbitkan; halaman dapat diakses di route tersebut.

> 📷 **Foto:** kanvas editor Builder.

## C. Insights — dashboard & analitik

Akses: **https://insights.dev.inti.net.id/**. Membuat laporan/visualisasi dari data.

> Data contoh: workbook **Analisis Pelanggan ISP** (data source **Site DB**) berisi **3 query + 3 chart + 1 dashboard** siap pakai:
> - **Penjualan per Bulan** (line) — total `grand_total` Sales Invoice per bulan
> - **Pelanggan per Wilayah** (bar) — jumlah Customer per territory
> - **Tiket per Status** (pie) — jumlah HD Ticket per status
> - Dashboard **Dashboard Operasional ISP** menggabungkan ketiganya.

1. **Data Source**: **Site DB** sudah terhubung ke database site (semua doctype bisa di-query).
2. **Workbook**: buka **Analisis Pelanggan ISP** (atau buat baru lewat **+ Workbook**).
3. **Query**: 3 query di atas sudah jadi. Untuk membuat query baru: pilih tabel (mis. `tabSales Invoice`), tambah langkah **Summarize** (ukuran + dimensi), filter, dll.
4. **Chart**: 3 chart sudah dibuat dari query di atas. Untuk chart baru: dari hasil query klik **Add Chart** → pilih tipe (bar/line/pie) dan atur sumbu X (dimensi) & Y (ukuran).
5. **Dashboard**: dashboard **Dashboard Operasional ISP** sudah menggabungkan ketiga chart. Anda bisa menambah/menggeser chart lewat drag-drop.

> 📷 **Foto:** dashboard *Dashboard Operasional ISP* dengan 3 chart.
>
> 💡 Semua berjalan di atas data ERPNext/Helpdesk nyata. Bila chart tampil kosong, buka chart → klik **Refresh**/atur ulang sumbu sekali untuk men-generate ulang hasilnya.

## D. Lending — modul pinjaman karyawan

Akses lewat **Desk** (Pencarian: `Loan`). Modul sudah dikonfigurasi dan berisi data contoh.

> Data contoh: produk **Pinjaman Karyawan** (bunga 6%/tahun), 3 pengajuan (Loan Application), dan 1 Loan aktif.

### Yang sudah disiapkan (konfigurasi awal)
- **Akun GL pinjaman**: Pinjaman Karyawan (aset), Piutang Bunga/Denda, Suspense, Pendapatan Bunga/Denda.
- **Loan Demand Offset Order** *Urutan Pelunasan Standar* (urutan: Denda → Bunga → Pokok → Biaya).
- **Loan Product** *Pinjaman Karyawan* dengan akun-akun di atas.

### Alur penggunaan
1. **Loan Application → New**: pilih *Applicant Type = Employee* + karyawan, **Loan Product** *Pinjaman Karyawan*, jumlah, metode & jumlah periode cicilan, **Submit**.
2. **Loan → New** (atau dari aplikasi yang disetujui): buat pinjaman, isi tanggal mulai cicilan, **Submit** → jadwal angsuran dibuat otomatis.
3. **Loan Disbursement**: cairkan dana (posting ke kas & akun pinjaman).
4. **Loan Repayment**: catat pembayaran cicilan (untuk karyawan bisa via potong gaji/Payroll).

> 📷 **Foto:** Loan Product, Loan Application, dan Loan beserta jadwal angsuran.
>
> 💡 Untuk menambah produk pinjaman lain, siapkan akun GL-nya lalu salin pola Loan Product *Pinjaman Karyawan*.