{% extends "base.html" %} {% block title %}Detail Transaksi - FinansialApp{% endblock %} {% block page_title %}Detail Transaksi {{ j.nomor_tx or ('#' ~ j.id) }}{% endblock %} {% block content %}
{# Transaksi terkunci invoice bukan Draft / pembayaran: sebutkan alasannya dan jalan keluarnya. Dulu tombol Edit/Hapus cuma berujung penolakan tanpa petunjuk. #} {% if kunci and kunci.terkunci %}
Terkunci karena {{ kunci.alasan }}. Selama terkunci, transaksi ini tidak bisa diedit atau dihapus. {% if session.role not in ('ADMIN','FINANCE') %}Kalau perlu dikoreksi, minta Admin atau Finance membuka kuncinya.{% endif %} {% if session.role in ('ADMIN','FINANCE') %} Buka Kunci untuk Koreksi {% endif %}
{% endif %}
Jurnal {{ j.nomor_tx or ('#' ~ j.id) }}
Kembali {% if is_sale and linked_invoice %} Cetak Invoice {% elif is_sale and session.role in ('ADMIN','FINANCE','OPERATOR') %} Cetak Invoice {% endif %} {% if has_meta and not resep_bahan and session.role in ('ADMIN','FINANCE','OPERATOR') %} Edit Transaksi & Item {% elif resep_bahan and session.role in ('ADMIN','FINANCE','OPERATOR') %} Edit (transaksi resep) {% elif not has_meta and session.role in ('ADMIN','FINANCE') %} Edit Jurnal {% endif %} {% if session.role in ('ADMIN','FINANCE') %} Hapus {% endif %}
TANGGAL
{{ j.tanggal|tgl }}
KETERANGAN
{{ j.keterangan }} {# Pelanggan / Vendor transaksi ini. Perannya sudah ditentukan di app.py; di sini cuma dipilih warna dan ikonnya. Transaksi tanpa nama pihak tidak menampilkan label apa pun. #} {% if pihak_nama %} {{ pihak_nama }} {% endif %} {% if proyek_info %} {{ proyek_info.kode }} · {{ proyek_info.nama }} {% endif %}
REFERENSI
{{ j.referensi or '-' }}
KATEGORI ARUS KAS
{% if j.kategori == 'OPERASIONAL' %}Operasional {% elif j.kategori == 'INVESTASI' %}Investasi {% elif j.kategori == 'PENDANAAN' %}Pendanaan {% elif j.kategori == 'KOREKSI' %}Koreksi {% else %}{{ j.kategori or '-' }}{% endif %}
{% if ref_no_invoice or ref_no_faktur %}
{% if ref_no_invoice %}
NO. INVOICE SUPPLIER
{{ ref_no_invoice }}
{% endif %} {% if ref_no_faktur %}
NO. FAKTUR PAJAK
{{ ref_no_faktur }}
{% endif %}
{% endif %} {% if pos_info %}
POS KASIR
Struk
{{ pos_info.nomor_struk }}
Diinput oleh
{{ pos_info.kasir_nama or pos_info.kasir_username or 'Kasir' }}
Metode Bayar
{{ pos_info.metode_bayar }}
Waktu Transaksi
{{ pos_info.dibuat|jam }}
Lihat Struk
{% endif %} {% if items %}
Rincian Item (apa yang dibeli/dijual)
{% set tot = namespace(v=0) %} {% for it in items %} {% set tot.v = tot.v + it.subtotal %} {% endfor %}
Produk / Deskripsi Qty Satuan Harga Diskon Subtotal
{% if it.produk_id %}{% elif it.arah == 'NON_SKU' %}Non-SKU{% endif %}{{ it.deskripsi }} {{ it.qty|qty }} {{ it.satuan or '-' }} {{ it.harga|rp }} {% if it.diskon %}{{ it.diskon|rp }}{% else %}-{% endif %} {{ it.subtotal|rp }}
Total Item {{ tot.v|rp }}
{% if resep_bahan %} {% set ns = namespace(t=0) %} {% for b in resep_bahan %}{% set ns.t = ns.t + (b.subtotal or 0) %}{% endfor %}
Konsumsi Bahan (Resep Produksi) — dipotong dari stok saat jual (backflush)
{% for b in resep_bahan %} {% endfor %}
BahanJenisQtyHargaNilai (HPP)
{{ b.deskripsi }} {% if b.produk_id %}SKU (potong stok){% else %}Non-SKU{% endif %} {{ '%g'|format(b.qty or 0) }} {{ b.harga|rp }} {{ b.subtotal|rp }}
Total HPP Bahan {{ ns.t|rp }}
HPP bahan/biaya ini sudah tercatat di jurnal dan tidak muncul di struk/invoice pelanggan. Bahan persediaan mengurangi 1130, sedangkan tenaga kerja/overhead direklas dari akun beban terkait.
{% endif %}
Jurnal (Double-Entry)
{% elif not has_meta %}
Jurnal manual atau data lama ini belum memiliki rincian barang. Untuk transaksi baru, catat pembelian dan penjualan melalui menu Pemasukan / Pengeluaran agar daftar barang dapat diedit.
{% endif %} {% set total_d = namespace(v=0) %} {% set total_k = namespace(v=0) %} {% for l in lines %} {% set total_d.v = total_d.v + l.debit %} {% set total_k.v = total_k.v + l.kredit %} {% endfor %}
Kode Nama Akun Tipe Debit Kredit
{{ l.kode }} {{ l.nama }} {{ l.tipe }} {% if l.debit > 0 %}{{ l.debit|rp }}{% else %}-{% endif %} {% if l.kredit > 0 %}{{ l.kredit|rp }}{% else %}-{% endif %}
TOTAL {{ total_d.v|rp }} {{ total_k.v|rp }}
{% if (total_d.v - total_k.v)|abs > 0.01 %}
Perhatian: Transaksi tidak seimbang!
{% endif %} Dibuat: {{ j.dibuat|jam }}
{% endblock %}