AI Class

Otomasi Proses Dokumen dengan n8n + OCR + AI: Panduan Langkah-demi-Langkah

· 4 menit baca

Otomasi Proses Dokumen dengan n8n + OCR + AI: Panduan Langkah-demi-Langkah

Ringkasan: Dalam artikel ini kita akan membahas bagaimana membangun pipeline otomasi dokumen untuk memproses faktur, formulir, atau kuitansi menggunakan n8n, layanan OCR, dan model AI untuk ekstraksi, validasi, dan enrichment data.

Mengapa Otomasi Dokumen penting?

Perusahaan sering menghadapi volume dokumen yang besar: faktur, bukti pembayaran, formulir pendaftaran, dan lainnya. Memproses data secara manual rentan terhadap kesalahan, memakan waktu, dan tidak skalabel. Dengan menggabungkan n8n (platform otomasi workflow open-source), OCR (Optical Character Recognition), dan AI (LLM atau model khusus), kamu dapat:

  • Mengurangi waktu proses manual
  • Meningkatkan akurasi ekstraksi data
  • Membuat alur validasi otomatis
  • Mengintegrasikan data ke ERP, Google Sheets, atau sistem internal

Arsitektur Solusi (Overview)

Secara umum pipeline yang akan kita buat terdiri dari beberapa langkah:

  1. Input dokumen (email attachment, upload, atau folder cloud)
  2. Pre-processing (konversi PDF ke gambar, deskew, crop)
  3. OCR untuk mengubah gambar menjadi teks
  4. AI untuk ekstraksi entitas (nama, nomor faktur, tanggal, total)
  5. Validasi & enrichment (cek supplier, kurensi, nomor PO)
  6. Output & integrasi (database, Google Sheets, notifikasi Slack)

Komponen yang Dibutuhkan

  • n8n (self-hosted atau cloud)
  • Layanan OCR (Tesseract, Google Vision API, AWS Textract, atau OCR.space)
  • Model AI / LLM (OpenAI, local LLM seperti Llama 2, atau model khusus)
  • Storage (S3, Google Drive, atau lokal)
  • Sistem tujuan (Google Sheets, database, ERP)

Contoh Workflow n8n: Langkah-demi-Langkah

Berikut adalah flow sederhana yang bisa kamu buat di n8n. Saya sertakan node utama dan tujuan tiap node.

  1. Trigger - Email/Filesystem/Webhook: Menerima dokumen masuk.
    • Node: IMAP Email atau Webhook
  2. Node - Get Binary Data: Ambil attachment atau file binary.
  3. Node - Preprocess: (Optional) Convert PDF to images. Gunakan docker image atau eksternal API.
    // Contoh command untuk konversi PDF ke PNG menggunakan ImageMagick
    convert -density 300 input.pdf -quality 100 output.png
    
  4. Node - OCR: Kirim gambar ke OCR API atau lokal (Tesseract).
    • Jika memakai Tesseract: gunakan node Execute Command atau server microservice.
    • Jika memakai API: gunakan HTTP Request node untuk memanggil endpoint OCR.
  5. Node - AI / Extractor: Kirim teks hasil OCR ke model AI untuk mengekstrak entitas.
    // Prompt sederhana untuk ekstraksi
    "Ekstrak data dari teks faktur berikut: Berikan JSON dengan field: vendor, invoice_number, date, total, currency."
    
  6. Node - Validator: Cek format tanggal, jumlah, dan apakah vendor terdaftar.
    • Gunakan JS/Function node untuk validasi custom.
  7. Node - Save: Simpan hasil ke database atau Google Sheets.
  8. Node - Notification: Kirim notifikasi (Slack/Email) bila ada error atau sukses.

Contoh Prompt untuk Ekstraksi dengan LLM

Prompt yang jelas meningkatkan akurasi. Contoh prompt yang bisa digunakan:

"Anda adalah extractor data faktur. Dari teks di bawah, keluarkan JSON dengan field: vendor, invoice_number, tanggal (YYYY-MM-DD), total (angka), currency (ISO), item_lines (array). Jika field tidak ditemukan, gunakan null. Berikan hanya JSON sebagai output.\n\nTeks:\n{{ocr_text}}"

Tips Meningkatkan Akurasi OCR + AI

  • Pre-processing gambar: crop area penting, tingkatkan kontras, hapus noise.
  • Multiple OCR passes: Gabungkan hasil dari dua engine OCR (misal Tesseract + Google Vision) untuk meningkatkan recall.
  • Post-process AI: Gunakan regex dan validasi numerik untuk memastikan format tanggal dan angka benar.
  • Feedback loop: Simpan kasus yang gagal untuk pelatihan prompt atau model custom di masa depan.

Contoh Node Function di n8n (Pseudo-JS)

// Function node untuk normalisasi tanggal dan angka
items.forEach(item => {
  const data = item.json;
  // Normalize tanggal ke ISO
  if (data.date) {
    const d = new Date(data.date);
    data.date_iso = isNaN(d) ? null : d.toISOString().split('T')[0];
  }
  // Normalize total
  if (data.total) {
    data.total_number = Number(String(data.total).replace(/[^0-9.-]+/g, '')) || null;
  }
});
return items;

Studi Kasus Singkat: Otomasi Faktur Masuk

Perusahaan A menerima 100 faktur per hari via email. Dengan workflow di atas mereka berhasil:

  • Mengurangi entri manual dari 8 jam/hari menjadi ~30 menit untuk pengecekan.
  • Meningkatkan akurasi nomor faktur dan total hingga >95% setelah tuning prompts.
  • Mempercepat proses pembayaran karena integrasi otomatis ke sistem akuntansi.

Keamanan & Privasi

Dokumen sering berisi data sensitif. Beberapa rekomendasi:

  • Gunakan enkripsi saat transit dan di rest storage.
  • Jika memakai layanan pihak ketiga (OCR/LLM), pastikan kebijakan data mereka sesuai regulasi (mis. GDPR).
  • Saring dan mask data sensitif bila perlu (PII masking).

Kesimpulan

Menggabungkan n8n, OCR, dan AI memungkinkan membangun pipeline otomasi dokumen yang scalable dan akurat. Mulailah dengan proof-of-concept kecil (mis. 1 tipe dokumen), kumpulkan data error untuk iterasi, dan tambahkan validasi serta integrasi sistem sesuai kebutuhan bisnis.

Mulai sekarang: Buat satu workflow di n8n untuk 1 jenis dokumen, gunakan OCR yang paling mudah diakses, dan iterasikan prompt AI sampai hasilnya stabil.

Butuh template workflow n8n atau contoh JSON untuk prompt? Tinggalkan komentar di JIPRAKS Classroom — kami akan buat contoh yang bisa langsung di-import.

Artikel terkait