{% extends "base.html" %} {% block title %}Daftar Transaksi – FinansialApp{% endblock %} {% block page_title %}Daftar Transaksi{% endblock %} {% block content %} {% from '_pagination.html' import pagination with context %}
{# ── Tab bar ──────────────────────────────────────── #}
{# ── Filter bar ───────────────────────────────────── #}
{# Rentang tanggal #} {# Search keterangan #}
Download Excel {% if q or date_from or date_to %} Reset {% endif %}
Periode awal mengikuti Dashboard. Tanggal di halaman ini dapat dipilih secara mandiri.
{# Beban chips, pengeluaran only #} {% if tab == 'pengeluaran' %} {% set chips = [ ('', 'Semua', '#475569','#f1f5f9','#e2e8f0'), ('bahan_baku', 'Bahan Baku', '#065f46','#d1fae5','#6ee7b7'), ('operasional','Operasional', '#1e40af','#dbeafe','#93c5fd'), ('investasi', 'Investasi Aset', '#92400e','#fef3c7','#fcd34d'), ('pajak', 'Pajak', '#155e75','#cffafe','#67e8f9'), ('penarikan', 'Penarikan Owner', '#4c1d95','#ede9fe','#c4b5fd'), ('pinjaman_karyawan', 'Pinjaman Karyawan', '#9f1239','#ffe4e6','#fda4af'), ] %}
{% for val,lbl,color,bg,bord in chips %} {{ lbl }} {% endfor %}
{% endif %} {# Info rentang aktif #} {% if date_from or date_to %}
Menampilkan periode: {{ date_from if date_from else '-' }} hingga {{ date_to if date_to else '-' }}
{% endif %} {# ── Table ───────────────────────────────────────── #} {% if rows %}
{% for r in rows %} {% set is_masuk = r.flow_direction == 'MASUK' %} {% set is_transfer = r.flow_direction == 'TRANSFER' %} {# ── Kas: uang riil yang bergerak (net rekening kas/bank) ── #} {# ── Laba Rugi: laba kotor (penjualan, + %), beban (pengeluaran), atau dampak retur ── #} {# ── Sisa Tagihan: piutang (penjualan kredit) / hutang (pengeluaran kredit) belum lunas ── #} {% endfor %} {% if tab in ('semua', 'pelunasan') %} {% endif %} {% if tab in ('semua', 'retur') %} {% endif %}
ID Transaksi Tanggal Keterangan Jenis Nominal Kas Laba Rugi Sisa Tagihan
{{ r.nomor_tx }} {{ r.tanggal|tgl }} {{ r.keterangan }} {% if r.pos_nomor %} POS {% if r.pos_kasir %} {{ r.pos_kasir }} {% endif %} {% endif %} {% set lbl = r.sub_label %} {{ lbl }} {% if is_transfer %}{{ r.total|rp }}{% else %}{{ '+' if is_masuk else '−' }}{{ r.total|rp }}{% endif %} {% set nk = r.get('net_kas', 0)|float %} {% if nk|abs < 0.01 %} {% elif nk > 0 %}+{{ nk|rp }} {% else %}−{{ (nk|abs)|rp }}{% endif %} {% if r.tipe_tx == 'PEMASUKAN' %} {% set _pend = r.get('total', 0)|float %} {% set _lk = _pend - r.get('hpp', 0)|float %} {% set _pct = (_lk / _pend * 100) if _pend > 0 else 0 %} {{ '+' if _lk >= 0 else '−' }}{{ (_lk|abs)|rp }} ({{ _pct|round|int }}%) {% elif r.tipe_tx == 'PENGELUARAN' and r.get('beban', 0)|float > 0.01 %} −{{ r.get('beban', 0)|rp }} {% elif r.tipe_tx in ('RETUR_JUAL','RETUR_BELI') and r.get('laba_impact', 0)|float|abs > 0.01 %} {% set _li = r.get('laba_impact', 0)|float %} {{ '+' if _li >= 0 else '−' }}{{ (_li|abs)|rp }} {% else %}{% endif %} {% set _sp = r.get('sisa_piutang', 0)|float %} {% set _sh = r.get('sisa_hutang', 0)|float %} {% if _sp > 0.01 %}{{ _sp|rp }} PIUTANG {% elif _sh > 0.01 %}{{ _sh|rp }} HUTANG {% else %}{% endif %}
{{ pg.total }} transaksi {% if tab == 'semua' %}  ·  +{{ total_masuk|rp }}   −{{ total_keluar|rp }} {% if total_transfer %}   tf {{ total_transfer|rp }} {% endif %} {% endif %} {% if tab == 'semua' %}{{ '+' if total_all >= 0 else '−' }}{{ (total_all|abs)|rp }} {% elif tab == 'pemasukan' %}+{{ total_all|rp }} {% elif tab == 'retur' %}{{ '+' if total_all >= 0 else '−' }}{{ (total_all|abs)|rp }} {% elif tab == 'pelunasan' %}{{ '+' if total_all >= 0 else '-' }}{{ (total_all|abs)|rp }} {% elif tab == 'transfer' %}{{ total_all|rp }} {% else %}−{{ total_all|rp }}{% endif %}
Pelunasan terpisah dari omzet / belanja: penerimaan piutang +{{ total_pelunasan_masuk|rp }}   |   pembayaran hutang -{{ total_pelunasan_keluar|rp }} {{ '+' if (total_pelunasan_masuk-total_pelunasan_keluar) >= 0 else '-' }}{{ ((total_pelunasan_masuk-total_pelunasan_keluar)|abs)|rp }}
Retur terpisah dari omzet / belanja: retur penjualan -{{ total_retur_jual|rp }}   |   retur pembelian +{{ total_retur_beli|rp }} {{ '+' if (total_retur_beli-total_retur_jual) >= 0 else '-' }}{{ ((total_retur_beli-total_retur_jual)|abs)|rp }}
{% else %}
Tidak ada transaksi {% if beban %}untuk kategori {{ beban }}{% endif %} {% if q %}yang cocok dengan "{{ q }}"{% endif %} {% if date_from or date_to %}pada rentang tanggal yang dipilih{% endif %}
{% if beban or q or date_from or date_to %} Reset filter {% endif %}
{% endif %}
{{ pagination(pg) }} {% endblock %} {% block scripts %} {% endblock %}