Tutorial membuat aplikasi laporan keuangan usaha

Tutorial ini menunjukkan cara membuat aplikasi untuk mencatat pemasukan, pengeluaran, anggaran, tagihan, dan kondisi kas usaha. Contoh ini cocok untuk pemilik usaha kecil yang ingin mengganti pencatatan di beberapa spreadsheet dengan satu aplikasi yang lebih mudah diperiksa.

Versi pertama akan membantu:

  • pemilik melihat seluruh transaksi, anggaran, dan laporan;
  • staf mencatat transaksi sesuai izin;
  • pengguna membandingkan anggaran dengan pengeluaran nyata;
  • pemilik melihat kas, tagihan, dan ringkasan berdasarkan periode.

Nama file dan nomor task dapat berbeda. Selalu gunakan nama yang benar-benar diberikan agent di project Anda.

Sebelum mulai

Pastikan folder utama Planora sudah dibuka, setup dan Convex development sudah berjalan, serta aplikasi dapat dibuka di http://localhost:3000.

Gunakan conversation terpisah untuk PRD, status, setiap implementasi fitur, E2E, dan perbaikan bug.

Langkah 1 — buat PRD dan rencana produk

Buka conversation baru, lalu ketik:

text
/planora-product-kit
Saya ingin membuat aplikasi laporan keuangan untuk usaha kecil. Penggunanyaadalah pemilik usaha dan staf administrasi.
Versi pertama harus membantu kami:1. membuat kategori transaksi;2. mencatat pemasukan dan pengeluaran;3. mencari dan memfilter transaksi;4. membuat anggaran bulanan per kategori;5. mencatat tagihan yang belum dan sudah dibayar;6. melihat kondisi kas, realisasi anggaran, dan laporan berdasarkan periode;7. mengunduh laporan agar dapat diperiksa kembali.
Pemilik boleh melihat seluruh laporan dan mengatur pengguna. Staf hanya bolehmencatat transaksi dan melihat data yang memang diizinkan. Perubahan transaksiharus meninggalkan riwayat agar kesalahan tidak ditutupi.
Aplikasi harus mudah dipahami oleh orang yang tidak terbiasa dengan aplikasiakuntansi dan nyaman digunakan melalui laptop maupun HP. Versi pertama bukanaplikasi akuntansi lengkap: belum membutuhkan jurnal berpasangan, pajakotomatis, rekonsiliasi bank, atau integrasi pembayaran.
Bantu saya menentukan scope versi pertama yang realistis. Tanyakan keputusanbisnis yang belum jelas. Jangan menulis kode sebelum paket produk selesai, sayasetujui, dan validator Planora lulus.

Output yang diharapkan

Agent merangkum fakta, asumsi, keputusan, dan pertanyaan terbuka. Agent belum seharusnya membuat dashboard atau database.

Pertanyaan penting biasanya mencakup:

  • apakah aplikasi digunakan satu usaha atau beberapa usaha;
  • apakah transaksi staf perlu persetujuan pemilik;
  • apakah lampiran bukti transaksi diperlukan;
  • cara memperbaiki transaksi tanpa menghilangkan riwayat;
  • apakah anggaran dibuat per kategori atau kegiatan;
  • laporan dan format unduhan yang dibutuhkan.

Jika agent langsung mengimplementasikan aplikasi, ketik:

text
Jangan implementasikan aplikasi dahulu. Selesaikan intake, PRD, panduan UI, danrencana eksekusi. Tunjukkan keputusan yang perlu saya konfirmasi.

Langkah 2 — jawab pertanyaan PRD

Anda dapat menggunakan keputusan contoh berikut:

text
Untuk versi pertama, gunakan keputusan berikut:
1. Aplikasi hanya digunakan oleh satu usaha.2. Staf boleh mencatat transaksi, tetapi transaksi berstatus Draft sampai   disetujui pemilik. Transaksi yang dibuat pemilik langsung disetujui.3. Setiap transaksi memiliki tanggal, jenis pemasukan atau pengeluaran,   kategori, nominal, metode pembayaran, catatan, dan pembuat.4. Bukti transaksi berupa gambar atau PDF bersifat opsional.5. Transaksi yang sudah disetujui tidak boleh dihapus. Koreksi dilakukan dengan   pembatalan atau revisi yang menyimpan alasan dan riwayat.6. Anggaran dibuat per kategori untuk satu bulan.7. Tagihan memiliki pihak terkait, tanggal jatuh tempo, nominal, status, dan   tanggal pembayaran.8. Laporan utama adalah arus kas sederhana, pemasukan, pengeluaran, realisasi   anggaran, tagihan belum dibayar, dan saldo untuk rentang tanggal.9. Unduhan versi pertama menggunakan CSV.
Tolong perbarui fakta, asumsi, keputusan, dan pertanyaan terbuka. Janganmenganggap aplikasi ini sebagai pengganti akuntan atau laporan pajak resmi.

