Minggu 9 · Pertemuan Teori · 120 Menit

08

Accounting &
Finance

Mengelola Keuangan UMKM dengan Standar Indonesia di Odoo 19

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

Agenda 120 Menit

#TopikWaktu
1Pre-Test & Diskusi Awal10 min
2Fondasi: LO & Peta Konsep10 min
38.1 — Accounting Fundamentals ERP12 min
48.2 — Chart of Accounts Indonesia12 min
58.3–8.4 — Customer Invoicing & Vendor Bills20 min
68.5 — Bank & Cash Reconciliation12 min
78.6 — Pajak Indonesia (PPN & PPh)15 min
88.7 — Financial Reporting & Studi Kasus15 min
9Rangkuman & Preview Lab14 min

📋 Prasyarat: Database Odoo 19 dengan SO (Bab 5), PO + Receipt (Bab 6), stok aktif (Bab 7). Module Accounting sudah aktif.

🧪

Mari Uji Pemahaman Awal!

3 pertanyaan refleksi untuk mengaktifkan pengetahuan akuntansi dasar Anda. Tidak dinilai — diskusikan dengan teman sekitar 1 menit per pertanyaan.

💡 Bab 8 adalah bab paling "berat" secara konseptual — menggabungkan prinsip akuntansi, regulasi pajak, dan fitur Odoo. Pre-test ini membantu Anda fokus!

Pre-Test · Pertanyaan 1

Double-Entry Bookkeeping

Anda menjual produk seharga Rp 1.000.000 dan pembeli membayar tunai.

Akun apa yang di-debit dan akun apa yang di-kredit? Mengapa harus ada dua sisi?

💬 Diskusikan 1 menit — Apakah total Debit selalu = total Kredit?

Pre-Test · Pertanyaan 2

Kalkulasi PPN

UMKM mitra menjual produk Rp 500.000 kepada pelanggan PKP. PPN = 11%.

Berapa PPN yang harus dipungut? Apakah PPN ini menjadi bagian dari revenue UMKM? Mengapa?

💬 Diskusikan 1 menit — Siapa yang sebenarnya "memiliki" uang PPN?

Pre-Test · Pertanyaan 3

Untung Tapi Tidak Ada Uang?

UMKM menyatakan "masih untung, banyak orderan." Tetapi saldo rekening bank hampir kosong.

Bagaimana mungkin bisnis "untung" tapi tidak ada uang? Laporan keuangan apa yang menjelaskan situasi ini?

💬 Diskusikan 1 menit — Apa bedanya "laba" dan "kas"?

Tujuan Pembelajaran (1/2)

🧠 LO 8.1 — Menjelaskan double-entry bookkeeping dan bagaimana Odoo mengotomasi journal entry dari transaksi operasional

🔧 LO 8.2 — Mengkonfigurasi Chart of Accounts berbasis SAK EMKM untuk kebutuhan spesifik UMKM Indonesia

🔧 LO 8.3 — Memproses siklus lengkap customer invoicing: SO → Invoice → Payment → Follow-up → Credit Notes

🔧 LO 8.4 — Mengkonfigurasi PPN 11%, PPh 23, dan memverifikasi kepatuhan pajak pada invoice dan bill

Tujuan Pembelajaran (2/2)

🔧 LO 8.5 — Melakukan rekonsiliasi bank statement dengan payment records menggunakan fitur AI matching Odoo 19

🔍 LO 8.6 — Menghasilkan dan menginterpretasi laporan keuangan standar (Neraca, L/R, Arus Kas, Aging) untuk pengambilan keputusan

🔍 LO 8.7 — Mengidentifikasi journal entry otomatis dari transaksi lintas modul (Sales → Inventory → Accounting) dan menjelaskan hubungan sebab-akibatnya

📚 Bloom's: 🧠 C2 Understand · 🔧 C3 Apply · 🔍 C4 Analyze

Peta Konsep — Accounting Cycle Odoo 19

Sales / Purchase / Inventory Journal Entries (Otomatis) General Ledger
General Ledger Trial Balance Laporan Keuangan
📊 Neraca
Aset = Liabilitas + Modal
📈 Laba Rugi
Revenue − Expenses
💰 Arus Kas
Operasi · Investasi · Pendanaan
🏦 Aged AR/AP
Monitoring Piutang & Utang
📋 Tax Reports
PPN · PPh 23 · SPT

