https://www.revenuecpmgate.com/mg6fvu3pzt?key=b746249295b7fc83e656287dca4e7b09
https://www.revenuecpmgate.com/ytxue71cv?key=6b5331f6d59984ce94cb79f942617055

Tutorial Membuat Catatan Keuangan Dengan AUTOMATION AI menggunakan n8n

Tutorial Membuat Catatan Keuangan Dengan AUTOMATION AI menggunakan n8n

📌 Ringkasan

Workflow ini digunakan untuk mencatat transaksi keuangan otomatis lewat Telegram → diproses dengan AI Agent → hasil parsing disimpan ke Google Sheets → lalu laporan dikirim balik ke Telegram. Jadi alurnya dari input → proses → simpan → laporan.

Langkah pertama :

1.Masuk ke workflows kalian dan cari nodes trigger Telegram atau klik ikon plus (+) nah di situ kalian di bagian search ketikan trigger Telegram pilih  yang send a text message.

Untuk pengaturan di dalam trigger nya samakan seperti ada pada gambar di bahwah:

Ikuti atau sama kan seperti gambar tersebut

Lalu untuk bagian Credential to connect with klik saja bagian Credential to connect with nanti akan tampil Create new credential lalu klik saja nanti akan masuk ke bagian pengisian key telegram atau kode api dari bot telegram:

 

Di bagian access token kalian masukan key telegramnya jika anda belum mempunyai tinggal search saja di bagian pencarian blog tentang cara mendapatkan api telegram bot.

Lalu klik simpan/save

Setelah kalian save akan Kembali ke bagian no 1 nah di situ kalian klik execute step jika sudah jalan dan normal kita lanjut Langkah ke 2 pastikan sudah sama dengan intruksi yang saya berikan!

2.Lalu langkh selanjunya kalian tambah nodes atau klik ikon plus(+) di bagian kabel telegram nah cari nodes Switch, setelah itu kalian samkan setelan yang sama pada gambar di bawah:

Kita membutuhkan 4 rule untuk menambahkan rule klik bagian (Add Routing Rule)

Untuk vilue 1 isikan coding ini saja :  {{ $json.message.photo[4] }}

Untuk vilue 2 pilih object dan pilih exists

Untuk yang ke 2

Isi vilue 1 isikan coding ini saja :  {{ $json.message.text }}

Untuk vilue 2 pilih string dan pilih starts with.

Untuk yang ke 3

Isikan sama sperti pada gambar

Untuk vilue 1 isikan coding :  {{ $json.message.text }}

Untuk vilue 2 pilih string dan pilih starts with

Untuk yang ke 4

Isikan sama pada gambar

Untuk vilue 1 isikan coding :  {{ $json.message.text }}

Untuk vilue 2 pilih string pilih exists

JIKA SUDAH UNTUK BAGIAN KE 2 KITA LANJUTKAN KE LANGKAH KE 3 UNTUK MENJAMIN KEBERHASILAN STEP 2 IKUTI SEMUA INTRUKSI NYA STEP BY STEP !

3.Kita lanjut untuk jalur yang pertama bagian poto atau fungsi dari poto saat kita poto struk atau sejenisnya dia kan membaca struk tersebut.

Jadi langkahnya kita pilih kabel pada switch yang ( 0 ) nah kita klik tambah nodes pada jalur tersebut dengan nodes telegram cari (Get a file) nah di bagian ini sama kan pada gambar di bawah:

Untuk Credential to connect with pilih sesuikan dengan yang awal gunakan Credential to connect with yang sudah kalian punya.

Untuk Resource kalian samakan pilih File.

Untuk Operation kalian samakan pilih Get.

Untuk File ID kalian pate/samakan dengan gambar tersebut:

{{ $json.message.photo[4].file_id }}

Untuk Download nya kalian samakan! Pastikan kalian sudah mengikuti semua intruksi step by step tersebut!

4. Step berikutnya kita klik pada ikon plus (+) kabel dari Get a file tambah nodes HTTPS Request di bagian ini kalian sama kan pada gambar di bawah :

Untuk bagian Method kalian samakan pilih GET.

Untuk bagian URL pastekan coding ini : https://api.telegram.org/file/bot8335561500:AAFDPFfdcpTSm8YDpgRJo5Lbtw-KgPQtZCM/{{ $json.result.file_path }}