Jika Anda belum memahami satu keputusan, ketik:

text
Saya belum tahu. Berikan 2 atau 3 pilihan beserta manfaat, risiko, dan dampaknyaterhadap versi pertama. Jangan memilih sebelum saya memutuskan.

Setelah ringkasan sesuai, ketik:

text
Ringkasan sudah sesuai. Buat paket produk lengkap untuk aplikasi dengan UIberbahasa Indonesia. Berikan ID pada kebutuhan dan acceptance criteria padasetiap fitur. Urutkan pekerjaan berdasarkan dependency dan siapkan handoff E2Euntuk setiap fitur yang digunakan melalui browser. Jalankan validator Planoradan perbaiki semua kegagalan sebelum melapor selesai.

Langkah 3 — periksa output paket produk

Setelah selesai, Anda akan melihat:

text
product/|-- README.md|-- manifest.json|-- PRD/|-- UI/`-- EXECUTION/

Isi yang lebih lengkap kurang lebih:

text
product/|-- PRD/|   |-- PRD.md|   |-- asumsi-dan-pertanyaan.md|   |-- metrik-keberhasilan.md|   |-- model-data.md|   |-- non-functional-requirements.md|   |-- roadmap.md|   `-- fitur/|       |-- akses-pengguna.md|       |-- kategori-transaksi.md|       |-- pemasukan-dan-pengeluaran.md|       |-- persetujuan-dan-riwayat-koreksi.md|       |-- anggaran-bulanan.md|       |-- tagihan.md|       `-- dashboard-dan-laporan.md|-- UI/|   |-- README.md|   |-- design-direction.md|   |-- accessibility.md|   |-- content-guidelines.md|   |-- foundations/|   |-- components/|   |-- patterns/|   `-- screens/`-- EXECUTION/    |-- TODO.md    |-- feature-order.md    |-- release-readiness.md    `-- phases/

Nama file dapat berbeda, tetapi harus bersifat semantik. Laporan agent harus menyebutkan hasil validator, scope versi pertama, urutan pekerjaan, asumsi, dan blocker.

Minta ringkasan dengan:

text
Jelaskan paket produk yang baru dibuat dengan bahasa sederhana. Sebutkan scope,urutan fitur, aturan perhitungan, asumsi, blocker, dan hasil validator. Janganmengubah file.

Langkah 4 — lihat task pertama

Buka conversation baru:

text
/planora-status
Jelaskan progres aplikasi laporan keuangan usaha. Sebutkan task pertama yangsiap, hasil yang akan terlihat bagi pengguna, dependency, dan validasinya.Jangan mengubah file.

Urutan yang masuk akal adalah:

  1. pengguna dan batas akses;
  2. kategori transaksi;
  3. pemasukan dan pengeluaran;
  4. persetujuan serta riwayat koreksi;
  5. pencarian dan filter;
  6. anggaran bulanan;
  7. tagihan;
  8. dashboard, laporan, dan unduhan;
  9. perapian tampilan laptop dan HP.

Ikuti urutan di product/EXECUTION/TODO.md jika berbeda.

Langkah 5 — implementasikan satu fitur

Buka conversation baru dan cukup ketik:

text
/planora-next

Instruksi tambahan tidak wajib. Agent otomatis melanjutkan task in_progress atau memilih task pending pertama yang semua dependency-nya sudah selesai. Satu pemanggilan hanya boleh mengerjakan satu task.

Output yang diharapkan

Agent harus melaporkan:

  • task dan requirement yang dipenuhi;
  • hasil yang sekarang dapat dilakukan pengguna;
  • file yang berubah;
  • test perhitungan, validasi input, dan batas akses yang dijalankan;
  • hasil setiap test;
  • status dan path handoff E2E;
  • blocker atau risiko;
  • task berikutnya sebagai preview saja.

Anda biasanya akan melihat perubahan pada:

text
apps/                         kode aplikasiproduct/EXECUTION/TODO.md     status dan evidence taskspecs/e2e/NAMA-FILE.md        skenario E2E fitur

Khusus fitur keuangan, jangan menerima laporan yang hanya mengatakan tampilan sudah dibuat. Mintalah bukti perhitungan nominal nol, nominal negatif, periode, transaksi ganda, koreksi, dan pembatasan akses.

Langkah 6 — jalankan E2E setelah setiap fitur

Untuk setiap fitur yang digunakan melalui browser:

  1. Pastikan aplikasi dan Convex development berjalan.
  2. Buka Chrome dan tutup tab yang tidak diperlukan.
  3. Sisakan tab http://localhost:3000 atau biarkan agent membukanya.
  4. Buka conversation baru khusus E2E.
  5. Di Antigravity, ketik dan pilih:
text
/browser
  1. Setelah browser aktif, kirim:
text
/e2e-tester specs/e2e/NAMA-FILE.md
Lakukan seluruh skenario melalui browser pada environment local ataudevelopment. Gunakan data uji dengan angka yang dapat dihitung manual. Periksabrowser console dan lampirkan screenshot atau video untuk perjalanan penting.Jika gagal, catat evidence dan jangan memperbaiki kode secara diam-diam.

Ganti nama file dengan path yang diberikan oleh agent implementasi.

Output E2E yang diharapkan

Laporan harus menyebut target, spec, environment, URL, jumlah skenario, hasil Passed, Failed, atau Blocked, serta evidence setiap skenario.

Contoh evidence fitur anggaran:

text
Pemasukan disetujui: Rp10.000.000Pengeluaran kategori operasional: Rp2.500.000Anggaran operasional: Rp4.000.000Sisa anggaran yang diharapkan: Rp1.500.000Sisa anggaran yang tampil: Rp1.500.000Status: Passed

Langkah 7 — perbaiki jika E2E gagal

Buka conversation baru:

text
/bug
E2E pada specs/e2e/NAMA-FILE.md gagal. Baca evidence terakhir, reproduksimasalah, cari akar penyebab, dan perbaiki bug tanpa mengubah acceptancecriteria. Jalankan ulang seluruh test perhitungan dan batas akses yang terkait,lalu siapkan E2E ulang.

Setelah perbaikan, buka conversation baru, aktifkan /browser, lalu jalankan /e2e-tester dengan file yang sama. Simpan evidence baru tanpa menghapus riwayat sebelumnya.

Langkah 8 — ulangi untuk seluruh fitur

Gunakan pola:

text
Conversation implementasi: /planora-nextConversation E2E: /browser, lalu /e2e-tester specs/e2e/NAMA-FILE.mdConversation perbaikan: /bug jika gagalConversation validasi ulang: /browser, lalu /e2e-tester kembali

Hasil yang perlu dibuktikan per fitur:

Kategori dan transaksi

Pengguna dapat mencatat pemasukan dan pengeluaran dengan kategori yang benar. Nominal kosong, nol, atau tidak valid ditolak dengan pesan yang jelas.

Persetujuan dan koreksi

Transaksi staf menunggu persetujuan. Transaksi yang disetujui tidak dapat dihapus diam-diam. Pembatalan atau revisi menyimpan pelaku, waktu, dan alasan.

Pencarian dan filter

Rentang tanggal, jenis, kategori, status, dan kata kunci menghasilkan daftar dan total yang konsisten.

Anggaran

Realisasi dan sisa anggaran sesuai transaksi yang sudah disetujui. Batas bulan dan kategori dibuktikan dengan angka yang dihitung manual.

Tagihan

Tagihan belum dibayar, jatuh tempo, dan sudah dibayar tampil pada status yang tepat. Pembayaran ganda tidak boleh menambah pengeluaran dua kali.

Dashboard dan laporan

Saldo awal, pemasukan, pengeluaran, dan saldo akhir konsisten dengan transaksi pada periode yang sama. Staf tidak dapat membuka laporan khusus pemilik.

Unduhan

File CSV berisi periode dan data yang dipilih, tidak membocorkan data yang tidak boleh dilihat, dan dapat dibuka kembali.

Langkah 9 — periksa kesiapan versi pertama

Buka conversation baru:

text
/planora-status
Apakah seluruh scope versi pertama aplikasi laporan keuangan usaha sudahselesai? Tunjukkan status task, test perhitungan, E2E, evidence, keputusan,risiko, dan blocker. Jangan menyebut siap dirilis jika validasi Required belumlulus. Jangan mengubah file.

Versi pertama baru selesai jika task wajib berstatus done, semua test wajib lulus, E2E Required berstatus Passed, dan tidak ada blocker rilis.

Jika hasil perhitungan salah

Gunakan data yang konkret agar bug mudah direproduksi:

text
/bug
Jumlah pengeluaran pada dashboard berbeda dari daftar transaksi untuk periode[SEBUTKAN PERIODE]. Daftar transaksi berjumlah [ANGKA BENAR], tetapi dashboardmenampilkan [ANGKA SALAH]. Baca evidence E2E, reproduksi dengan data yang sama,perbaiki akar penyebab, jalankan ulang test perhitungan terkait, dan siapkanE2E ulang.