{% extends 'base.html' %} {% set NM_BULAN = ['','Januari','Februari','Maret','April','Mei','Juni','Juli','Agustus','September','Oktober','November','Desember'] %} {% set nm_bln_id = NM_BULAN[bulan] %} {% block title %}Anggaran & Target — {{ nm_bln_id }} {{ tahun }}{% endblock %} {% block page_title %}Anggaran & Target{% endblock %} {% block content %}
Modul Lanjutan Aktif — Tetapkan anggaran beban per akun dan target pendapatan setiap bulan, lalu pantau realisasinya secara otomatis dari buku besar.
{% set bln_prev = bulan - 1 if bulan > 1 else 12 %} {% set thn_prev = tahun if bulan > 1 else tahun - 1 %} {% set bln_next = bulan + 1 if bulan < 12 else 1 %} {% set thn_next = tahun if bulan < 12 else tahun + 1 %} {{ nm_bln_id }} {{ tahun }} {% if bulan == today.month and tahun == today.year %} Bulan Ini {% endif %}
Target Pendapatan {{ nm_bln_id }} {{ tahun }}
{% if target_nominal > 0 %} {% set pct_pend = [(aktual_pendapatan / target_nominal * 100), 100] | min | round(1) %} {% set over_pend = aktual_pendapatan > target_nominal %}
{{ aktual_pendapatan|rp }} dari {{ target_nominal|rp }}
{{ pct_pend }}% tercapai {% if over_pend %} Melampaui target! {% else %} Sisa {{ (target_nominal - aktual_pendapatan)|rp }} {% endif %}
{% else %}
Belum ada target. Realisasi saat ini:
{{ aktual_pendapatan|rp }}
{% endif %}
Ringkasan Anggaran Beban {{ nm_bln_id }} {{ tahun }}
{% if anggaran_data %} {% set total_pct = (total_realisasi / total_anggaran * 100) | round(1) if total_anggaran > 0 else 0 %} {% set total_over = total_realisasi > total_anggaran %}
Total Anggaran
{{ total_anggaran|rp }}
Total Realisasi
{{ total_realisasi|rp }}
{{ total_pct }}% terpakai {% if total_over %} Over anggaran! {% else %} Sisa {{ (total_anggaran - total_realisasi)|rp }} {% endif %}
{% else %}
Belum ada pos anggaran bulan ini.
Tambahkan di bawah atau salin dari bulan lalu.
{% endif %}
Detail Anggaran Beban — {{ nm_bln_id }} {{ tahun }} {{ anggaran_data|length }} pos
{% if anggaran_data %}
{% for a in anggaran_data %} {% endfor %}
Kode Nama Akun Anggaran Realisasi Selisih Penggunaan Aksi
{{ a.akun_kode }}
{{ a.akun_nama }}
{% if a.subtipe %}
{{ a.subtipe }}
{% endif %}
{{ a.nominal|rp }} {{ a.realisasi|rp }} {% if a.selisih < 0 %} {{ (a.selisih * -1)|rp }} {% else %} {{ a.selisih|rp }} {% endif %} {% set bar_pct = [a.pct, 100]|min %} {% set bar_cls = 'bg-danger' if a.over else ('bg-warning' if a.pct > 85 else 'bg-success') %}
{{ a.pct|round(0)|int }}%
{% if a.over %}
Over {{ (a.realisasi - a.nominal)|rp }}
{% endif %}
Total {{ total_anggaran|rp }} {{ total_realisasi|rp }} {% set total_selisih = total_anggaran - total_realisasi %} {% if total_selisih < 0 %} {{ (total_selisih * -1)|rp }} {% else %} {{ total_selisih|rp }} {% endif %}
{% else %}
Belum ada pos anggaran untuk {{ nm_bln_id }} {{ tahun }}.
{% endif %}
{% if akun_beban_avail %}
Tambah Pos Anggaran
{% else %}
Semua akun beban yang tersedia sudah memiliki pos anggaran bulan ini.
{% endif %}
Realisasi dihitung otomatis dari Buku Besar akun beban pada periode ini. Saldo akun pendapatan untuk target juga berasal dari buku besar bulan {{ nm_bln_id }} {{ tahun }}.
{% endblock %}