UNTUK BAGIAN CODING YANG SAYA BERI WARNA MERAH TERSEBUT KALIAN GANTI DENGAN KEY BOT TELEGRAM KALIAN MASING-MASING, UNTUK  CARA MENDAPATKAN KEY BOT TELEGRAM KALIAN TINGGAL CARI SAJA DI BAGIAN BLOG ATAU ARTIKEL SAYA DI PENCARIAN: TUTORIAL  MENDAPATKAN KEY BOT TELEGRAM.

5.Langkah selanjutnya kalian tambah nodes klok pada kabel dari HTTPS Riquest cari nodes Code lalu untuk isi di dalam code samakan pada gambar di bawah:

Kalian samakan seperti di gambar tersebut

Untuk Mode kalian pilih Run Oce for All Items.

Untuk Language pilih JavaScript.

Untuk isi coding JavaScript paste kan coding di bawah:

const items = $input.all();

const item = items[0];

 

const binaryData = item.binary.data;

const base64String = binaryData.data;

 

const geminiPayload = {

“contents”: [

{

“parts”: [

{

“text”: “Analisa struk belanja pada gambar ini dan berikan informasi dalam format yang PERSIS seperti ini:\n\nTOKO: [nama toko dari struk]\nTOTAL: [total pembayaran dalam angka saja tanpa Rp]\nITEMS: [daftar barang yang dibeli, pisahkan dengan koma]\nTANGGAL: [tanggal transaksi jika terlihat, atau 2025-06-19]\n\nContoh response yang benar:\nTOKO: Alfamart\nTOTAL: 25500\nITEMS: Susu Ultra 1L, Roti Tawar, Sabun Lifebuoy\nTANGGAL: 2025-06-19\n\nJika struk tidak jelas atau tidak bisa dibaca, berikan:\nERROR: Struk tidak dapat dibaca dengan jelas\n\nPENTING: Hanya berikan response dalam format di atas!”

},

{

“inline_data”: {

“mime_type”: “image/jpeg”,

“data”: base64String

}

}

]

}

],

“generationConfig”: {

“responseMimeType”: “text/plain”

}

};

 

console.log(‘Base64 length:’, base64String?.length);

console.log(‘Mime type:’, binaryData.mimeType);

 

return [{

json: {

gemini_payload: geminiPayload,

base64_ready: !!base64String,

data_length: base64String?.length || 0

}

}];

 

Jika sudah kalian pastikan Langkah step by step kalian sudah sama dengan intruksi/panduan oke !

6.Langkah selanjutnya tambah nodes untuk cara tambanyah sama ya! , cari nodes HTTPS Riquest nah di dalam HTTPS Riquest kalian sama kan seperti di gambar di bawah:

Untuk Method pilih POST.

Untuk URL kalian pastekan ini : https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent?key=AIzaSyBg5SfRlanfcqJqY7w51ad-hWw-Jwoz_jE

UNTUK TEKXT YANG SAYA BERI WARNA MERAH ITU ADALAH KEY GOOGLE GEMINI KALIAN MASING-MASING JIKA TIDAK TAU CARA UNTUK MENDAPATKAN KET TERSEBUT KALIAN TINGGAL CARI DI KOLOM PENCARIAN TUTORIAL MENDAPATKAN KEY GEMINI, PASTIKAN KEY TERSEBUT ADALAH KEY/API GEMINI KALIAN MASING-MASING! OKE KITA LANJUT KE STEP BERIKUTNYA!

Untuk Langkah selanjutnya kalian samakan seperti gambar di atas!

Untuk Send Headers kalian samakan atau hidupkan jika sudah lalu di bagian Specify Headers kalian pilih Using Fields Below

Untuk name kalian isi Content-Type

Untuk Velue kalian isi application/json

Untuk Send Body kalian aktifkan

Untuk Body Content Type pilih JSON

Untuk Specify Body kalian pilih Using JSON

Untuk kolom JSON kalian pastekan coding ini : {{ $json.gemini_payload }}

Jika sudah sama dengan intruksi yang saya buat kalian boleh lanjut ke step brikutnya.

