AI Class

Cara Bangun AI Agent untuk Automasi Invoice Reconciliation di n8n (Tanpa Coding Kompleks)

· 3 menit baca

Cara Bangun AI Agent untuk Automasi Invoice Reconciliation di n8n (Tanpa Coding Kompleks)

1. Hook: Kenapa Invoice Reconciliation Bikin Pusing?

Setiap akhir bulan, tim finance selalu berjuang memadukan ribuan faktur dari berbagai supplier dengan data pembayaran di bank. Manual matching menyebabkan:

  • Kesalahan human error yang mengakibatkan overpay atau underpay.
  • Waktu yang terbuang — biasanya 2–3 hari kerja per siklus.
  • Sulit melacak penyebab selisih karena tidak ada audit trail otomatis.

Jika Anda seorang founder atau finance lead, mengurangi waktu dan risiko di titik ini memberikan dampak cash‑flow yang signifikan.

2. Konsep Cepat: AI Agent + n8n = Reconciliation Otomatis

AI Agent adalah layanan yang dapat memanggil model LLM (mis. OpenAI GPT‑4) untuk menafsirkan teks, menyarankan keputusan, dan berinteraksi dengan API lain. Dipadukan dengan n8n, yang orchestrates alur kerja, kita dapat:

  • Ekstrak data faktur (PDF/CSV) via OCR atau parser.
  • Bandingkan dengan transaksi bank (CSV, API, atau webhook).
  • Gunakan LLM untuk *fuzzy matching* dan menjelaskan selisih.
  • Otomatis buat tiket di Slack/Teams atau kirim email ke accountant.

Semua ini dibangun dalam 5 node n8n dan satu AI Agent function.

3. Breakdown Teknis: Langkah‑langkah Workflow

3.1. Persiapan

  • Deploy n8n (Docker atau Railway) dengan node HTTP Request, Function, OpenAI, dan Google Cloud Vision enabled.
  • Dapatkan API key OpenAI dan kredensial bank (mis. Plaid atau CSV upload).
  • Buat folder invoices/ pada bucket S3/Google Cloud Storage untuk menaruh PDF faktur.

3.2. Node‑node Workflow

  1. Trigger – Cron: Setiap hari pukul 02:00 AM, jalankan workflow.
  2. Google Cloud Vision (OCR): Ambil semua PDF baru di bucket, konversi ke teks.
  3. Function – Parse Invoice: Ekstrak invoice_number, date, total_amount, vendor_name menggunakan regex & simple‑LLM prompt.
    const parse = (text) => {
      const pattern = /Invoice\s*#?\s*(\w+).*Date:\s*(\d{2}\/\d{2}\/\d{4}).*Total\s*:\s*\$?([\d,]+\.\d{2})/s;
      const match = text.match(pattern);
      return match ? {invoice: match[1], date: match[2], amount: parseFloat(match[3].replace(/,/g, ''))} : {};
    };
    return parse($json["ocrText"]);
    
  4. HTTP Request – Bank Transactions: Pull transaksi hari‑kemarin dari API bank (atau bacalah CSV upload). Pastikan format {date, amount, description}.
  5. OpenAI – Fuzzy Matching Agent: Kirim prompt yang meminta model mencocokkan faktur dengan transaksi.
    {"role": "system", "content": "Kamu adalah asisten keuangan. Cocokkan faktur dengan transaksi bank. Berikan hasil dalam JSON: [{invoice, transactionId, status, note}]"}
    {"role": "user", "content": `Invoice: ${JSON.stringify($json["invoiceData"])}\nTransaksi: ${JSON.stringify($json["bankData"])} `}
    
  6. IF – Decision: Jika status == "matched", lanjut ke Update ERP (HTTP PATCH). Jika unmatched, kirim Slack message dengan detail selisih.

3.3. Audit Trail & Logging

Tambahkan node Write Binary File untuk menyimpan JSON hasil matching ke bucket reconciliation_logs/. Ini berguna untuk compliance dan audit.

4. Contoh Use Case Real: SaaS FinTech “PayBuddy”

PayBuddy mengelola pembayaran B2B untuk 200+ klien. Sebelum otomatisasi, timnya menghabiskan 15 jam per minggu untuk memeriksa selisih. Setelah mengimplementasikan workflow di atas:

  • Waktu reconcilation turun menjadi 30 menit per siklus.
  • Over‑payment berkurang 96%.
  • Tim dapat fokus pada analisis cash‑flow alih‑alih entri manual.

Semua tanpa menulis satu baris kode backend, hanya konfigurasi n8n dan prompt LLM.

5. Insight & Strategi: Membuat AI Agent Lebih “Cerdas”

  • Prompt Engineering: Gunakan contoh (few‑shot) dalam prompt untuk menurunkan ambiguitas. Contoh: beri 3 contoh matching‑unmatching sebelum pertanyaan utama.
  • Model Fallback: Set up IF node untuk fallback ke gpt-3.5-turbo jika token limit atau latency tinggi.
  • Cost Awareness: Cache hasil OCR selama 24 jam; hanya panggil LLM untuk faktur yang belum memiliki match.
  • Human‑in‑the‑Loop: Tambahkan approval step di Slack (button “Approve”/“Reject”) sebelum menandai faktur sebagai “final”. Ini meningkatkan akurasi dan trust.
  • Monitoring: Pakai node Metrics (Prometheus) untuk melacak matched_rate dan error_rate. Set alert bila matched_rate turun di bawah 80%.

6. Penutup & Call to Action

Invoice reconciliation bukan lagi tugas yang memakan tenaga. Dengan AI Agent + n8n, Anda bisa mengubah proses manual menjadi alur otomatis yang transparan, audit‑friendly, dan hemat biaya.

Mulai sekarang:

  • Deploy n8n (free tier sudah cukup untuk percobaan).
  • Salin workflow JSON di bagian akhir artikel (link GitHub).
  • Sesuaikan kredensial bank & bucket storage Anda.
  • Jalankan dan lihat seberapa cepat invoice ter‑reconcile!

Jika Anda ingin mengembangkan lebih jauh—misalnya menambahkan predictive cash‑flow atau automated dispute handling—gabungkan dengan modul AI Agent “Forecast” di n8n.

Selamat mencoba, dan bagikan hasilnya di komunitas JIPRAKS Classroom!

Artikel terkait