Dokumentasi Lengkap: Alur dan Implementasi Piutang Usaha (Accounts Receivable)
Dokumen ini menjelaskan alur kerja, struktur data, dan visualisasi untuk modul Piutang Usaha (Accounts Receivable/AR). Alur ini dimulai dari pembuatan invoice untuk pelanggan, yang secara otomatis akan membuat entri AR dan jurnal akuntansi, hingga pemantauan penagihan melalui Laporan Umur Piutang (AR Aging).Bagian 1: Struktur Formulir Entri AR / Pembuatan Invoice
Tidak seperti AP di mana Anda menerima dokumen eksternal, dalam AR, formulir entri adalah formulir pembuatan invoice itu sendiri. Saat Anda mengisi formulir ini dan menyimpannya, Anda secara bersamaan membuat invoice untuk pelanggan dan mencatat transaksi piutang di sistem akuntansi Anda. Formulir ini dibagi menjadi tiga bagian logis:A. Informasi Header (Kepada Siapa dan Kapan)
- Customer Name (Nama Pelanggan): Nama pelanggan yang akan ditagih.
- (Praktik Terbaik: Gunakan daftar dropdown yang terhubung ke tabel master pelanggan untuk konsistensi data.)
- Invoice Number (Nomor Invoice): Nomor unik yang Anda berikan untuk invoice ini.
- (Sistem harus menghasilkan nomor ini secara otomatis dan berurutan untuk mencegah duplikasi.)
- Invoice Date (Tanggal Invoice): Tanggal penerbitan invoice.
- Payment Terms (Syarat Pembayaran): Syarat pembayaran yang disepakati (misalnya, Net 30, Due on Receipt).
- Due Date (Tanggal Jatuh Tempo): Tanggal invoice harus dibayar. (Seringkali dihitung otomatis dari
Invoice Date+Payment Terms). - Sales Order (SO) Number (Nomor Pesanan Penjualan): Jika invoice ini terkait dengan pesanan penjualan sebelumnya.
B. Rincian Baris / Distribusi Pendapatan (Apa yang Dijual)
Bagian ini merinci produk atau jasa yang dijual dan menentukan sisi Kredit dari jurnal akuntansi Anda.- Product/Service Description (Deskripsi Produk/Jasa): Deskripsi detail dari item yang dijual.
- Quantity (Kuantitas): Jumlah unit yang dijual.
- Unit Price (Harga Satuan): Harga per unit.
- Amount (Jumlah): Total untuk baris tersebut (
QuantityxUnit Price). - GL Account (Akun GL): Akun General Ledger yang akan dikreditkan. Biasanya ini adalah akun Pendapatan (misalnya,
4100 - Pendapatan Penjualan,4200 - Pendapatan Jasa). - (Praktik Terbaik: Tautkan produk/jasa ke akun pendapatan default untuk otomatisasi.)
C. Ringkasan dan Total (Kontrol dan Pajak)
- Subtotal: Total dari semua baris
Amount. - Sales Tax (Pajak Penjualan/PPN): Jumlah pajak yang dibebankan.
- (Sistem harus dapat menghitung ini berdasarkan tarif pajak yang berlaku.)
- Shipping/Freight (Biaya Kirim): Biaya pengiriman yang dibebankan kepada pelanggan.
- Invoice Total: Jumlah total akhir yang harus dibayar pelanggan (
Subtotal+Tax+Shipping).
Bagian 2: Struktur Tabel Database & Relasi Kolom
Saat formulir di atas disimpan, datanya akan mengisi tabel-tabel berikut.Tabel 1: Sales_Invoices (Data Header)
| Nama Kolom (Field Name) | Deskripsi | Relasi ke Formulir |
|---|---|---|
sales_invoice_id | ID unik internal untuk invoice. | (Internal) |
customer_id | Foreign Key ke tabel Customers. | Customer Name |
invoice_number | Nomor unik invoice. | Invoice Number |
invoice_date | Tanggal penerbitan invoice. | Invoice Date |
due_date | Tanggal jatuh tempo. | Due Date |
invoice_subtotal | Total sebelum pajak. | Subtotal |
tax_amount | Jumlah pajak. | Sales Tax |
shipping_amount | Biaya pengiriman. | Shipping/Freight |
invoice_total | Total akhir invoice. | Invoice Total |
balance_due | Sisa saldo yang belum dibayar. | (Dihitung: invoice_total - amount_paid) |
Tabel 2: Sales_Invoice_Line_Items (Data Rincian)
| Nama Kolom (Field Name) | Deskripsi | Relasi ke Formulir |
|---|---|---|
line_id | ID unik internal untuk baris rincian. | (Internal) |
sales_invoice_id | Foreign Key ke tabel Sales_Invoices. | (Internal) |
item_description | Deskripsi produk/jasa. | Product/Service Description |
quantity | Kuantitas. | Quantity |
unit_price | Harga satuan. | Unit Price |
line_total | Total baris. | Amount |
revenue_gl_account_id | ID Akun GL Pendapatan yang akan dikredit. | GL Account |
Bagian 3: Alur Pembuatan Jurnal Akuntansi
Ketika formulir invoice disimpan, sistem secara otomatis membuat jurnal berikut. Skenario: Anda menerbitkan invoiceINV-2023-001 kepada “PT Klien Sejahtera” senilai Rp 1.100.000 (Rp 1.000.000 untuk jasa + Rp 100.000 untuk PPN).
Jurnal Akuntansi yang Dihasilkan:
| No. Akun | Nama Akun | Debit | Kredit |
|---|---|---|---|
1200 | Piutang Usaha (Accounts Receivable) | Rp 1.100.000 | |
4100 | Pendapatan Jasa | Rp 1.000.000 | |
2200 | Utang PPN (Sales Tax Payable) | Rp 100.000 | |
| Untuk mencatat penjualan ke PT Klien Sejahtera, Inv #INV-2023-001 |
- Debit ke Piutang Usaha (Akun Aset) untuk mencatat bahwa pelanggan berutang kepada Anda. Nilai ini berasal dari
Invoice Total. - Kredit ke Akun Pendapatan untuk mengakui pendapatan yang Anda peroleh. Nilai ini berasal dari
Subtotalatau total dari baris rincian. - Kredit ke Utang PPN (Akun Liabilitas) untuk mencatat pajak yang Anda kumpulkan dan harus disetorkan ke negara.
Bagian 4: Implementasi Laporan Umur Piutang (AR Aging)
Laporan Umur Piutang sangat penting untuk mengelola arus kas masuk dan melacak pelanggan yang terlambat membayar. Logikanya identik dengan AP Aging, tetapi fokusnya adalah pada uang yang akan diterima.A. Kebutuhan Data
TabelSales_Invoices Anda harus memiliki data berikut untuk setiap invoice yang belum lunas:
customer_name(diambil dari tabelCustomersviacustomer_id)invoice_numberinvoice_datedue_date(Kolom Kunci)balance_due(Nilai yang akan dihitung umurnya)
B. Logika Perhitungan
Perhitungan didasarkan pada Hari Lewat Tempo (Days Overdue).- Rumus:
Hari Lewat Tempo = Tanggal Hari Ini - Tanggal Jatuh Tempo - Jika hasilnya negatif atau nol, invoice masih Lancar (Current).
- Jika hasilnya positif, invoice sudah Lewat Tempo.
C. Metode Visualisasi
1. Laporan Umur Piutang Rinci (Tabel Klasik) Menampilkan setiap invoice yang belum lunas, berguna untuk tim penagihan. Laporan Umur Piutang per tanggal: 15-12-2023| Nama Pelanggan | No. Invoice | Tgl Jatuh Tempo | Lewat Tempo | Saldo Total | Lancar | 1-30 Hari | 31-60 Hari | 61-90 Hari | 90+ Hari |
|---|---|---|---|---|---|---|---|---|---|
| PT Klien Sejahtera | INV-005 | 25-12-2023 | -10 hari | 5.000.000 | 5.000.000 | ||||
| Toko Maju Jaya | INV-003 | 20-11-2023 | 25 hari | 12.000.000 | 12.000.000 | ||||
| CV Bintang Timur | INV-002 | 15-10-2023 | 61 hari | 3.500.000 | 3.500.000 | ||||
| PT Klien Sejahtera | INV-001 | 01-09-2023 | 105 hari | 1.000.000 | 1.000.000 | ||||
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| TOTAL | 21.500.000 | 5.000.000 | 12.000.000 | 0 | 3.500.000 | 1.000.000 |
| Nama Pelanggan | Saldo Total | Lancar | 1-30 Hari | 61-90 Hari | 90+ Hari |
|---|---|---|---|---|---|
| PT Klien Sejahtera | 6.000.000 | 5.000.000 | 1.000.000 | ||
| Toko Maju Jaya | 12.000.000 | 12.000.000 | |||
| CV Bintang Timur | 3.500.000 | 3.500.000 | |||
| --- | --- | --- | --- | --- | --- |
| TOTAL | 21.500.000 | 5.000.000 | 12.000.000 | 3.500.000 | 1.000.000 |
- Grafik Batang Bertumpuk (Stacked Bar Chart): Menunjukkan total piutang dan seberapa besar porsi yang lancar vs. yang terlambat.
- Grafik Lingkaran (Pie Chart): Menyoroti persentase piutang yang berisiko tinggi (lewat tempo 90+ hari).
AP Form Layout
Excellent. Here is a simplified sample layout for an Accounts Receivable (AR) form, which is essentially the Sales Invoice creation form. It’s designed to be clean, intuitive, and capture all necessary information to generate both the customer-facing invoice and the backend journal entry. I will provide it in both English and Bahasa Indonesia.Sample Form Layout (Simplified) - English
This layout represents what a user would see when creating a new invoice for a customer.- Automation: Fields like
Invoice #,Due Date, and all totals are calculated automatically to reduce errors. - Data Integrity: Using dropdowns for
Customer NameandProduct/Serviceensures consistent data entry by pulling from master lists. - Clear Workflow: The action buttons (
Save as Draft,Finalize & Send) define the next steps in the process. - User-Friendly: The form flows logically from who you’re billing, to what you’re selling, to the final costs.
