Blueprint Arsitektur Modul Output & Pelaporan
BLUEPRINT ARSITEKTUR & STANDAR EMAS MODUL OUTPUT DAN PELAPORAN
ERP BUMDes Bolulango — Enterprise Financial Reporting Engine Versi: 1.1.0 | Status: Production Blueprint | Klasifikasi: Technical Architecture
1. Executive Summary & Problem Statement#
Modul output dan pelaporan keuangan pada ERP BUMDes Bolulango bertugas menyajikan data keuangan dari database operasional ke dalam berbagai format dokumen resmi untuk kebutuhan audit, pertanggungjawaban publik (LPJ Desa), pengarsipan internal, serta analisis eksekutif.
Tantangan utama yang dihadapi sistem pelaporan keuangan:
- Disparitas 5 Modalitas Output: Laporan dan naskah dinas yang sama harus dapat diekspor secara konsisten ke CSV (analisis mentah), Excel (
.xlsx) (multi-sheet berlogo instansi), PDF Client-Side (.pdf) (unduhan vektor instan), Microsoft Word (.docx) (naskah dinas OpenXML berlogo yang dapat disunting), dan Cetak Resmi Web/HTML (tata letak presisi denganUniversalPrintToolbar, stempel, & QR Code). - Keterbatasan Fisik Kertas (A4 vs F4/Folio): Tabel akuntansi dengan 8–10 kolom (seperti BKU, Jurnal Umum, dan Neraca Lajur) rentan mengalami horizontal column spillover (terpotong ke halaman berikutnya) jika tidak mematuhi batas lebar karakter (character width) dan penskalaan (print scaling).
- Integritas Format OpenXML: Kegagalan struktur XML mikro pada XLSX dapat menyebabkan berkas dianggap rusak (corrupted / repaired) oleh Microsoft Excel.
- Presisi Aritmatika & Ketertelusuran: Nilai subtotal dan saldo berjalan harus konsisten 100% antar format tanpa floating-point drift.
Blueprint ini menjadi Standar Emas (Golden Rule) arsitektur modul output ERP BUMDes Bolulango.
2. Arsitektur Komponen Output (High-Level Architecture)#
Memuat diagram alur...
3. Matriks Perbandingan 5 Modalitas Output#
| Parameter | CSV (RFC-4180) | Excel (.xlsx) | Client PDF (.pdf) | Word (.docx) | Cetak Resmi (HTML/Web) |
|---|---|---|---|---|---|
| Pustaka Utama | Universal Native TS | xlsx-js-style + jszip | jspdf + jspdf-autotable | docx (OpenXML) | React + Pure Vanilla CSS (@media print) |
| Tujuan Utama | Pengolahan data mentah, audit log, impor sistem pajak | Analisis pembukuan multi-sheet, manipulasi data pengurus | Distribusi digital instan, dokumen read-only portabel | Naskah dinas kontrak/PO/BAST/BASTK/Faktur yang dapat diedit | Pengesahan fisik, LPJ Musdes, penandatanganan basah |
| Preservasi Gaya | Tidak (Teks Murni) | Penuh (Warna Emerald, garis tebal, logo tiap sheet drawing1..N.xml) | Penuh (Tipografi Helvetica, logo kop surat, tata letak vektor) | Penuh (Kop surat berlogo ImageRun, tabel, blok tanda tangan) | Maksimal (Kop surat, stempel, QR Code, UniversalPrintToolbar) |
| Penanganan Kertas | N/A | Default Landscape + Narrow Margins (!margins) | Portrait / Landscape A4 otomatis | Portrait / Landscape A4 standar dinas | Portrait / Landscape A4 & F4 via CSS @page |
| Pencegahan Error | UTF-8 BOM (uFEFF) cegah huruf rusak di Windows | Injeksi drawing{i}.xml terindeks per sheet | Multi-page header repeating (showHead: 'everyPage') | Fallback aman apabila logo gagal dimuat | Hindari break-inside: avoid pada baris tabel panjang |
4. Spesifikasi Standar Kertas & Tata Letak Cetak (A4 vs F4)#
4.1. Batas Dimensi Fisik Kertas Landscape
| Ukuran Kertas | Panjang Fisik | Lebar Fisik | Printable Area (Margin 10mm) | Karakter Maksimal (100% Scaling) |
|---|---|---|---|---|
| A4 Landscape | 297 mm (11.69 in) | 210 mm (8.27 in) | 277 mm × 190 mm | 140 – 150 wch |
| F4 / Folio Landscape | 330 mm (12.99 in) | 215 mm (8.46 in) | 310 mm × 195 mm | 160 – 175 wch |
[!IMPORTANT] Golden Rule Lebar Kolom Excel: Jika total lebar kolom (
wch) melebihi 150 karakter, tabel pasti terpotong horizontal pada Microsoft Excel jika pengguna mencetak dengan opsi bawaanNo Scaling (100%).
4.2. Alokasi Kolom Standar BKU (8 Kolom)
Untuk menjamin tabel BKU tetap terbaca dengan jelas sekaligus ramah cetak (tanpa terpotong horizontal pada orientasi Landscape A4/F4):
[TANGGAL] [NO BUKTI] [URAIAN TRANSAKSI] [AKUN KAS] [UNIT USAHA] [PENERIMAAN] [PENGELUARAN] [SALDO]
11 wch 16 wch 30 wch 16 wch 15 wch 16 wch 16 wch 16 wch
<--------------------------------- Total: 136 wch -------------------------------------------------->
- Pada Microsoft Excel: Total lebar diatur presisi 136 wch (berada di bawah batas aman cetak A4 Landscape ~150 wch). Dengan alokasi ini, saat pengguna mencetak dengan opsi bawaan
No Scaling (100%), seluruh 8 kolom ber-header HURUF BESAR (termasuk kolom Penerimaan, Pengeluaran, Saldo) serta tanda tangan di sebelah kanan muat sempurna dalam satu halaman horizontal tanpa terpotong (zero horizontal clipping). Kolom uraian transaksi, nomor bukti, dan unit usaha dilengkapi propertiwrapText: trueagar isi transaksi tetap terbaca utuh. Seluruh angka nominal diformat dengan format akuntansi resmicell.z = '"Rp. "#,##0;("Rp. "#,##0);"-"'dengan tipe data numerik murni (cell.t = 'n'). - Pada Cetak Resmi HTML: Tabel menggunakan
table-layout: fixed; width: 100% !important;dengan persentase lebar responsif: - Tanggal: 9%
- No. Bukti: 12%
- Uraian Transaksi: 27%
- Akun Kas: 14%
- Unit Usaha: 14%
- Penerimaan (DR): 8%
- Pengeluaran (CR): 8%
- Saldo Kas: 8%
(Total = 100%). Dilengkapi
@media print { @page { size: landscape; margin: 8mm; } }sehingga pas sempurna baik di kertas A4 (29.7 cm) maupun F4 (33.0 cm). - Pada Ekspor PDF:
jspdf-autotablesecara otomatis menggunakan orientasi Landscape (format: 'a4',orientation: 'landscape') dengan lebar kolom proporsional (total 269 mm di dalam area cetak 269 mm) sehingga seluruh 8 kolom tercetak presisi dan rapi.
5. Standar Desain Visual & Tipografi (BUMDes Bolulango Theme)#
Seluruh output visual wajib mengacu pada palet warna korporat resmi BUMDes Bolulango:
Memuat diagram alur...
5.1. Blok Header Formal & Kop Surat Resmi Berlogo (11 Baris)
Setiap dokumen laporan resmi wajib memuat tata naskah dinas resmi berlogo dengan struktur 11 baris yang terintegrasi secara dinamis dengan Identitas Situs (site.identity di CMS Pengaturan):
- [LOGO]: Mengambil dari URL Logo resmi (
site.identity.logo_url). Disematkan di sebelah kiri atas pada dokumen PDF (doc.addImage()), Cetak Resmi HTML (<img>), dan lembar kerja Excel (.xlsxOpenXML Drawing layer viaJSZiponeCellAnchor di Kolom A, baris 1-4). - Row 1:
BADAN USAHA MILIK DESA(atausite.identity.legal_name, Font Calibri 9.5pt, Bold, Warna Slate#475569, Center, Merged A..H). - Row 2: Nama Resmi Lembaga (Kop Surat) (
site.identity.name, contoh:BUMDes BOLULANGO, Font Calibri 15pt, Bold, Warna Deep Emerald#047857, Center, Merged A..H). - Row 3: Alamat Resmi Kantor (Kop Surat) (
site.identity.address, contoh:Jl.Raja Bulango No. 2, Desa Bandungan Kecamatan Bulango Utara Kabupaten Bone Bolango Provinsi Gorontalo, Font Calibri 8.5pt, Regular, Warna Slate#64748B, Center, Merged A..H). Alamat ini tampil di bawah nama lembaga pada seluruh kop surat dokumen cetak (HTML, Excel, dan PDF). - Row 4: Kontak & Digital Resmi (
site.identity.email,site.identity.phone,site.identity.website, Font Calibri 8.5pt, Regular, Warna Slate#64748B, Center, Merged A..H, format:Email: [email] | Telp/WA: [phone] | Website: [website]). - Row 5:
[══════════ GARIS PEMBATAS GANDA KOP DINAS EMERALD (#047857) ══════════](Garis ganda emerald, height 5 hpt, Merged A..H). - Row 6:
[Baris Pemisah Kosong](Height 8 hpt, Merged A..H). - Row 7:
BUKU KAS UMUM (BKU)/BUKU KAS PEMBANTU BANK(Font Calibri 12.5pt, Bold, Warna Slate#0F172A, Center, Merged A..H). - Row 8:
Unit: [Nama Unit / Kantor Pusat BUMDes (Holding)](Font Calibri 10pt, Bold, Warna Slate#334155, Center, Merged A..H). - Row 9:
Periode: [Tanggal Awal] s/d [Tanggal Akhir](Font Calibri 9.5pt, Italic, Warna Slate#64748B, Center, Merged A..H). - Row 10:
[Baris Pemisah Kosong](Height 8 hpt, Merged A..H). - Row 11:
[TANGGAL] [NO BUKTI] [URAIAN TRANSAKSI] [AKUN KAS] [UNIT USAHA] [PENERIMAAN] [PENGELUARAN] [SALDO](Header 8 kolom HURUF BESAR).
5.2. Blok Pengesahan Resmi (Sign-off Block)
Di bagian akhir laporan keuangan, wajib disediakan 2 kolom penandatanganan:
- Kiri: Mengetahui, Direktur BUMDes Bolulango (atau Kepala Unit pada laporan spesifik unit)
- Kanan: [Nama Desa], [Titimangsa], Bendahara BUMDes (atau Bendahara Unit pada laporan spesifik unit)
[!NOTE] Aturan Titimangsa Lokasi: Nama desa diambil langsung dari identitas website / kop surat resmi (
site.identity.address), cukup nama desa saja tanpa menyertakan kata"Desa"(contoh:Bandungan, 19 Oktober 2026).
5.3. Blok Berita Acara / Konsideran Penutupan Kas
Pada bagian akhir Buku Kas Umum dan Buku Kas Pembantu, disertakan blok konsideran kas:
- Indikator Status:
(STATUS: RESMI DITUTUP)jika periode telah ditutup buku, atau(STATUS: POSISI KAS BERJALAN)untuk posisi live balance berjalan. - Keterangan Narasi Dinamis (Dynamic Recital Clause): Wajib menyertakan kalimat pembuka berita acara dinamis yang memuat hari, tanggal penutupan, jenis buku kas, dan identitas unit/bendahara:
"Pada hari ini [Hari, DD Bulan YYYY], Buku Kas Umum telah resmi ditutup oleh Bendahara [Nama Unit / Kantor Pusat BUMDes (Holding)] dengan keadaan kas sebagai berikut:" (atau kalimat informatif status kas berjalan saat periode belum ditutup buku). Pada lembar kerja Excel, kalimat ini digabung (merged A..H) dan diberi gaya latar belakang lembut
#F8FAFCdenganwrapText: truedan tinggi baris28 hpt.
- Rincian Fisik & Bank: Pemisahan saldo kas fisik brankas dan saldo simpanan bank yang direkonsiliasi.
- Klausul Terbilang: Wajib menyertakan baris terbilang formal bahasa Indonesia (misal:
Terbilang: "Dua juta empat ratus enam puluh ribu lima ratus lima puluh enam rupiah").
5.4. Komponen Naskah Dinas Cetak Resmi Bukti Fisik & Spreadsheet Hyperlink
Khusus modul Laporan Bukti Foto Transaksi (/dashboard/keuangan/bukti-foto), sistem menerapkan 3 spesifikasi output khusus:
- Lembar Lampiran Audit Ber-Kotak Struk Asli (
AuditPhotoAttachmentPrint.tsx):
- Menghasilkan lembar lampiran formal (pilihan 1-halaman atau 2-halaman) yang menyandingkan bukti digital visual ber-watermark metadata GPS dengan Kotak Perekat Struk Fisik Asli (Receipt Staple Box) bergaris putus-putus (dashed line) untuk menempelkan kuitansi/nota kertas asli dari toko atau penyedia barang/jasa.
- Mendukung dua skema tata letak visual: Side-by-Side (kolom foto digital bersanding dengan kotak nota fisik) dan Full-Grid (matriks 3 foto digital: Nota Toko, Fisik Barang/Jasa, dan Pemanfaatan Operasional Lapangan).
- Naskah Dinas Berita Acara Uji Petik Bukti Fisik (
BeritaAcaraUjiPetikPrint.tsx):
- Menghasilkan naskah dinas formal bernomor surat baku
BA-FOTO/[Unit]/[Bulan]/[Tahun], metrik sampling uji petik, formulasi opini kepatuhan otomatis ("Tertib & Akuntabel" jika kelengkapan >= 90% tanpa anomali GPS vs "Perlu Perbaikan Administrasi Lapangan"), serta blok tanda tangan standar Empat Pilar Tata Kelola Desa (PP 11/2021 & SAK EP): - Pihak I (Pelaksana): Petugas Lapangan / Pelaksana Transaksi
- Pihak II (Verifikator): Bendahara BUMDes
- Pihak III (Otorisator): Direktur BUMDes
- Pihak IV (Pengawas): Ketua Badan Permusyawaratan Desa (BPD) Desa Bandungan
- Mendukung format kertas fleksibel A4 (210 x 297 mm) dan F4 / Folio (215 x 330 mm).
- Ekspor Spreadsheet Ber-Hyperlink Foto Aktif (
exportPhotoEvidenceExcel):
- Menerapkan pustaka
xlsx-js-styledengan lebar kolom terukur 298 wch (15 kolom data audit: No, Tanggal, No. Bukti, Akun Debit, Akun Kredit, Penerima/Pemberi, Uraian Transaksi, Modul Sumber, Nilai Transaksi, Status Fisik, Status Verifikasi, Jarak GPS, Tautan Nota Toko, Tautan Fisik Barang, Tautan Pemanfaatan). - Menggunakan formula sel kaya hyperlink aktif (rich hyperlink cell object) pada kolom tautan foto:
typescript{ f: `HYPERLINK("{photoUrl}", "Lihat Foto ({slotLabel})")`, v: `Lihat Foto (${slotLabel})`, l: { Target: photoUrl } }
Diberi gaya teks hijau zamrud (#047857) dan bergaris bawah (underline), memungkinkan auditor internal BPD, Inspektorat Daerah, maupun auditor eksternal membuka berkas foto resolusi penuh langsung dari lembar kerja spreadsheet.
- Dilengkapi lembar kerja kedua Ringkasan Eksekutif yang merangkum 13 KPI evaluasi bukti fisik serta tabel pengesahan Empat Pilar Tata Kelola Desa.
5.5. Arsitektur Treasury Single-Column Voucher Layout Engine & Tata Letak 2-Halaman
Untuk dokumen perbendaharaan kas dan bank desa, sistem menerapkan Treasury Single-Column Voucher Layout Engine yang diorkestrasi secara terpadu melalui modal pratinjau TreasuryDocPreviewModal.tsx dan suite komponen cetak khusus:
- Komponen Cetak Perbendaharaan Tunggal:
- Bukti Kas Masuk (
BuktiKasMasukPrint.tsx): Voucher penerimaan kas tunai dengan box terbilang otomatis dan rincian jurnal debit kas vs kredit pendapatan/piutang. - Bukti Kas Keluar (
BuktiKasKeluarPrint.tsx): Voucher belanja dan pembayaran kas tunai dengan klausul penerima, otorisasi bendahara, dan direktur. - Bukti Penarikan Bank (
BuktiTarikBankPrint.tsx): Voucher penarikan simpanan kas dari bank desa (CSW) lengkap dengan nomor referensi rekening bank dan konfirmasi pencairan. - Berita Acara Serah Terima Kas (
BeritaAcaraSerahTerimaKasPrint.tsx): Berita acara serah terima atau remitansi kas antar-pemegang kas atau unit bisnis ke kas holding.
- Prinsip Desain Single-Column Voucher Engine:
- Batas Lebar Fisik Presisi: Dibatasi pada lebar
max-w-[210mm]untuk kertas A4 danmax-w-[215mm]untuk kertas F4 agar tidak terjadi distorsi atau terpotong saat dicetak. - Kop Surat Terpadu (
DocumentLetterhead): Menampilkan logo resmi BUMDes Bolulango, nama instansi, payung hukum desa, alamat resmi Desa Bandungan, kontak, dan garis pemisah ganda. - Box Terbilang Formal: Komponen konversi angka ke kalimat rupiah standar bahasa Indonesia tanpa singkatan informal.
- Tabel Jurnal & Verifikasi QR Code (
DocumentVerificationQrBox): Tabel entri debit/kredit akun SAK EP yang dilengkapi kode QR dinamis untuk verifikasi keaslian dokumen secara digital.
- Orkestrasi Tata Letak 2-Halaman (Dual-Page Output):
TreasuryDocPreviewModal.tsxmendukung 3 mode visualisasi:- Mode 1 (
all- Standar Emas 2 Halaman): - Halaman 1: Voucher Keuangan Resmi (BKM, BKK, BuktiTarikBank, atau BASTK) dengan tabel debit/kredit dan blok otorisasi pejabat.
- Halaman 2: Lembar Lampiran Bukti Foto Audit (
AuditPhotoAttachmentPrint.tsx) dengan kotak perekat struk toko fisik asli (receipt staple box), watermark GPS, dan pengesahan pelaksana. Menggunakan instruksi cetak CSSpage-break-before: always(break-before: page). - Mode 2 (
voucher_only): Hanya mencetak voucher keuangan halaman 1. - Mode 3 (
audit_only): Hanya mencetak lembar lampiran bukti fisik audit halaman 2.
5.6. Standar Naskah Dinas OpenXML Microsoft Word (.docx) Resmi
Untuk dokumen administratif, kontraktual, dan regulasi yang memerlukan fleksibilitas penyuntingan sebelum pengesahan, ERP BUMDes Bolulango mengimplementasikan generator OpenXML Word murni via pustaka docx:
- Spesifikasi Dimensi Kertas F4 Standar Nasional:
- Dimensi kertas F4 / Folio diatur tepat pada nilai twips resmi:
- Lebar Kertas:
12189 twips(setara 215 mm) - Tinggi Kertas:
18709 twips(setara 330 mm) - Margin Halaman:
1440 twips(setara 1 inci / 25,4 mm) di seluruh sisi (atas, kanan, bawah, kiri). - Memastikan naskah dinas terbuka rapi dan presisi di Microsoft Word versi Windows/Mac, LibreOffice Writer, maupun WPS Office tanpa peringatan ketidaksesuaian ukuran kertas.
- Modul Generator Naskah Dinas Word Resmi:
- Catatan atas Laporan Keuangan (
export-calk-docx.ts): Dokumen CALK komprehensif tahunan berstruktur 8 bab standar SAK EP yang memuat gambaran umum entitas desa, dasar penyusunan laporan, kebijakan akuntansi signifikan, rincian pos neraca dan laba rugi, serta komitmen manajemen. - Lembar Bukti Fisik Transaksi (
export-photo-evidence-docx.ts): Dokumen formal lampiran audit triangulasi fisik (Nota & Fisik Barang) yang memadukan kop surat resmi Model 1, tabel rincian transaksi debit/kredit SAK EP, zona staples nota kasir NCR, dan foto digital ber-GPS. - Berita Acara Serah Terima Barang (
export-bast-goods.ts): Dokumen serah terima pengadaan barang/sarana peternakan/pertanian dengan tabel spesifikasi teknis barang, kuantitas, kondisi fisik, dan tanda tangan 3-pilar. - Surat Pesanan Pembelian / PO (
export-purchase-order-docx.ts): Naskah dinas pengadaan komersial B2B ke vendor/supplier pakan dan sapronak berformat tabel rincian harga satuan, subtotal, termin pembayaran, instruksi pengiriman, dan otorisasi pembelian. - Surat Perjanjian Kredit Pinjaman USP (
export-loan-agreement-docx.ts): Kontrak akad pinjaman dana bergulir Unit Simpan Pinjam Konvensional maupun Syariah, memuat klausul hak dan kewajiban nasabah, jadwal angsuran berkala, agunan, dan sanksi wanprestasi. - Naskah Regulasi SK Direksi & Produk Hukum (
export-official-doc.ts): Naskah dinas produk regulasi internal BUMDes (Surat Keputusan Direksi, Standar Operasional Prosedur, dan Instruksi Kerja) yang mengikuti format baku tata naskah dinas kementerian.
- Arsitektur Pembangun Kop Surat Terpusat (
docx-letterhead-builder.ts):
- Single Source of Truth (SSOT): Seluruh modul ekspor Word memanfaatkan fungsi
buildDocxOfficialLetterheaduntuk menjamin keseragaman kop surat resmi. - Model 1 Transaksional (Side-by-Side Modern): Menggunakan tabel berkolom 77% (Sisi Kiri Identitas) dan 23% (Sisi Kanan Lencana Dokumen). Pada sisi kiri, sub-sel logo (12.5%) menggunakan ukuran 47x47 px (35.25 pt) dengan offset
before: 25twips yang sejajar presisi dengan cap-height Baris 1 (BADAN USAHA MILIK DESA) dan baseline Baris 4 (Email ... | Telp/WA ...). Sub-sel teks identitas (87.5%) memuat alamat SSOT tanpa singkatanJl. Raja Bulango No. 2, Desa Bandungan Kecamatan Bulango Utara Kabupaten Bone Bolango Provinsi Gorontaloyang terbukti tidak terputus pada 1 baris. - Garis Ganda Emerald Penuh: Menerapkan baris ganda dengan atribut
columnSpan: 2(Garis atas Emerald 1.75 pt + Garis bawah Slate 0.5 pt) selebar 100% halaman penuh tanpa terputus.
- Mesin Preservasi Rasio Citra Biner Bebas Distorsi:
- Inspeksi Biner Lintas Format (
getImageDimensions): Membaca dimensi asli gambar langsung dariUint8Arraytanpa ketergantungan DOM peramban: - WebP: Mendukung extended
VP8X(membaca lebar dan tinggi kanvas 24-bit little-endian pada byte 24..29), lossyVP8(membaca dimensi 14-bit setelah start code 0x9D 0x01 0x2A), dan losslessVP8L(membaca signature 0x2F dan bitfield 14-bit). - JPEG: Memindai segmen marker SOF0 hingga SOF15 sekaligus membaca tag EXIF Orientation (
0x0112) pada segmen APP10xFFE1. Jika foto berorientasi potret (tag 5, 6, 7, 8), dimensi lebar dan tinggi otomatis ditukar agar sesuai dengan orientasi visual kamera ponsel. - PNG & GIF: Membaca IHDR chunk dan screen descriptor biner.
- Kalkulasi Proporsional Murni (
calculateProportionalSize): Mengalikan dimensi asli dengan rasio skalaMath.min(maxWidth / origWidth, maxHeight / origHeight, 1.0), menjamin foto potret ramping (misalnya 513 x 911 px) diskalakan presisi menjadi 231 x 410 px (dan foto 420 x 911 px menjadi 189 x 410 px pada batas A4330 x 410 pxatau F4340 x 470 px) tanpa pembatasan minimum artifisial yang dapat merusak aspek rasio. - Keseragaman Kontainer Lintas Halaman & Proteksi Baris (
cantSplit: true): Seluruh lembar bukti transaksi dari halaman pertama hingga halaman terakhir (termasuk halaman berblok tanda tangan pengesahan Empat Pilar) mempertahankan tinggi kotak kontainer yang 100% seragam (rowHeightTwips = 7350pada A4 dan8600pada F4) dengan atributcantSplit: truepada seluruh baris tabel guna mencegah pemotongan kop, kotak bukti, maupun tanda tangan lintas halaman.
5.7. Katalog Lengkap Mesin Output Terpadu
Sistem pelaporan ERP BUMDes Bolulango mengintegrasikan seluruh domain bisnis ke dalam serangkaian mesin ekspor tabel dan dokumen cetak resmi:
- Jejak Audit Sistem & Integritas Data (
Audit Trail):
- Fungsi
exportAuditTrailExceldan komponenDigitalAuditTrail.tsxmencatat seluruh riwayat mutasi record, perubahan saldo kas, timestamp mutasi, alamat IP, ID pengguna, serta perbandingan nilai lama versus nilai baru untuk kepentingan forensik akuntansi.
- Penggajian Pegawai & Kepatuhan Pajak PPh 21 TER (
Payroll Engine):
- Fungsi
exportPayrollExcel,exportPayrollPDF, danexportAttendanceExcelmemfasilitasi penggajian seluruh karyawan holding dan unit usaha, menerapkan formulasi Tarif Efektif Rata-rata (TER PPh 21 PP 58/2023), tunjangan kehadiran, potongan pinjaman internal, serta rekapitulasi presensi bulanan.
- Valuasi Persediaan & Manajemen Pergudangan (
Inventory Engine):
- Fungsi
exportInventoryValuationExcel,exportInventoryValuationPDF,exportProductCatalogExcel, danexportInventoryStockCardExcelmenghasilkan kartu stok metode FIFO/rata-rata bergerak, valuasi persediaan pakan konsentrat, jagung, dedak, serta mutasi komoditas telur ayam ras per gudang unit.
- Rencana Kerja & Anggaran (
RKA Engine):
- Modul
exportRKAExceldanlib/utils/export-rka.tsmemfasilitasi pelaporan perencanaan anggaran belanja modal (CAPEX akun 1-2xx) dan belanja operasional (OPEX akun 5-xxx) tahunan serta perbandingan realisasi anggaran vs pagu berjalan.
- Buku Induk Inventaris Aset Tetap / BIIA (
Fixed Asset Engine):
- Fungsi
exportFixedAssetBookExcel,exportFixedAssetBookPDF,exportAssetDepreciationExcel,FixedAssetBookPrint.tsx, danAssetDepreciationCardPrint.tsxmengelola pencatatan aset inventaris, nomor barcode fisik, harga perolehan, masa manfaat, tarif penyusutan garis lurus SAK EP, dan akumulasi penyusutan per unit usaha.
- Katalog Matriks 28+ Komponen Cetak Khusus Presisi (
components/docs/*Print.tsx):
- Rangkaian 28+ komponen React siap cetak (
UniversalPrintToolbarterintegrasi) yang mencakup Faktur Komersial (SalesInvoicePrint), Surat Jalan (DeliveryOrderPrint), Penawaran Harga (QuotationPrint), Rekonsiliasi Bank (BankReconciliationReportPrint), Surat Pengakuan Hutang (DebtAcknowledgmentPrint), Berita Acara Stock Opname (StockOpnamePrint), Berita Acara Dana Talangan (BeritaAcaraDanaTalanganPrint), Sertifikat Pemotongan Pajak (TaxWithholdingCertificatePrint), Rekening Koran Pelanggan (CustomerStatementPrint), Pernyataan Saldo Rekening Vendor (VendorStatementPrint), Opname Kas Kecil Imprest (PettyCashCountPrint), Bukti Pengeluaran Kas Kecil (PettyCashVoucherPrint), Pengisian Kas Kecil (PettyCashReplenishmentPrint), Bukti Setor Piutang (ARPaymentReceiptPrint), Bukti Pembayaran Pemasok (SupplierPaymentVoucherPrint), dan Struk Kasir POS (TradingReceiptPrint).
6. Protokol Rekayasa & Keamanan Kode (Engineering Safeguards)#
6.1. Larangan Manipulasi Langsung String OpenXML
[!CAUTION] Anti-Pattern Terlarang: Dilarang keras melakukan manipulasi string regex mentah terhadap XML internal XLSX (misalnya menyisipkan tag
<pageSetup>atau<pageMargins>ke dalam file ZIP) tanpa schema validator penuh.Alasan Teknis: Skema OpenXML (
worksheet.xsd) menerapkan urutan elemen yang sangat ketat (strict sequence). Jika<pageSetup>diletakkan setelah<ignoredErrors>, Microsoft Excel akan memicu error:Replaced Part: /xl/worksheets/sheet1.xml part with XML error. Load error. Line 2, column 0dan menghapus seluruh lembar kerja sehingga file terbuka dalam kondisi blank.
6.2. Enkoding CSV Anti-Garbled di Windows Excel
Penyimpanan file CSV wajib menyisipkan UTF-8 Byte Order Mark (uFEFF) di awal stream:
typescriptconst blob = new Blob(['uFEFF' + csvContent], { type: 'text/csv;charset=utf-8;' })
Hal ini memastikan Excel pada sistem operasi Windows langsung mengenali format UTF-8 tanpa merusak karakter khusus atau simbol mata uang.
6.3. Presisi Saldo & Running Balance
Seluruh komputasi saldo berjalan pada laporan wajib menggunakan helper SafeMoney (safeAdd, safeSubtract) untuk mengeliminasi IEEE 754 floating point drift:
typescriptrunningBalance = safeAdd(runningBalance, safeSubtract(debit, credit))
7. Roadmap Implementasi & Peningkatan Mendatang#
| Fase | Target Modul | Sasaran Peningkatan |
|---|---|---|
| Fase 1 (Selesai) | BKU & Kas Pembantu | Standardisasi 8 kolom, badge filter terintegrasi, deskripsi prioritas per baris, dan proteksi OpenXML. |
| Fase 2 (Selesai) | Jurnal, Buku Besar & Lap. Keuangan | Standardisasi format F4 (215 x 330 mm) & A4 pada PDFReportBuilder, footer terkunci di dasar halaman, dan kop BUMDes seragam. |
| Fase 3 (Selesai) | Kas & Naskah Dinas | Dukungan serentak F4 pada Bukti Kas Masuk, Bukti Kas Keluar, BASTK, dan Lembar Lampiran Bukti Foto Fisik. |
| Fase 4 (Q1 2027) | Konsolidasi & Spreadsheet Dinamis | Formula dinamis antarsheet pada file Excel konsolidasian (multi-tab workbook). |
| Fase 5 (Q2 2027) | Tanda Tangan Elektronik & Audit Hash | Penyematan SHA-256 digital stamp dan verifikasi QR Code pada seluruh cetakan PDF dan Cetak Resmi. |
Dokumen ini merupakan bagian dari Dokumentasi Arsitektur Resmi ERP BUMDes Bolulango.