Apa yang Akan Kita Bangun?
Dalam tutorial ini, Anda akan membuat bot UiPath yang melakukan tiga hal:
- Membaca data dari file Excel (daftar invoice)
- Memfilter invoice yang sudah jatuh tempo
- Mengirim email reminder otomatis ke vendor terkait
Ini adalah skenario automation yang paling umum di perusahaan Indonesia — dan bisa diselesaikan dalam 30 menit jika Anda mengikuti langkah-langkah di bawah.
Persiapan
Pastikan Anda sudah memiliki:
- UiPath Studio Community Edition terinstal (lihat panduan instalasi di artikel "Panduan Belajar UiPath untuk Pemula")
- File Excel contoh dengan kolom:
No Invoice,Vendor,Email Vendor,Jumlah,Jatuh Tempo - Akun email untuk testing (Gmail atau Outlook)
Jika belum punya file Excel contoh, buat file invoice_sample.xlsx dengan data dummy berikut:
| No Invoice | Vendor | Email Vendor | Jumlah | Jatuh Tempo |
|---|---|---|---|---|
| INV-001 | PT Maju Jaya | finance@majujaya.co.id | 15000000 | 2026-04-01 |
| INV-002 | CV Berkah Mandiri | ap@berkahmandiri.com | 8500000 | 2026-05-15 |
| INV-003 | PT Sentosa Abadi | billing@sentosa.id | 22000000 | 2026-03-20 |
Langkah 1: Buat Project Baru
- Buka UiPath Studio
- Klik New Project → Process
- Beri nama:
InvoiceReminderBot - Pilih bahasa: VB.NET (default)
- Klik Create
UiPath akan membuat project dengan file Main.xaml — ini adalah workflow utama bot Anda.
Langkah 2: Baca Data Excel
- Di Activities Panel, cari "Excel Process Scope" dan drag ke Designer
- Di dalam Excel Process Scope, drag aktivitas "Use Excel File"
- Pada property Excel File, browse ke file
invoice_sample.xlsx - Beri nama reference:
InvoiceFile - Di dalam Use Excel File, drag aktivitas "Read Range"
- Set property:
- Sheet name:
"Sheet1" - Range: kosongkan (baca semua data)
- Output → Save to: buat variabel baru
dtInvoice(tipe DataTable)
- Sheet name:
Sekarang variabel dtInvoice berisi seluruh data dari Excel Anda.
Langkah 3: Filter Invoice Jatuh Tempo
- Setelah Read Range, drag aktivitas "For Each Row in DataTable"
- Set input DataTable ke
dtInvoice - Di dalam loop, drag aktivitas "If"
- Pada Condition, ketik:
DateTime.Parse(CurrentRow("Jatuh Tempo").ToString) < DateTime.Now
Kondisi ini mengecek apakah tanggal jatuh tempo sudah lewat dari hari ini. Jika ya (Then), kita akan kirim email reminder.
Langkah 4: Kirim Email Reminder
- Di bagian Then dari If, drag aktivitas "Send SMTP Mail Message"
- Konfigurasikan property berikut:
- Host:
"smtp.gmail.com"(untuk Gmail) atau"smtp.office365.com"(untuk Outlook) - Port:
587 - Email: email pengirim Anda
- Password: App Password (bukan password biasa — buat di Google Account Settings)
- To:
CurrentRow("Email Vendor").ToString - Subject:
"Reminder: Invoice " + CurrentRow("No Invoice").ToString + " Jatuh Tempo" - Body:
"Yth. " + CurrentRow("Vendor").ToString + ", Dengan hormat, kami mengingatkan bahwa invoice nomor " + CurrentRow("No Invoice").ToString + " sebesar Rp " + CurrentRow("Jumlah").ToString + " telah melewati tanggal jatuh tempo. Mohon segera dilakukan pembayaran. Terima kasih."
- Host:
Langkah 5: Tambahkan Logging
Best practice: selalu tambahkan log agar Anda tahu apa yang dilakukan bot.
- Sebelum Send Mail, drag aktivitas "Log Message"
- Set Level ke Info
- Set Message:
"Mengirim reminder ke " + CurrentRow("Vendor").ToString + " (" + CurrentRow("Email Vendor").ToString + ")" - Di bagian Else dari If, tambahkan Log Message:
"Invoice " + CurrentRow("No Invoice").ToString + " belum jatuh tempo — skip"
Langkah 6: Jalankan Bot
- Pastikan file Excel tidak sedang terbuka di aplikasi lain
- Tekan F5 atau klik Run
- Perhatikan Output Panel — Anda akan melihat log untuk setiap invoice yang diproses
- Cek inbox email vendor (gunakan email testing Anda sendiri untuk percobaan)
Meningkatkan Bot: Ide Pengembangan
Bot dasar ini bisa dikembangkan lebih lanjut:
- Tambahkan template email HTML — Gunakan aktivitas Send SMTP Mail dengan IsBodyHtml = True
- Buat summary report — Tulis hasil eksekusi (berapa email terkirim, berapa gagal) ke file Excel terpisah
- Schedule bot — Jalankan otomatis setiap pagi jam 8 menggunakan Windows Task Scheduler atau UiPath Orchestrator
- Error handling — Tambahkan Try-Catch untuk menangani email yang gagal terkirim
- Config file — Pindahkan setting SMTP, path file, dan template email ke file konfigurasi terpisah
Langkah Selanjutnya
Tutorial ini memberikan fondasi automation dengan UiPath. Untuk menguasai skenario yang lebih kompleks — seperti automasi SAP GUI, web scraping, dan Document Understanding — ikuti kursus UiPath RPA Developer Foundation dari Frans Training. Dalam 3 hari intensif, Anda akan membangun 5+ bot dengan bimbingan langsung dari praktisi RPA bersertifikasi.
FAQ
Kenapa email tidak terkirim?
Penyebab paling umum: (1) Gmail memblokir "less secure apps" — gunakan App Password, bukan password biasa, (2) Port salah — pastikan menggunakan port 587 dengan TLS, (3) Firewall perusahaan memblokir SMTP — hubungi tim IT Anda.
Bisa menggunakan file CSV selain Excel?
Ya. Gunakan aktivitas "Read CSV" sebagai pengganti Excel Process Scope + Read Range. Sisanya sama.
Bagaimana jika data Excel sangat besar (10.000+ baris)?
UiPath bisa memproses 10.000+ baris tanpa masalah. Untuk performance optimal, gunakan "Filter DataTable" activity sebelum loop — agar bot hanya memproses invoice yang jatuh tempo, bukan iterasi semua baris.