Sabtu, 16 Mei 2026

Panduan Instalasi FinanceTracker Pro V4 Ikuti langkah-langkah di bawah ini untuk memasang aplikasi Anda dalam 5 Menit.

Panduan Instalasi FinanceTracker Pro V4 Premium Thumbnail
✨ V4.0 PREMIUM + GEMINI AI

PANDUAN INSTALASI
FINANCETRACKER PRO.

Web-App Keuangan Pribadi Premium dengan Kedaulatan Data 100% di Google Sheets Anda. Ikuti langkah-langkah di bawah ini. Estimasi: 5 Menit.

Tahap 1: Persiapan Database (Google Sheets)
1
Buka Google Drive dan buat Spreadsheet baru. Beri nama (misal: Database MyFinance V4).
Langkah 1
2
Klik menu Extensions (Ekstensi) > Apps Script.
Langkah 2
3
Hapus semua kode default yang ada di dalam editor tersebut.
Langkah 3
4
Copy & Paste seluruh kode dari file Code.gs (Backend GAS V4) yang sudah disediakan ke dalam editor.
Langkah 4
5
Klik ikon Save (Simpan) dengan nama proyek Backend Finance V4.
Langkah 5
6
Pada bagian atas (sebelah tombol Run), pastikan fungsi yang terpilih adalah setupDatabase, lalu klik tombol Run (Jalankan).
Langkah 6
7
Muncul pop-up Review Permissions > Pilih akun Google Anda > Klik Advanced > Klik Go to Backend Finance V4 (unsafe) > Klik Allow.
Langkah 7
8
Periksa Google Sheets Anda; tab Users, Transaksi, dan Settings akan otomatis muncul.
Langkah 8
Tahap 2: Menghubungkan API (Deployment)
Langkah ini penting agar aplikasi bisa "berbicara" dengan database.
1
Di layar Apps Script, klik tombol biru Deploy (Terapkan) di pojok kanan atas > Pilih New Deployment (Deployment baru).
Tahap 2 Langkah 1
2
Klik ikon ⚙️ (Select type) > Pilih Web App (Aplikasi Web).
Tahap 2 Langkah 2
3
Isi deskripsi: Finance V4.
Tahap 2 Langkah 3
4
Execute as (Jalankan sebagai): Pilih Me (Saya).
Tahap 2 Langkah 4
5
Who has access (Siapa yang memiliki akses): Wajib pilih Anyone (Siapa saja).
Tahap 2 Langkah 5
6
Klik tombol Deploy.
Tahap 2 Langkah 6
7
Salin (Copy) teks yang ada di bawah "Web App URL".

(Link ini akan kita pakai di tahap selanjutnya).
Tahap 2 Langkah 7
Tahap 3: Pemasangan di Blogger dan Konfigurasi File Utama (index.html)
1
Silakan login Blogger menggunakan akun Gmail Anda.
Tahap 3 Langkah 1
2-3
Buka Dashboard Blogger > Buat Halaman (Page) baru.

Ubah mode editor dari Compose View menjadi HTML View (ikon pensil/kurung siku <>).
Tahap 3 Langkah 2-3
4
Hapus semua kode yang ada, lalu Paste seluruh isi file index.html yang sudah dikonfigurasi.
Tahap 3 Langkah 4
5-7
Cari bagian kode JavaScript di baris atas (sekitar baris 240). atau gunakan fungsi Find (CTRL+F) unutk mencari kata "GAS_URL ="

Ganti kata "MASUKKAN_URL..." dengan URL Web App yang Anda salin di Tahap 2 tadi.
const GAS_URL = "MASUKKAN_URL_WEB_APP_GAS_ANDA_DISINI";

Input API Key Gemini AI (Opsional - Pengaturan AI): Jika Anda ingin fitur AI langsung aktif tanpa harus input manual di aplikasi, masukkan API Key Gemini Anda di antara tanda kutip HARDCODED_API_KEY.
const HARDCODED_API_KEY = "#";
Tahap 3 Langkah 5-7
8
Klik tombol Publikasikan di pojok kanan atas Blogger Anda.
Tahap 3 Langkah 8
Tahap 4: Bypass Tema Agar Full Screen di HP
1
Agar aplikasi tampil penuh (tidak tertutup judul postingan Blogger):

Buka menu Theme (Tema) di Blogger, lalu klik ikon panah ke bawah di samping tombol Customize (Sesuaikan).
Tahap 4 Langkah 1
2
Klik pilihan Beralih ke tema klasik generasi pertama, kemudian pilih Beralih tanpa pencadangan.

