## PANDUAN PENGEMBANGAN FITUR AMANDEMEN: MODUL MANAJEMEN PROYEK (TRADING & INSTALASI AC ENTERPRISE)
Dokumen ini berfungsi sebagai acuan standar arsitektur sistem, praktik terbaik (best practices), standar mutu (ISO), dan kepatuhan perpajakan Indonesia untuk pengembangan fitur amandemen proyek pada ERP.
------------------------------
## 1. DAFTAR TITIK AMANDEMEN UTAMA (PROJECT AMENDMENT POINTS)
Dalam bisnis trading dan instalasi AC skala enterprise, terdapat 6 titik amandemen yang wajib diakomodasi oleh sistem:

* Amandemen Rencana Anggaran Biaya (RAB) / WBS: Menangani perubahan spesifikasi unit AC (misal: Split ke VRV/Central), volume pipa tembaga, material pendukung, serta revisi target profit margin.
* Amandemen Sales Order (SO) & Kontrak Kontraktor: Mengubah nilai total kesepakatan dengan developer/pemilik rumah (Change Order), skema pembayaran termin (DP, Progres, Testing Commissioning), dan klausul denda.
* Amandemen Purchase Order (PO) Supplier: Mengubah kuota inden barang, harga proyek (project price) dari prinsipal (Daikin, Panasonic, Sharp), atau substitusi tipe AC yang dialihkan karena stok pabrik kosong.
* Amandemen Alokasi Barang Proyek (Stock Reservation): Mengatur perpindahan hak alokasi unit AC di gudang antar-proyek atau pelepasan stok proyek kembali ke kanal penjualan retail.
* Amandemen Kontrak Sub-Kontraktor (Jasa Instalasi): Mengubah tarif jasa teknisi luar per titik pasang, biaya tambahan bobokan dinding/plafon tak terduga, dan pergantian vendor instalasi.
* Amandemen Jadwal Mobilisasi & Milestone: Menjadwal ulang tanggal pengiriman unit AC dan instalasi agar selaras dengan progres fisik bangunan di perumahan mewah.

------------------------------
## 2. BEST PRACTICE ARSITEKTUR DATA & VERSIONING## 2.1 Konsep Validasi Data

* Golden Rule: Data yang sudah berstatus Approved dan telah melahirkan transaksi keuangan hilir (seperti Faktur Pajak/Delivery Order) TIDAK BOLEH ditimpa (overwrite) atau dihapus (delete).
* Pendekatan Sistem: Menggunakan metode Document Versioning & Delta Tracking.

## 2.2 Siklus Status Dokumen (Document Life Cycle)
Ketika ada perubahan di lapangan, alur status dokumen bergerak sebagai berikut:

   1. Status Awal: [Draft] -> Berubah menjadi [Active / Approved v1.0] setelah disetujui pertama kali.
   2. Saat Ada Perubahan Lapangan: Dokumen masuk ke tahap pengajuan amandemen dan status berubah menjadi [Under Amendment].
   3. Jika Amandemen Disetujui: Versi lama berubah menjadi [Superseded v1.0] (diarsipkan) dan versi baru terbit menjadi [Active / Approved v2.0].
   4. Jika Amandemen Ditolak: Dokumen kembali ke versi awal yang sah yaitu [Active v1.0 (Kembali Aktif)].

## 2.3 Komponen Audit Trail yang Wajib Dicatat
Setiap terjadi amandemen, sistem harus otomatis mencatat data log ke dalam system audit trail:

   1. Timestamp: Waktu presisi (Tanggal, Jam, Menit, Detik) amandemen diajukan dan disetujui.
   2. User ID: Identitas pembuat amandemen dan pengguna yang melakukan approval.
   3. Delta Log: Nilai sebelum (Before) dan sesudah (After) dari kolom yang diubah.
   4. Change Reason (Remarks): Dokumen justifikasi mengapa amandemen dilakukan (wajib diisi oleh pengguna).

------------------------------
## 3. USULAN STRUKTUR DATABASE (ERD SKELETON)
Gunakan tabel jembatan amandemen terpisah untuk menjaga integritas data transaksi utama berjalan.
## 3.1 Tabel Utama: Proyek (projects)

* project_id (PK - UUID / Int): ID Unik Proyek.
* project_code (Varchar): Nomor Proyek (tetap sepanjang masa).
* current_version (Decimal, e.g., 2.0): Versi aktif saat ini.
* status (Varchar / Enum): Draft, Active, Under Amendment, Closed.
* total_amount (Decimal / Numeric): Nilai total proyek saat ini.

## 3.2 Tabel Amandemen Proyek (project_amendments)
Tabel ini mencatat ringkasan pengajuan setiap terjadi amandemen baru.

