{% extends "base.html" %} {% block title %}Invoice {{ inv.nomor }} - FinansialApp{% endblock %} {% block page_title %}Invoice {{ inv.nomor }}{% endblock %} {% block content %}
Kembali Cetak / PDF {% if inv.jurnal_id %} Transaksi Sumber {% endif %} {% if session.role in ('ADMIN','FINANCE','OPERATOR') %} Edit {% endif %} {% if modul_aktif and modul_aktif.PAJAK_OTOMATIS and not inv.jurnal_id and session.role in ('ADMIN','FINANCE') %}
{% endif %}
{% if kunci_tx and kunci_tx.terkunci and session.role in ('ADMIN','FINANCE') %} Buka Kunci {% endif %} {% if session.role in ('ADMIN','FINANCE') or (session.role == 'OPERATOR' and inv.status != 'PAID') %}
{% else %} {% if inv.status=='PAID' %}Lunas{% elif inv.status=='SENT' %}Terkirim{% else %}Draft{% endif %} {% endif %}
{# ── Status pembukuan: badge jelas biar tak salah sangka invoice sudah tercatat ── #}
{% if inv.jurnal_id %}
Sudah masuk pembukuan. Tercatat di Jurnal #{{ inv.jurnal_id }}, ikut terhitung di Laba Rugi, Neraca, dan Kas.
{% else %}
Belum masuk pembukuan. Invoice ini baru dokumen, belum tercatat ke jurnal, kas, neraca, atau laba rugi.
Kalau penjualan ini belum kamu catat, gunakan menu Pemasukan{% if modul_aktif and modul_aktif.PAJAK_OTOMATIS and session.role in ('ADMIN','FINANCE') %}, atau klik Catat ke Jurnal di atas{% endif %}. Jangan catat dua-duanya untuk penjualan yang sama.
{% endif %}
{# ── Terima DP / Pembayaran: hanya untuk invoice yang sudah tertaut piutang & masih ada sisa ── #} {% if inv_has_piutang and inv_sisa > 0.01 %}
Sisa Tagihan
{{ inv_sisa|rp }}
{% if inv_terbayar > 0.01 %}
Sudah dibayar: {{ inv_terbayar|rp }}
{% endif %}
{% if session.role in ('ADMIN','FINANCE') %}
{% endif %}
Pembayaran/DP langsung mengurangi Sisa Tagihan dan tercatat sebagai penerimaan kas (Dr Kas/Bank, Cr Piutang). Bisa dicicil beberapa kali sampai lunas.
{% endif %}
{% if inv_s.inv_logo %} {% endif %}
{{ inv_s.inv_nama }}
{% if inv_s.inv_tagline %}
{{ inv_s.inv_tagline }}
{% endif %} {% if inv_s.inv_alamat %}
{{ inv_s.inv_alamat }}
{% endif %} {% if inv_s.inv_telepon %}
{{ inv_s.inv_telepon }}
{% endif %} {% if inv_s.inv_email %}
{{ inv_s.inv_email }}
{% endif %}
INVOICE
{{ inv.nomor }}
Ditagihkan kepada
{{ inv.pelanggan }}
{% if inv.alamat_pelanggan %}
{{ inv.alamat_pelanggan }}
{% endif %} {% if inv.telepon_pelanggan %}
{{ inv.telepon_pelanggan }}
{% endif %}
Tanggal{{ inv.tanggal|tgl }}
Jatuh Tempo {{ inv.jatuh_tempo|tgl if inv.jatuh_tempo else '-' }}
Term of Payment {{ actual_top }} hari{% set tn = inv.top_note or inv_s.inv_top_note %}{% if tn %} ({{ tn }}){% endif %}
{% for it in items %} {% endfor %}
# Deskripsi Qty Satuan Harga Satuan Diskon Subtotal
{{ loop.index }} {{ it.deskripsi }} {{ it.qty|qty }} {{ it.satuan }} {{ it.harga_satuan|rp }} {% if it.diskon_item %}{{ it.diskon_item|rp }}{% else %}-{% endif %} {{ it.subtotal|rp }}
{% if inv.diskon %} {% endif %} {% if inv.ongkir %} {% endif %} {% if inv.biaya_lain %} {% endif %} {% if pajak_pct and pajak_pct > 0 %} {% endif %} {% set pph22_n = pph22_nom|default(0) %} {% set pph22_p = pph22_pct|default(0) %} {% if (pph23_pct and pph23_pct > 0) or (pph22_p and pph22_p > 0) %} {% if pph22_p and pph22_p > 0 %} {% endif %} {% if pph23_pct and pph23_pct > 0 %} {% endif %} {% endif %}
Subtotal {{ subtotal|rp }}
Diskon - {{ inv.diskon|rp }}
Ongkir {{ inv.ongkir|rp }}
Biaya Lain {{ inv.biaya_lain|rp }}
Pajak ({{ pajak_pct|round(2) }}%) {{ pajak_nom|rp }}

TOTAL {{ total|rp }}

Dipotong PPh 22 ({{ pph22_p|round(2) }}%) - {{ pph22_n|rp }}
Dipotong PPh 23 ({{ pph23_pct|round(2) }}%) - {{ pph23_nom|rp }}
Diterima Bersih {{ (total - pph23_nom - pph22_n)|rp }}
{% if (inv.ongkir or inv.biaya_lain) and session.role in ('ADMIN','FINANCE','OPERATOR') %}
Ongkir/biaya lain di atas tercatat sebagai pendapatan, bukan beban. Catat sebagai Beban
{% endif %} {% if inv_s.inv_rek_list %}
Informasi Pembayaran
{% for r in inv_s.inv_rek_list %}
{{ r.bank }}  {{ r.norek }}{% if r.an %}  a.n. {{ r.an }}{% endif %}
{% endfor %}
{% endif %} {% if inv.catatan %}
{{ inv.catatan }}
{% endif %} {% if inv_s.inv_terms %}
Syarat & Ketentuan
{{ inv_s.inv_terms }}
{% endif %}
{% endblock %}