Koneksi Antar Bab

← Input ke Bab 8

Bab 5 — Sales: SO → Delivery → Customer Invoice → Accounts Receivable

Bab 6 — Purchase: PO → Receipt → Vendor Bill → Accounts Payable

Bab 7 — Inventory: Stock Move → Journal Entry otomatis (COGS, Inventory Asset)

Output Bab 8 →

Bab 9 — Manufacturing: Biaya produksi → akun COGS & WIP

Bab 10 — HR: Payroll → journal entries gaji otomatis

Bab 12 — Integration: Laporan keuangan = "single source of truth"

Seksi 8.1 · 12 menit

Accounting Fundamentals
dalam ERP

Double-Entry yang Terjadi Otomatis

8.1

Double-Entry Bookkeeping di Odoo

Setiap transaksi mempengaruhi min. 2 akun — Debit = Kredit. Odoo mencatat otomatis di setiap aksi operasional.

KejadianDebitKredit
Invoice customer di-postAccounts ReceivableSales Revenue + PPN Output
Customer bayar invoiceBank / KasAccounts Receivable
Vendor bill di-postPurchases + PPN InputAccounts Payable
Bayar vendor billAccounts PayableBank / Kas
Delivery di-validateCOGSInventory Asset

🔗 Audit Trail: Setiap journal entry links ke dokumen asal (SO, PO, Receipt, Invoice) — traceability penuh.

5 Jenis Journal & Periode Akuntansi

Sales

Invoice & Credit Notes

Purchase

Vendor Bills & Debit Notes

Bank

1 jurnal per rekening

Cash

Kas kecil / transaksi tunai

Miscellaneous

Adjustment & opening entries

📅 Fiscal Year Indonesia: 1 Jan – 31 Des. Gunakan Lock Period setelah closing untuk mencegah backdated entry.

Opening Entry: Saat pertama kali pakai Odoo di tengah tahun → input saldo awal (opening balance) untuk semua akun neraca.

Seksi 8.2 · 12 menit

Chart of Accounts
Indonesia

Fondasi Laporan Keuangan Berbasis SAK EMKM

8.2

Struktur CoA — SAK EMKM

Standar akuntansi yang disederhanakan untuk UMKM Indonesia (IAI, 2016).

KodeKelompok AkunContoh
1100Aset LancarKas, Bank, Piutang, Persediaan
1200Aset Tidak LancarPeralatan, Kendaraan
2100Kewajiban LancarUtang Dagang, Utang PPN, Utang PPh
2200Kewajiban Jangka PanjangUtang Bank
3100ModalModal Pemilik, Laba Ditahan
4100PendapatanPenjualan Produk, Pendapatan Jasa
5100HPP (COGS)HPP Produk, Biaya Bahan Baku
6100Biaya OperasionalGaji, Sewa, Listrik, Marketing

🌐 Odoo Localization Indonesia: CoA template sudah tersedia saat install — tinggal review & kustomisasi sesuai UMKM mitra.

Kustomisasi CoA & Analytic Accounting

Kustomisasi per Tipe UMKM

  • F&B: HPP per kategori (Makanan, Minuman, Bahan Baku)
  • Manufaktur: Akun WIP, Bahan Baku, Biaya Produksi
  • Retail: HPP per kategori produk; Diskon & Retur
  • Jasa: Pendapatan per kategori; Biaya Subkontraktor

Analytic Accounting

Lapisan tambahan di atas GL — tracking biaya & pendapatan per project, cabang, atau lini produk.

📍 Contoh: Kafe 2 cabang → tag "Cabang Bandung" vs "Cabang Jakarta" → laporan profitabilitas per cabang.

Mini Quiz 1

Penjualan Tunai dengan PPN

UMKM retail membuat penjualan tunai Rp 2.200.000 (sudah termasuk PPN 11%). Bagaimana PPN yang dipungut dari customer dicatat?

A.Sebagai Pendapatan Penjualan (Revenue) B.Sebagai Utang PPN Keluaran (Kewajiban) C.Sebagai Beban Pajak (Expense) D.Tidak perlu dicatat terpisah
✓ Jawaban Quiz 1

B — Utang PPN Keluaran (Kewajiban)