* amendment_id (PK - UUID / Int): ID Unik Amandemen.
* project_id (FK -> projects): Relasi ke Proyek Utama.
* version_number (Decimal, e.g., 2.0): Target nomor versi jika disetujui.
* amendment_status (Varchar / Enum): Draft, Pending Approval, Approved, Rejected.
* requested_by (FK -> users): User pengaju amandemen.
* approved_by (FK -> users): User penyetuju amandemen.
* reason (Text): Alasan amandemen.

## 3.3 Tabel Detail Amandemen (project_amendment_details)
Tabel ini mencatat perubahan item barang/jasa secara spesifik (Delta Tracking).

* detail_id (PK - UUID / Int): ID Unik Detail.
* amendment_id (FK -> project_amendments): Relasi ke Ringkasan Amandemen.
* item_id (FK -> items): SKU Barang (AC/Pipa) atau Jasa yang berubah.
* old_qty (Decimal): Jumlah sebelum amandemen.
* new_qty (Decimal): Jumlah sesudah amandemen.
* old_price (Decimal): Harga sebelum amandemen.
* new_price (Decimal): Harga sesudah amandemen.

------------------------------
## 4. KEPATUHAN STANDAR MUTU & REGULASI INDONESIA## 4.1 Standar ISO 9001:2015 (Manajemen Mutu)

* Klausul 8.2.4 (Perubahan Persyaratan Produk & Layanan): ERP harus memastikan bahwa ketika tipe AC diubah di modul proyek, spesifikasi teknis baru tersebut secara otomatis terdistribusi ke Modul Gudang (Inventory Reservation) dan Modul Pembelian (Procurement) untuk menghindari kesalahan order ke prinsipal.
* Klausul 7.5 (Informasi Terdokumentasi): Setiap print-out dokumen proyek (seperti Surat Jalan atau Layout Plan) wajib memuat kode versi (misal: PRJ-2026-001 Rev 2.0). Hal ini mencegah tim instalator di lapangan perumahan menggunakan dokumen versi lama yang sudah kedaluwarsa.

## 4.2 Regulasi Perpajakan Indonesia (UU HPP & PPN/PPh)## A. Ketentuan PPN & e-Faktur Pajak
Ketika amandemen mengubah nilai kontrak Sales Order (SO), Modul Pajak (Tax Module) pada ERP harus mengadopsi aturan berikut:

   1. Jika Amandemen Terjadi SEBELUM Invoice & Faktur Pajak Terbit:
   * Tindakan ERP: Sesuaikan nilai penagihan termin berikutnya berdasarkan nilai kontrak baru. Tidak ada implikasi hukum perpajakan.
   2. Jika Nilai Kontrak TURUN / Retur Barang (SETELAH Faktur Pajak Terbit):
   * Tindakan ERP: Sistem harus menyediakan fitur untuk menerbitkan Nota Retur atau Nota Pembatalan di Modul AR yang dapat diekspor datanya untuk diunggah ke aplikasi e-Faktur DJP.
   3. Jika Nilai Kontrak NAIK (SETELAH Faktur Pajak Terbit):
   * Tindakan ERP: Sistem wajib memfasilitasi pembuatan Faktur Pajak Pengganti (Kode 011) atau menerbitkan Faktur Pajak baru atas nilai selisih (addendum) kontrak tersebut.
   
## B. Ketentuan PPh (Pajak Penghasilan)
Bisnis instalasi AC perumahan mewah melibatkan penggabungan Material (Barang) dan Jasa. ERP harus mampu melakukan Pemisahan Baris Tagihan (Split Line Items):

* Nilai Material (Unit AC & Pipa): Hanya dikenakan PPN.
* Nilai Jasa (Instalasi & Commissioning): Dikenakan PPh Pasal 23 (tarif 2% jika ber-NPWP) ATAU PPh Final Jasa Konstruksi (sesuai klasifikasi sertifikasi SBU/NIB perusahaan).
* Logika Amandemen: Jika amandemen mengubah komponen biaya jasa sub-kontraktor (teknisi luar), sistem harus menghitung ulang potongan PPh secara otomatis pada draf Faktur Pajak/Bukti Potong agar data pada laporan SPT Masa PPh valid.

------------------------------
Silakan disalin teks di atas untuk acuan Anda. Jika struktur data ini sudah pas, bagian mana yang ingin kita detailkan berikutnya?

* Membuat aturan validasi otomatis sistem (misal: memblokir PO jika melebihi anggaran amandemen terbaru)?
* Merancang skema matriks approval berjenjang berdasarkan nilai rupiah amandemen?


