JCOM Inventory V2.10.208 - Patch Khusus Import Pembelian Historis V5

Tanpa kenaikan versi, tanpa changelog, tanpa perubahan schema database.

Perbaikan:
1. Data level invoice pada baris lanjutan boleh kosong dan mewarisi baris pertama invoice:
   - Tanggal Jatuh Tempo
   - No. Faktur Pajak
   - Tanggal Faktur Pajak
   - No. Surat Jalan
   - Diskon Invoice
   - PPN (%)
   - Sudah Dibayar s.d. Cut-off
2. Produk yang sama lebih dari satu baris pada satu Invoice Pembelian Historis digabung otomatis.
   - Qty dinormalisasi ke UOM kecil.
   - Nilai total tiap baris dijumlahkan persis.
   - Harga per UOM kecil memakai weighted average.
   - Tidak mengubah schema unik 1 produk per invoice.
3. Diagnostic logging V4 tetap dipertahankan.
4. Validasi UOM yang benar-benar salah tetap diblokir; contoh CANTAS 100GR tidak boleh memakai L.

Instalasi:
- Extract ZIP ke root aplikasi V2.10.208.
- Overwrite:
  includes/historical_migration.php
  historical_migration_import.php
- Jalankan Preview & Validasi lagi.

Catatan dari log HM-20260901-145916-FC2C6F:
- 35 error Diskon Invoice: continuation row kosong -> diperbaiki patch.
- 18 error Tanggal Jatuh Tempo: continuation row kosong -> diperbaiki patch.
- 6 error produk duplikat dalam invoice -> digabung otomatis patch.
- 1 error UOM tetap perlu koreksi data:
  BRG-202608-0162 / CANTAS 100GR: ubah Satuan Qty/Harga dari L menjadi KG/KILOGRAM sesuai Master Barang.