Journal Entry:
Debit: Kas Rp 2.200.000
Kredit: Pendapatan Rp 1.981.982
Kredit: Utang PPN Keluaran Rp 218.018

💡 PPN adalah titipan untuk DJP, bukan milik UMKM. UMKM hanya pemungut (withholding agent). Mencatatnya sebagai Revenue akan menggelembungkan pendapatan secara artifisial.

Seksi 8.3 · 15 menit

Customer Invoicing
& AR

Dari Sales Order ke Pelunasan Piutang

8.3

Invoice dari SO & Payment Registration

Sales Order Create Invoice Confirm / Post Register Payment Paid ✓

Invoice Policy

  • Ordered: Invoice langsung setelah SO confirm (digital/prepaid)
  • Delivered: Invoice setelah delivery validate (produk fisik)
  • Down Payment: DP parsial di awal

Payment

  • Full payment → AR di-clear otomatis
  • Partial payment → sisa tetap outstanding
  • Payment terms: Net 30, Net 15, Immediate

Follow-Up Piutang & Credit Notes

Payment Follow-Up

  • Follow-Up Report: Semua invoice jatuh tempo + aging
  • Multi-level reminder: 7 hari sebelum → 1 hari setelah → 7 hari setelah due
  • WhatsApp Reminders — fitur Odoo 19 untuk UMKM Indonesia 🆕

Credit Notes

  • Mengurangi nilai invoice: retur, diskon post-invoice, koreksi
  • JE: Debit Revenue + Debit PPN Output, Kredit AR
  • Auto-reconcile dengan invoice outstanding

⚠️ E-Faktur: Nomor faktur pajak DJP ≠ nomor invoice Odoo. NSFP dikonfigurasi terpisah sesuai Nomor Seri Faktur Pajak dari DJP.

Seksi 8.4 · 5 menit

Vendor Bills
& AP

Mengelola Utang Dagang dengan Tertib

8.4

PO → Bill → Payment

PO + Receipt Create Bill Verify & Post Register Payment

Vendor Bill Flow

  • Bill otomatis terisi dari PO: vendor, lines, harga
  • JE Post: Debit Purchases + PPN Input, Kredit AP
  • Verifikasi: cocokkan dengan nota fisik vendor

Fitur Tambahan

  • Batch Payments: Bayar beberapa vendor sekaligus
  • Debit Notes: Vendor klaim tambahan
  • Vendor Refund: Retur barang → reverse bill → kurangi AP

⚠️ Jangan Post Journal Entry yang Tidak Dimengerti

Aturan emas: "Jika Anda tidak bisa menjelaskan mengapa Debit dan Kredit di entry tersebut masuk akal — jangan post."

Tanda-tanda yang Harus Diwaspadai

  • Journal entry dengan Debit dan Kredit di akun yang sama
  • Nilai sangat besar melebihi transaksi normal tanpa penjelasan
  • Entries di akun "Suspense" yang sudah >7 hari

💡 Solusi: Buat journal entry sebagai Draft dulu — konsultasikan dengan rekan sebelum posting. Odoo mudah digunakan, tapi kemudahan itu juga bisa menciptakan kekacauan data.

Seksi 8.5 · 12 menit

Bank & Cash
Management

Rekonsiliasi: Buku Kas = Rekening Bank Sesungguhnya

8.5

Bank Reconciliation — AI Matching Odoo 19 🆕

Download Mutasi Bank Import (CSV/OFX/CAMT) AI Auto-Match Review & Validate

Proses Rekonsiliasi

  1. Import bank statement (CSV/OFX/CAMT.053)
  2. Odoo auto-suggests match + confidence score
  3. Review: klik "Match" jika cocok
  4. Baris tanpa match → buat JE langsung (biaya admin bank)
  5. Validate → saldo Odoo = saldo bank rekening fisik

Penyebab Selisih

  • Biaya admin bank belum dicatat
  • Bunga bank belum di-record
  • Outstanding checks (in-transit)
  • Error input atau timing difference

💡 Ritual Senin Pagi: 15 Menit Penyelamat Arus Kas

Menit 1–8: Aged Receivable

  • Filter: semua yang sudah >30 hari
  • Kirim Follow-Up via Odoo (email/WhatsApp)
  • Catat: siapa yang sudah dijanjikan bayar?