✅ Selesai!
Tahap 4 Langkah 2
Selamat! Seluruh Proses Instalasi Selesai.
Sekarang buka link Halaman Blogger Anda melalui HP.
Login Default:

Username: admin
Password: admin2026

Catatan: Segera ubah username & password Anda di menu Akun & Pengaturan setelah berhasil login pertama kali.
Tampilan Akhir
Ekstra: Cara Mendapatkan API Key Gemini
Untuk mengaktifkan fitur AI Pintar secara gratis:

1. Buka Google AI Studio.
2. Klik tombol Create API Key.
3. Salin kodenya dan tempel di aplikasi Anda (Menu Akun > Pengaturan AI Gemini).
Gemini API

Kamis, 14 Mei 2026

Poultry pro demo

Poultry Manager V3.8 - Lightning Speed

Memuat Data Dokumen...

Web Invoice View

{{ publicInvoiceData.Tipe === 'Pemasukan' ? 'INVOICE PENJUALAN' : 'BUKTI PENGELUARAN' }}

#{{ publicInvoiceData.No_Invoice }}

{{ settings && settings.Judul_Web ? settings.Judul_Web : 'Perusahaan' }}

{{ settings && settings.Alamat ? settings.Alamat : '-' }}

WA: {{ settings && settings.Kontak_WA ? settings.Kontak_WA : '-' }}

{{ publicInvoiceData.Tipe === 'Pemasukan' ? 'Ditagihkan Kepada:' : 'Dibayarkan Kepada:' }}

{{ publicInvoiceData.Nama }}

{{ publicInvoiceData.Alamat || '-' }}

Telp: {{ publicInvoiceData.WA || '-' }}

Tanggal Transaksi:

{{ publicInvoiceData.Tipe_Bayar === 'Cicil' ? formatDateDDMMYYYY(publicInvoiceData.Tanggal) : formatDateInvoice(publicInvoiceData.Tanggal) }}

Tipe Pembayaran:

{{ publicInvoiceData.Tipe_Bayar === 'Lunas' ? 'CASH' : 'KREDIT' }}

No Deskripsi Item Kuantitas Harga Satuan Subtotal
{{ idx + 1 }} {{ it.Nama }} {{ formatNumber(it.Qty) }} {{ formatRupiah(it.Harga_Satuan || (it.Subtotal/it.Qty)) }} {{ formatRupiah(it.Subtotal) }}

Riwayat Pembayaran

TanggalKeteranganNominal Masuk
{{ formatDate(rw.tgl) }} {{ rw.ket }} + {{ formatRupiah(rw.nominal) }}

Informasi Transfer Pembayaran:

{{ settings && settings.Bank ? settings.Bank : '-' }}

No Rekening: {{ settings && settings.No_Rekening ? settings.No_Rekening : '-' }}

Atas Nama: {{ settings && settings.Nama_Rekening ? settings.Nama_Rekening : '-' }}

Total Tagihan {{ formatRupiah(publicInvoiceData.Total) }}
Telah Dibayar - {{ formatRupiah(publicInvoiceData.Total - publicInvoiceData.Sisa) }}
Sisa Tagihan {{ formatRupiah(publicInvoiceData.Sisa) }}
STATUS: {{ publicInvoiceData.Status }}
Terima kasih atas kerja sama Anda dengan {{ settings && settings.Nama_Perusahaan ? settings.Nama_Perusahaan : (settings && settings.Judul_Web ? settings.Judul_Web : '') }}.

Dokumen Invoice Tidak Ditemukan.

{{ (settings && settings.Judul_Web) || 'Selamat Datang' }}

{{ (settings && settings.Deskripsi_Web) || 'Sistem manajemen peternakan broiler modern berbasis data.' }}

Update Populasi Aktif

NoBatch & BrandTgl MulaiUmurSisa Populasi
{{ idx + 1 }} {{ b.Nama_Batch }} ({{ b.Brand }}) {{ formatDate(b.Tgl_Mulai) }} {{ calculateAge(b.Tgl_Mulai) }} Mgg {{ formatNumber(b.Populasi_Sisa) }}
Belum ada batch aktif.

Cara Pemesanan

Kontak Usaha

{{ (currMod || '').replace('_', ' ') }}

{{ user && user.username ? user.username.charAt(0).toUpperCase() : '' }}

Menyiapkan Data Server...

