Mode Gelap
Company Invoices
Tagihan corporate / travel agent yang aggregate semua folio Bill-to-Company per periode billing. Bagian dari workflow Companies.
Path menu: Reservasi → Company Invoices (/master-data/companies/invoices)
Butuh add-on Accounting
Halaman ini di-gate oleh FeatureGate ACCOUNTING_BASIC. Modul Company Invoices hanya bisa dibuka bila add-on Accounting aktif — aktifkan di Liburania Console.
Konsep
Folio Bill-to-Company yang di-post ke AR (status folio = posted_to_ar) di-bundle menjadi 1 invoice per company per periode (umumnya bulanan). Nomor invoice auto-generate dengan format INV-YYYY-NNNN (mis. INV-2026-0001).
Reservasi A (Bill PT.X) ┐
Reservasi B (Bill PT.X) ├→ folio posted_to_ar ─→ Company Invoice INV-2026-0001
Reservasi C (Bill PT.X) ┘ (total = sum 3 reservasi)Tabel Invoice
Kolom:
- No. Invoice — format
INV-YYYY-NNNN - Company — nama + badge tipe
- Periode — rentang tanggal (start s/d end)
- Due Date — jatuh tempo
- Total — total tagihan
- Outstanding — sisa (merah bila > 0)
- Status — draft / sent / partially_paid / paid / overdue / voided
Subtotal, pajak, jumlah line item (folio), dan paid amount ditampilkan di modal Detail, bukan di kolom tabel.
Status Invoice
| Value | Label |
|---|---|
draft | Draft |
sent | Sent |
partially_paid | Partially Paid |
paid | Paid |
overdue | Overdue |
voided | Voided |
Filter & Search
- Status — pilih dari daftar status
- Pencarian — cari nomor invoice atau nama company
Aksi
Generate Invoice
Generate Invoice — pilih company (typeahead), Period Start, Period End, Due Date (opsional, default = period end + payment term company), dan catatan. Sistem meng-aggregate folio posted_to_ar company tsb di periode itu (yang belum pernah ter-invoice) menjadi 1 draft invoice.
Detail Invoice
Klik baris → modal detail menampilkan:
- Header: nomor, company, status, periode, due date, tanggal sent
- Ringkasan: Subtotal, Tax, Total, Paid, Outstanding
- Line Items — per folio: nomor folio, nomor reservasi, tamu, periode inap, amount
- Payment History — daftar pembayaran, dengan tombol Reverse per pembayaran
- Void Info — bila invoice sudah di-void (oleh siapa, kapan, alasan)
Aksi per Invoice (via klik kanan)
- Send — hanya untuk status
draft. Menandai invoice terkirim (status →sent). Saat ini hanya update status + attachment URL opsional; kirim email & generate PDF ditunda ke iterasi berikutnya - Record Payment — untuk status
sent/overdue/partially_paid. Input: tanggal, amount (tidak boleh melebihi outstanding), metode, referensi, catatan. Bila amount = full outstanding → status menjadipaid - Reverse Payment — dari Payment History di modal detail; wajib isi alasan. Outstanding dihitung ulang. Jurnal accounting tidak otomatis ter-reverse (perlu reverse manual di modul accounting)
- Void — untuk status
draft/sent/overdue; wajib isi alasan. Folio yang ter-link revert keposted_to_ar(siap di-invoice ulang). Bila sudah ada payment, reverse payment dulu
Metode Pembayaran
Cash, Bank Transfer, Credit/Debit Card, EDC, QRIS, Online Payment.
Workflow Pembayaran
- Generate invoice dari folio
posted_to_ar - Send invoice ke company (menandai status
sent) - Record Payment saat pembayaran diterima → status otomatis
partially_paid/paid - Saat payment dicatat, sistem posting jurnal ke accounting (DR Bank/Kas, CR Piutang Usaha) + update sub-ledger company
- Outstanding AR company berkurang
Tips
- Due date default dihitung dari payment term company (mis. term 30 hari = period end + 30 hari)
- Invoice overdue muncul di AR Aging Corporate report
- Untuk cicilan, catat payment beberapa kali sampai outstanding = 0
- Subtotal & pajak invoice berasal dari folio yang di-aggregate, bukan diinput manual