7. Langkah berikutnya kalian tambah nodes IF untuk cara menambahkan sama dengan sebelumnya jika sudah kalian tambahkan nodes IF samakan seperti gambar di bawah :

Untuk bagian Conditions kalian isikan sama seperti gambar tersebut.

Untuk coding kalian pastekan ini : {{ $json.candidates[0].content.parts[0].text }}

Untuk velue  ke 2 pilih string lalu pilih contains.

Untuk bagian velue berikutnya isikan seperti ini : ERROR:

Jika sudah semua seperti panduan tersebut kalian boleh lanjut ke step brikutnya.

8. Langkah selanjutnya kalian tambah nodes Google Sheet pilih Append row in sheet.

Setelah kalian tambahkan untuk bagian dalam nya samakan dengan gambar di bawah:

Untuk bagian Credential to connect with kalian masukan atau creats atau jika sudah mempunyai kalian pilih Credential kalian jika belum tau tidak tau cara memasuka atau belum punya API Key Google Sheet kalian Cari di kolom pencarin TUTORIAL MENDAPATKAN API KEY GOOGLE SHEET  oke sudah cukup jelas tinggal ikuti intruksi dari saya.

Untuk bagian Resource kalian samakan dengan gambar  pilih Sheet Within Document.

Untuk Operation pilih Append Row.

Untuk Document pilih file Google Sheet kalian yang diman di sheet (Google Sheet ) kalian sudah membuat sperti gambar di bawah:

Disini kalian samakan seperti  kolom 1 saja atau ikuti sama persis juga tidak masalah !

Yang paling penting sheet kalian ada kolom :

Toko-Total-Items-Tanggal Struk-Tanggal Input-Waktu Input.

Jika sudah sama seperti itu, file sheet kalian simpan di google drive kalian dan buat folder di drive kalian beri nama seperti judul sheet kalian misal kalian beri nama Catatan Keuangan / Laporan Pengluaran dll. jika sudah kalian upload ke google drive kalian masing-masing  untuk lebih jelasnya kalian bis acari di kolom pencarian TUTORIAL MEMBUAT GOOGLE SHEET CATATAN KEUANGAN  nah disitu sudah ada penjelasn dan Langkah-langkahnya serta lebih jelasnya ada video tutorialnya tanggal ikuti saja.

OKE KITA LANJUTKAN KE STEP BRIKUTNYA DISINI SAYA ANGGAP KALIAN SUDAH SELESAI MENGIKUTI INTRUKSI YANG SAYA BERIKAN!

Untuk Sheet kalian pilih Sheet1.

Untuk Mapping Column Mode kalian  samakan seperti gamba ya !

Untuk Values to Send itu akan sama sheet kolom kalian ada TOKO-TOTAL-ITEMS-TANGGAL STRUK-TANGGAL INPUT-WAKTU INPUT.

Nah untuk bagian Toko kalian isikan sama seperti ini atau pastekan saja jangan lupa aktifkan expression nya :

{{ $json.candidates[0].content.parts[0].text.match(/TOKO: (.+)/)[1] }}

Nah untuk bagian Total kalian isikan sama seperti ini atau pastekan saja jangan lupa aktifkan expression nya :

{{ $json.candidates[0].content.parts[0].text.match(/TOTAL: (.+)/)[1] }}

Nah untuk bagian Items kalian isikan sama seperti ini atau pastekan saja jangan lupa aktifkan expression nya :

{{ $json.candidates[0].content.parts[0].text.match(/ITEMS: (.+)/)[1] }}

Nah untuk bagian Tanggal Struk kalian isikan sama seperti ini atau pastekan saja jangan lupa aktifkan expression nya :

{{ $json.candidates[0].content.parts[0].text.match(/TANGGAL: (.+)/)[1] }}

Nah untuk bagian Tanggal Input kalian isikan sama seperti ini atau pastekan saja jangan lupa aktifkan expression nya :

{{$now.setZone(‘Asia/Jakarta’).toFormat(‘yyyy-LL-dd’)}}

Nah untuk bagian Waktu Input kalian isikan sama seperti ini atau pastekan saja jangan lupa aktifkan expression nya :

{{$now.setZone(‘Asia/Jakarta’).toFormat(‘HH:mm:ss’)}}

Comments

No comments yet. Why don’t you start the discussion?

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *