Lab Praktikum

BAB 08
Accounting &
Finance

Mengelola Keuangan BBS dengan Standar SAK EMKM di Odoo 19

Minggu 9 125 Menit Individu / Pasangan

Sistem Informasi Enterprise — ERP Odoo 19.0
dengan Real UMKM Partner Program

Timeline 125 min

01
Konfigurasi Akuntansi Awal
Localization, CoA, Bank Journal, PPN 12%
25 min
02
Customer Invoices & Pembayaran
3 Invoice dari SO → 2 Payment → 1 Outstanding
25 min
03
Vendor Bills & Pembayaran
2 Bill dari PO → 1 Payment → 1 Outstanding
20 min
04
Rekonsiliasi Bank
Manual Statement 4 baris → AI Match → Validate
30 min
05
Financial Reports Package
Neraca, P&L, Cash Flow, Aged AR, Tax Report
25 min

🎯 Output: 10 screenshots + lembar kerja GPM & PPN → ZIP file Lab8_[NIM]_[Nama].zip

⚠️ Cek Data Sebelum Mulai

Prasyarat dari Lab Sebelumnya

  • Bab 5 (Sales): Min. 3 SO confirmed + Delivery validated
  • Bab 6 (Purchase): Min. 2 PO confirmed + Receipt validated
  • Bab 3 (Setup): Localization Indonesia sudah terinstall
  • Module Accounting sudah aktif

Data Belum Lengkap?

Import dataset demo: Settings → Technical → Import Data → file BBS-demo-data-bab08.xml

⚠️ Menu Technical hanya muncul di Developer Mode. Aktifkan: Settings → Developer Tools → Activate developer mode

Tujuan Lab

🔧 T1 — Konfigurasi pengaturan akuntansi dasar & Chart of Accounts di Odoo

📄 T2 — Membuat & memposting Customer Invoices dari Sales Orders

📋 T3 — Membuat & memposting Vendor Bills dari Purchase Orders

🏦 T4 — Melakukan rekonsiliasi bank manual

📊 T5 — Generate & interpretasi 5 laporan keuangan dasar

Step 1 · 25 menit

Konfigurasi
Akuntansi Awal

🎯 Verifikasi localization, kustomisasi CoA, setup bank journal, konfigurasi PPN 12%

01

Localization, CoA & Bank

1.1 Verifikasi Localization

  1. Accounting → Configuration → Settings
  2. Cek Fiscal Localization = 🇮🇩 Indonesia
  3. Jika belum → klik "Install More" → cari "Indonesia"

1.2 Setup Bank Journal

  1. Accounting → Configuration → Journals → New
  2. Type: Bank
  3. Journal Name: Bank BCA — BBS
  4. Account Number: 8745-0123-456
  5. Currency: IDR → Simpan

📸 SCREENSHOT 8.1: CoA view setelah kustomisasi akun BBS

Akun Wajib BBS (Manufaktur)

KodeNama AkunTipe
1100Kas TunaiCurrent Asset
1110Bank BCA — BBSCurrent Asset
1200Piutang DagangReceivable
1300Persediaan Bahan BakuCurrent Asset
2100Utang DagangPayable
2130Utang PPN KeluaranCurrent Liability
4100Pendapatan Penjualan BatikIncome
5100HPP — Kain & Bahan BakuCost of Revenue
6100Beban GajiExpense
6200Beban Sewa WorkshopExpense

⚠️ Accounting → Configuration → Chart of Accounts → New — Tambahkan akun yang belum ada. Cek dulu sebelum menambah duplikat!

Verifikasi PPN 12%

1.4 Konfigurasi Pajak

  1. Accounting → Configuration → Taxes
  2. Cek: PPN 12% — Tax Type = Sales, Amount = 12%
  3. Cek: PPN Masukan 12% — Tax Type = Purchase, Amount = 12%
  4. Jika default masih 11% → update Amount ke 12 dan rename

📌 Regulasi: PPN Indonesia = 12% sejak 1 Jan 2025 (UU HPP No. 7/2021 & PMK 131/2024). Update jika database masih 11%.

✅ Checkpoint Step 1

  • Localization Indonesia aktif
  • CoA memiliki semua akun wajib BBS
  • Bank BCA journal terbuat
  • PPN 12% (Sales + Purchase) tersedia — 📸 SCREENSHOT 8.2
Step 2 · 25 menit

Customer Invoices
& Pembayaran

🎯 3 Invoice dari SO → 2 Payment registered → 1 Outstanding untuk Aged AR

02

Buat Invoice dari Sales Order

2.1 Invoice dari SO (ulangi untuk 3 SO)

  1. Sales → Orders → Orders → klik SO pertama
  2. Cek Smart Button "Delivery: 1" status Done
  3. Klik "Create Invoice"
  4. Verifikasi: Customer benar, Lines sesuai, PPN 12% terhitung
  5. Klik "Confirm" → Status = Posted. Catat nomor invoice.

✅ Setelah 3x → buka Accounting → Customers → Invoices — 3 invoice listed, status Posted

📸 SCREENSHOT 8.3: Daftar 3 customer invoices (Posted)

Register Payment (2 dari 3)

2.2 Payment untuk Invoice 1 & 2

  1. Buka Invoice 1 → klik "Register Payment"
  2. Payment Method: Bank BCA — BBS
  3. Payment Date: hari ini
  4. Amount: otomatis terisi (jangan ubah)
  5. Klik "Pay" → Status berubah ke Paid

Ulangi untuk Invoice 2. Invoice 3 dibiarkan Outstanding → untuk Aged Receivable.

2.3 (Opsional) Credit Note

Jika ada koreksi diskon 5%: Invoice 1 → Add Credit Note → Reason: "Diskon 5%" → Partial Refund → Post. AR berkurang otomatis.

✅ Checkpoint Step 2

  • 3 Customer Invoices status Posted
  • Invoice 1 & 2 → status Paid (payment registered via Bank BCA)
  • Invoice 3 → tetap Posted (outstanding — akan muncul di Aged Receivable)
  • Journal entries otomatis: Debit AR, Kredit Revenue + PPN Output

⚠️ Troubleshooting

Tombol "Create Invoice" tidak muncul?

→ Pastikan SO status = "Sales Order" DAN Delivery status = "Done"

PPN tidak terhitung di invoice?

→ Set default tax di produk: Inventory → Products → Sales tab → Customer Taxes: PPN 12%

Step 3 · 20 menit

Vendor Bills
& Pembayaran

🎯 2 Bill dari PO → 1 Payment → 1 Outstanding untuk Aged Payable

03

Buat Vendor Bill dari PO

3.1 Bill dari PO (ulangi untuk 2 PO)

  1. Purchase → Orders → Purchase Orders → klik PO pertama
  2. Cek Smart Button "Receipts: 1" status Done
  3. Klik "Create Bill"
  4. Bill Date: hari ini · Bill Reference: "INV-VENDOR-2024-001"
  5. Verifikasi Lines + PPN Masukan 12% terhitung → klik "Confirm"

3.2 Payment untuk Bill 1 saja

  1. Buka Bill 1 → "Register Payment"
  2. Journal: Bank BCA — BBS → klik "Pay"

Bill 2 dibiarkan Outstanding → untuk Aged Payable.

📸 SCREENSHOT 8.4: Vendor Bill yang sudah di-post

✅ Checkpoint Step 3

  • 2 Vendor Bills status Posted
  • Bill 1 → Paid (payment via Bank BCA)
  • Bill 2 → tetap Posted (outstanding — Aged Payable)
  • JE otomatis: Debit Purchases + PPN Input, Kredit AP

⚠️ Troubleshooting

Error "Debit ≠ Credit" saat confirm?

→ Periksa setiap baris bill — pastikan semua punya Account yang ter-assign. Cek product category → accounting tab.

Step 4 · 30 menit

Rekonsiliasi
Bank

🎯 Manual statement 4 baris → Match dengan payments → Validate

04

Buat Manual Bank Statement

4.1 Input 4 Baris Transaksi

Accounting → Accounting → Bank (BCA — BBS) → New Statement

#DeskripsiJumlah
1TRFMASUK REF:INV2024001 [Customer 1]+ Invoice 1 amount
2TRFMASUK REF:INV2024002 [Customer 2]+ Invoice 2 amount
3TRFKELUAR BAYAR VENDOR PO2024001− Bill 1 amount
4BIAYA ADM BCA− 25.000

⚠️ Gunakan jumlah yang persis sama dengan payment yang sudah diregistrasi di Step 2 & 3. Beda Rp 1 saja = tidak bisa auto-match!

Proses Rekonsiliasi

4.2 Match Setiap Baris

  1. Baris 1–2 (masuk customer): Odoo suggests match → klik "Validate"
  2. Baris 3 (keluar vendor): Odoo suggests match → klik "Validate"
  3. Baris 4 (biaya admin Rp 25.000): Tidak ada suggestion →

4.2b Baris 4 — Manual Entry

  1. Klik "Create Journal Entry"
  2. Account: 6XXX — Beban Admin Bank
  3. Memo: "Biaya administrasi bank BCA" → Save

4.3 Validate Statement

Semua 4 baris sudah reconciled → klik "Validate" → Saldo akhir = saldo awal ± net transaksi

✅ Checkpoint Step 4

  • Bank Statement dengan 4 baris — semua Reconciled
  • 3 baris auto-matched dengan payments
  • 1 baris (biaya admin) → journal entry manual ke akun Beban
  • Saldo bank Odoo = saldo akhir statement

📸 SCREENSHOT 8.5: Bank reconciliation view — semua ter-reconcile

Rekonsiliasi tidak match? → Verifikasi jumlah di statement = jumlah payment yang diregistrasi. Cek juga tanggal — harus di periode yang sama.

Step 5 · 25 menit

Financial Reports
Package

🎯 Generate 5 laporan keuangan BBS → screenshot & interpretasi

05

Balance Sheet & Profit/Loss

5.1 Balance Sheet (Neraca)

  1. Accounting → Reporting → Balance Sheet
  2. Filter: Date = hari ini
  3. Verifikasi: Total Aset = Total Liabilitas + Ekuitas

📸 SCREENSHOT 8.6

5.2 Profit & Loss

  1. Accounting → Reporting → Profit and Loss
  2. Filter: awal tahun – hari ini
  3. Identifikasi: Revenue, HPP, Gross Profit, Net Profit
  4. Hitung: GPM = Laba Kotor / Revenue × 100%

📸 SCREENSHOT 8.7

Cash Flow, Aged AR & Tax Report

5.3 Cash Flow Statement

Accounting → Reporting → Cash Flow Statement · Filter: awal tahun – hari ini · Identifikasi: Arus operasi, investasi, pendanaan · 📸 SCREENSHOT 8.8

5.4 Aged Receivable

Accounting → Reporting → Aged Receivable · Invoice 3 (outstanding) muncul di bucket "0–30 hari" · 📸 SCREENSHOT 8.9

5.5 Tax Report (PPN)

Accounting → Reporting → Tax Report · Filter: bulan berjalan · Identifikasi PPN Keluaran − PPN Masukan = Net PPN disetor · 📸 SCREENSHOT 8.10

⚠️ Laporan kosong? → Perluas range filter tanggal — gunakan "This Year" atau pilih manual dari awal periode.

✅ Checkpoint Step 5

  • Balance Sheet → Total Aset = Total Kewajiban + Ekuitas ✓
  • P&L → Revenue, COGS, Gross Profit teridentifikasi, GPM dicatat
  • Cash Flow → 3 aktivitas terbaca (Operasi, Investasi, Pendanaan)
  • Aged Receivable → Invoice 3 muncul di 0–30 hari
  • Tax Report → PPN Keluaran & Masukan terlihat, net PPN dihitung

💡 Refleksi: Apakah laba bersih (P&L) > arus kas operasi? Jika ya, kemungkinan besar ada piutang yang belum tertagih — cek Aged Receivable!

Adaptasi per Tipe UMKM

AspekF&BManufakturRetailJasa
RevenuePOS sessionSO + DeliverySO + DeliveryMilestone
HPPBahan harianBOM + WIPHarga beli + ongkirBiaya SDM
PPNUmumnya non-PKPPKP >4,8MPKP jika besarPKP + PPh 23
Rekon BankVolume tinggiVolume sedangVolume tinggiVolume rendah
Laporan KritisArus Kas harianGPM per produkAged ReceivableProfit per project

🍜 F&B: Tambah akun HPP per kategori menu (1301 Beras, 1302 Protein, 5101 HPP Makanan, 5102 HPP Minuman)

💼 Jasa: Tambah akun PPh 23 Dibayar di Muka (1420), Analytic per project, Revenue per kategori jasa

📦 Deliverables

Kumpulkan: Lab8_[NIM]_[Nama].zip

📸 SCREENSHOT 8.1 — CoA setelah kustomisasi

📸 SCREENSHOT 8.2 — Daftar taxes (PPN 12% Sales + Purchase)

📸 SCREENSHOT 8.3 — 3 Customer Invoices (Posted)

📸 SCREENSHOT 8.4 — Vendor Bill yang sudah di-post

📸 SCREENSHOT 8.5 — Bank Reconciliation (semua ter-reconcile)

📸 SCREENSHOT 8.6–8.10 — 5 Laporan Keuangan (Neraca, P&L, Cash Flow, Aged AR, Tax Report)

Rubrik Penilaian

KriteriaPoinBaik (100%)Kurang (<70%)
Step 1: Config CoA & Tax15Semua akun + PPN benarBanyak akun hilang
Step 2: 3 Invoice + 2 Payment20Semua posted & paidInvoice draft / PPN salah
Step 3: 2 Bill + 1 Payment15Bill posted, 1 paidBill belum confirm
Step 4: Bank Reconciliation254 baris reconciledBaris tidak match
Step 5: 5 Laporan Keuangan25Semua screenshot + GPMLaporan kosong / filter salah

Total: 100 poin. Bonus: Credit Note berhasil (+5), Laporan Aged Payable (+5)

🔧 Troubleshooting Quick Ref

Balance Sheet tidak balance? → Accounting → Misc → periksa draft journal entries yang belum di-post. Setiap JE harus Debit = Kredit.

Duplicate Invoice Warning? → SO yang sama di-invoice 2x. Cancel salah satu draft invoice — jangan confirm keduanya.

Rekonsiliasi tidak suggest match? → Jumlah di statement ≠ jumlah payment. Verifikasi sampai rupiah terakhir.

PPN tidak muncul di Tax Report? → Pastikan taxes di invoice/bill sudah terkonfigurasi dengan Tax Group yang benar.

💡 Tip: Jangan post journal entry yang tidak Anda mengerti. Buat sebagai Draft dulu — konsultasikan sebelum posting.

Preview Minggu Depan

Bab 09: Manufacturing

🏭 Bill of Materials (BOM) & Routing

⚙️ Manufacturing Orders & Work Orders

📊 Costing: Material + Labor + Overhead → HPP otomatis di Accounting

Selamat Praktikum! 🎉

Sistem Informasi Enterprise — ERP Odoo 19.0
dengan Real UMKM Partner Program