Menit 9–15: Aged Payable

  • Filter: jatuh tempo dalam 7 hari ke depan
  • Siapkan pembayaran / negosiasi
  • Catat: vendor paling kritis minggu ini?

📊 Statistik: Piutang yang ditindaklanjuti dalam 30 hari pertama → peluang tertagih 80%. Tunggu 90+ hari? Di bawah 30%. Ritual 15 menit ini adalah investasi paling murah untuk menjaga kas.

Seksi 8.6 · 15 menit

Pajak Indonesia
di Odoo

PPN, PPh 23, dan Kepatuhan Perpajakan

8.6

PPN 11% — Output & Input

PPN Keluaran (Output)

Dipungut dari customer saat penjualan.
Tax Type: Sales · Rate: 11%
Akun: Utang PPN Keluaran (Kewajiban)

PPN Masukan (Input)

Dibayar ke vendor saat pembelian. Dapat dikreditkan.
Tax Type: Purchase · Rate: 11%
Akun: PPN Masukan (Aset)

Formula Setor ke DJP: PPN Disetor = PPN Keluaran − PPN Masukan. Contoh: Jual Rp 80 juta, Beli Rp 45 juta → Keluaran Rp 8,8 juta − Masukan Rp 4,95 juta = Setor Rp 3,85 juta

📋 Konfigurasi Odoo: Accounting → Configuration → Taxes → Set default tax di Product (Sales tab: PPN Output, Purchase tab: PPN Input)

PPh 23 & E-Faktur Overview

PPh 23 — Withholding Tax

  • Rate: 2% dari nilai bruto jasa
  • Dipotong oleh penerima jasa (klien korporasi)
  • Contoh: Fee Rp 10 juta → klien potong Rp 200.000 → UMKM terima Rp 9,8 juta
  • Odoo: Tax −2% (negative) di akun PPh 23 Dibayar di Muka

E-Faktur — Pelaporan PPN

  • Sistem elektronik DJP untuk faktur pajak PKP
  • Odoo export data invoice → upload ke e-Faktur DJP
  • NSFP: Nomor Seri Faktur Pajak dari DJP → dikonfigurasi di sequence invoice
  • Tax Report: Accounting → Reporting → Tax Report

📋 Tax Report SPT: Total PPN Output − PPN Input = Net PPN disetor. Filter per bulan untuk SPT Masa PPN bulanan.

💡 PPN Bukan Milik Anda

PPN yang dipungut dari customer adalah titipan untuk DJP. Tapi sering kali, UMKM "meminjam" PPN untuk operasional — dan kelabakan saat jatuh tempo setor (tanggal 25 bulan berikutnya).

Rekomendasi Praktis

  • Buat rekening / pos khusus PPN — pisahkan dari kas operasional
  • Setiap invoice dibayar → transfer PPN ke pos khusus tersebut
  • Cek saldo Utang PPN Keluaran setiap minggu — ini "hutang ke DJP"

"Anggap akun PPN seperti rekening bukan milik Anda. Anda hanya penjaganya."

Mini Quiz 2

Perhitungan PPN Disetor

BBS membeli kain senilai Rp 45.000.000 dan menjual batik senilai Rp 80.000.000 (sebelum PPN 11%) dalam satu bulan. Berapa PPN yang harus disetor ke DJP?

A.Rp 8.800.000 (PPN Keluaran saja) B.Rp 4.950.000 (PPN Masukan saja) C.Rp 3.850.000 (Keluaran − Masukan) D.Rp 13.750.000 (Keluaran + Masukan)
✓ Jawaban Quiz 2

C — Rp 3.850.000

Perhitungan:
PPN Keluaran = Rp 80.000.000 × 11% = Rp 8.800.000
PPN Masukan = Rp 45.000.000 × 11% = Rp 4.950.000
PPN Disetor = Rp 8.800.000 − Rp 4.950.000 = Rp 3.850.000

💡 PPN Keluaran dicatat sebagai Utang PPN (Liabilitas) — kewajiban ke DJP. PPN Masukan dicatat sebagai PPN Dibayar Dimuka (Aset) — klaim ke DJP untuk dikreditkan.

Seksi 8.7 · 15 menit

Financial Reporting