Kas Perusahaan

{{ formatRupiah(summary.saldo || 0) }}

Total Piutang

{{ formatRupiah(summary.piutang || 0) }}

Total Hutang

{{ formatRupiah(summary.hutang || 0) }}

Populasi Aktif

{{ formatNumber(summary.populasi || 0) }} Ek

Statistik Arus Kas (4 Bln Terakhir)

Aktivitas Terbaru

{{ act.Ket }}

{{ formatDate(act.Tgl) }}

Belum ada aktivitas.

Siklus Produksi Batch

Total Populasi Sisa

{{ formatNumber(summary.populasi || 0) }} Ekor

Batch Aktif

{{ activeBatches.length }} Kandang

Estimasi Nilai Aset

{{ formatRupiah((summary.populasi || 0) * 35000) }} *Asumsi Harga 35rb/Ekor

ID BatchNama & BrandAwalSisa PopulasiStatusOpsi
#{{ b.ID_Batch }}

{{ b.Nama_Batch }}

{{ b.Brand }} • {{ formatDate(b.Tgl_Mulai) }}

{{ formatNumber(b.Populasi_Awal) }} {{ formatNumber(b.Populasi_Sisa) }} {{ b.Status }}
Data batch tidak ditemukan.

Laba / Rugi Bersih

{{ formatRupiah(selectedBatchData.Laba) }}

Total Pemasukan

{{ formatRupiah(selectedBatchData.Pemasukan) }}

Total Biaya Keluar

{{ formatRupiah(selectedBatchData.Pengeluaran) }}

Rasio Populasi Ayam

Sisa: {{ formatNumber(selectedBatchData.Populasi_Sisa) }} Mati: {{ formatNumber(getMatiCount(selectedBatchData.HistoriKematian)) }}
Histori Penjualan (Pemasukan)
{{idx+1}}.

{{ j.pembeli }}

{{ formatDate(j.tgl) }} • {{ formatNumber(j.qty) }} EKOR

+{{ formatRupiah(j.total) }}

Belum ada penjualan.

Catatan Kematian / Afkir
{{idx+1}}.

{{ m.ket }}

{{ formatDate(m.tgl) }}

-{{ formatNumber(m.qty) }} EKOR

Tidak ada catatan kematian.

Rincian Pengeluaran (Biaya)
{{idx+1}}.

{{ item.nama }}

QTY: {{ item.qty }}

{{ formatRupiah(item.total) }}

Belum ada rincian pengeluaran.

Total Biaya Keluar: {{ formatRupiah(selectedBatchData.Pengeluaran) }}
Rekap Pemakaian Pakan/Obat
{{idx+1}}.

{{ item.nama }}

{{ formatNumber(item.qty) }} {{ item.Satuan || 'Unit' }}

Belum ada pemakaian barang.

.
Pilih batch untuk melihat laporan lengkap.
Item BarangMasuk (Beli)Keluar (Log)Stok AkhirAksi
{{ item.Nama }} {{ item.Beli }} {{ item.Satuan }} -{{ item.Pakai }} {{ item.Sisa }} {{ item.Satuan }}
Belum ada data stok barang.

{{ trxType === 'Pemasukan' ? 'Mencatat Hasil Jual' : 'Mencatat Biaya Usaha' }}

{{ trxType === 'Pemasukan' ? 'Setiap penjualan akan menambah saldo kas perusahaan otomatis.' : 'Setiap pembelian akan memotong saldo kas & Master Stok otomatis.' }}

Data {{ trxType === 'Pemasukan' ? 'Pelanggan' : 'Vendor' }}

Rincian Item Belanja/Jual Auto Kalkulasi
{{ formatRupiah(item.Subtotal) }}
Rp
Total Tagihan{{ formatRupiah(totalTrx) }}
Dibayar Awal (DP)- {{ formatRupiah(formTrx.DP) }}
Status Akhir Lunas Beres Sisa: {{ formatRupiah(sisaTrx) }}
No. InvoiceTgl & RelasiTotal TagihanStatusOpsi
#{{ inv.No_Invoice }}

{{ inv.Nama }}

{{ formatDate(inv.Tanggal) }} • {{ inv.Tipe }}

{{ formatRupiah(inv.Total) }} {{ inv.Status }}
Data invoice/tagihan tidak ditemukan.

{{ selectedInvoice.Tipe === 'Pemasukan' ? 'INVOICE PENJUALAN' : 'BUKTI PENGELUARAN' }}