Neraca, Laba Rugi, Arus Kas — Real-Time di Odoo

8.7

Neraca & Laba Rugi

📊 Balance Sheet (Neraca)

Aset Lancar: Kas, Bank, Piutang, Persediaan
Aset Tetap: Peralatan (net penyusutan)
Kewajiban: Utang Dagang, Utang PPN
Modal: Modal Pemilik + Laba Ditahan

Total Aset = Total Kewajiban + Modal

📈 Profit & Loss (Laba Rugi)

Revenue (Penjualan Bersih)
COGS (HPP)
= Gross Profit (Laba Kotor)
Biaya Operasional
= Laba Bersih

GPM = Laba Kotor / Penjualan × 100%

🔗 Integration: Angka "Persediaan" di Neraca harus = Stock Valuation di Inventory (Bab 7). Discrepancy = ada config error!

Cash Flow, Aged Reports & Month-End

💰 Statement Arus Kas

Operasi
Bisnis inti
Investasi
Aset tetap
Pendanaan
Pinjaman & modal

📋 Aged AR/AP

  • Aged Receivable: Piutang per customer, bucket 0–30, 31–60, 61–90, >90 hari
  • Aged Payable: Utang per vendor, prioritas pembayaran

🔒 Month-End Checklist: ✅ Semua invoice/bill posted · ✅ Bank reconciliation selesai · ✅ Stok terverifikasi · ✅ Tax report reviewed · ✅ P&L reviewed by owner · ✅ Lock Period aktifkan!

Studi Kasus Bab 8

Konsultan Maju Digital — "Bulan Gelap"

Profil

  • Bidang: Jasa Konsultan IT, Surabaya
  • Tim: 8 orang, 15–20 proyek/bulan
  • Omzet: ±Rp 1,8 miliar/tahun (PKP)

Masalah Utama

  • 📍 Piutang Rp 145 juta outstanding — tanpa tahu aging-nya
  • 📍 Invoice "hilang" Rp 28 juta — proyek selesai, invoice tidak dibuat
  • 📍 PPh 23 tidak terdokumentasi → ±Rp 3,6 juta/tahun terlewat
  • 📍 Close bulanan: 5–7 hari kerja (40 jam/bulan)

"Bulan lalu kita dapat banyak proyek, mestinya kas aman." — Pak Deni, Direktur (mengambil keputusan berdasarkan "feeling")

KMD — Sebelum vs Sesudah Odoo

Close Bulanan

5–7 hari

97 menit

Invoice Hilang

Rp 28 jt

Rp 0

PPh 23 Tracked

Sporadis

100%

Profitabilitas/Project

Tidak ada

Real-time

📝 Lessons: Analytic accounting mengungkap 2 project yang merugi tersembunyi (GPM <25%). Piutang tak terpantau = opportunity cost Rp 17,4 juta/tahun. Rekonsiliasi mingguan >> bulanan.

Rangkuman — Key Takeaways

🔄 Double-entry otomatis — Odoo mencatat JE di setiap aksi operasional
📋 CoA SAK EMKM — Struktur standar Indonesia + kustomisasi per UMKM
📄 Invoice → Payment → Reconcile — Siklus AR & AP end-to-end
🏦 Bank Recon AI — Match otomatis menghemat 50–80% waktu
💰 PPN Bukan Revenue — Titipan DJP, dicatat sebagai Kewajiban
📊 Laporan Real-Time — Neraca, L/R, Cash Flow, Aged AR/AP on-demand
Sales (5)
Purchase (6)
Inventory (7)
Accounting (8)
Manufacturing (9)

🔬 Preview Lab Minggu Ini

🔧 Step 1: Verifikasi & kustomisasi Chart of Accounts + konfigurasi PPN 11%
📄 Step 2: Proses Customer Invoices dari Sales Orders (Bab 5)
📋 Step 3: Proses Vendor Bills dari Purchase Orders (Bab 6)
🏦 Step 4: Simulasi Bank Reconciliation dengan AI matching
📊 Step 5: Generate & interpretasi package Laporan Keuangan

📚 Referensi Utama: IAI (2016) SAK EMKM · Weygandt et al. (2018) Financial Accounting IFRS · Odoo S.A. (2024) Accounting Documentation · UU HPP No. 7/2021

Terima Kasih 🙏

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