#{{ selectedInvoice.No_Invoice }}

{{ settings && settings.Judul_Web ? settings.Judul_Web : 'Perusahaan' }}

{{ settings && settings.Alamat ? settings.Alamat : '-' }}

WA: {{ settings && settings.Kontak_WA ? settings.Kontak_WA : '-' }}

{{ selectedInvoice.Tipe === 'Pemasukan' ? 'Ditagihkan Kepada:' : 'Dibayarkan Kepada:' }}

{{ selectedInvoice.Nama }}

{{ selectedInvoice.Alamat || '-' }}

Telp: {{ selectedInvoice.WA || '-' }}

Tanggal Transaksi:

{{ selectedInvoice.Tipe_Bayar === 'Cicil' ? formatDateDDMMYYYY(selectedInvoice.Tanggal) : formatDateInvoice(selectedInvoice.Tanggal) }}

Tipe Pembayaran:

{{ selectedInvoice.Tipe_Bayar === 'Lunas' ? 'CASH' : 'KREDIT' }}

No Deskripsi Item Kuantitas Harga Satuan Subtotal
{{ idx + 1 }} {{ it.Nama }} {{ formatNumber(it.Qty) }} {{ formatRupiah(it.Harga_Satuan || (it.Subtotal/it.Qty)) }} {{ formatRupiah(it.Subtotal) }}

Riwayat Pembayaran

TanggalKeteranganNominal Masuk
{{ formatDate(rw.tgl) }} {{ rw.ket }} + {{ formatRupiah(rw.nominal) }}

Informasi Transfer Pembayaran:

{{ settings && settings.Bank ? settings.Bank : '-' }}

No Rekening: {{ settings && settings.No_Rekening ? settings.No_Rekening : '-' }}

Atas Nama: {{ settings && settings.Nama_Rekening ? settings.Nama_Rekening : '-' }}

Total Tagihan {{ formatRupiah(selectedInvoice.Total) }}
Telah Dibayar - {{ formatRupiah(selectedInvoice.Total - selectedInvoice.Sisa) }}
Sisa Tagihan {{ formatRupiah(selectedInvoice.Sisa) }}
STATUS: {{ selectedInvoice.Status }}
Terima kasih atas kerja sama Anda dengan {{ (settings && settings.Nama_Perusahaan) || (settings && settings.Judul_Web) || '' }}.

Catat Log Kandang

Kematian memotong populasi, pakan/obat memotong Master Stok.

Konfigurasi Identitas Tampilan Publik & Sidebar


Kategori Pemasukan

{{ k }}

Kategori Pengeluaran (Belanja)

{{ k }}

Kategori Log Harian

{{ k }}

Database Akses Pengguna

Identitas UserHak AksesTindakan
{{ u.username }}
{{ u.role }}

Konfigurasi Sistem Utama

ID Folder Google Drive (Untuk File Nota/Kuitansi)

Masukkan ID Folder GDrive Anda. Jika dikosongkan, sistem akan otomatis membuat folder bernama "PoultryManager_Uploads" di Drive root Anda.

Saklar Fitur Cicilan / Termin

Buka/tutup opsi pembayaran DP bertahap di menu Registrasi Batch dan menu Kas & Transaksi.

Tampilkan Tombol Portal Staff

Tampilkan atau sembunyikan tombol Login di halaman publik. (Klik logo web 3x untuk login rahasia jika disembunyikan).

Hard Reset / Inisialisasi Database

Fungsi ini WAJIB dijalankan pertama kali saat aplikasi diinstal untuk menyuntik struktur kolom ke Google Sheets.

{{ formBatch.isEdit ? 'Edit Data Batch' : 'Registrasi Batch Baru' }}

{{ formatRupiah(batchTotal) }}
{{ formBatch.NotaName || 'Pilih File Nota...' }}

{{ formUser.isEdit ? 'Ubah Hak Akses User' : 'Buka Akses User Baru' }}

Internal Access

Catat Cicilan

Sisa Hutang: {{ formatRupiah(selectedInvoice.Sisa) }}

Mutasi: {{ selectedStokItem ? selectedStokItem.Nama : '' }}

TanggalKeteranganPerubahan
{{ formatDate(h.tgl) }}{{ h.ket }}{{ h.tipe==='in'?'+':'-' }} {{ h.qty }} {{ selectedStokItem ? selectedStokItem.Satuan : '' }}
Belum ada data riwayat mutasi.
{{ toast.msg }}