Logo PT Mitra Bisnis Sopyan

Inisialisasi Sistem MBS

Database awal masih kosong. Buat akun Super Admin pertama untuk memulai.

Logo PT Mitra Bisnis Sopyan

SISTEM INFORMASI MANAJEMEN

PT Mitra Bisnis Sopyan Integrated Portal

{{ loginError }}

{{ getTabTitle(activeTab) }}

Sistem Informasi Manajemen PT. Mitra Bisnis Sopyan (MBS)

DB Connected
Total Pegawai

{{ masterPegawai.length }}

Aktif di PT MBS

Total Customer

{{ masterCustomer.length }}

Mitra Bisnis Terdaftar

Total Purchase Requests

{{ purchaseRequests.length }}

PR Diajukan AE

Pending Approvals

{{ pendingApprovalsCount }}

Perlu Persetujuan Anda

Peringatan Absensi (Tanpa Keterangan)
{{ spList.length }} Laporan

Pegawai berikut terdeteksi tidak masuk kantor tanpa keterangan. Sistem secara otomatis membuat rekomendasi Surat Peringatan (SP) untuk ditindaklanjuti Atasan.

{{ sp.namaPegawai }} ({{ sp.nip }})

Tanggal: {{ formatDate(sp.tanggal) }}

Status: {{ sp.statusSP }}

Purchase Request Terbaru

No PR Customer Project Kategori Grand Total Profit Bersih Status Approval
{{ pr.noPR }} {{ pr.namaCustomer }} {{ pr.namaProject }} {{ pr.kategoriOption }} {{ formatRupiah(pr.grandTotalInvoice) }} {{ formatRupiah(pr.profitBersih) }} ({{ pr.profitPercent.toFixed(2) }}%) {{ pr.statusApproval }}
Belum ada Purchase Request tersimpan untuk periode ini.

Progress Pengiriman Barang

{{ dashboardPengirimanBarang.length }} Sedang Berjalan
{{ shipment.noPengiriman }} {{ shipment.namaBarang }} ({{ shipment.jenisBarang }}) · Pengirim: {{ shipment.pengirimNama }}
{{ shipment.status }}

{{ currentDateStr }}

{{ liveClockStr }}

{{ currentUser.nama }} · {{ currentUser.jabatan }}

Lokasi kantor & radius absensi belum diatur.
Lokasi kantor belum diatur oleh Admin. Hubungi Super Admin.

Jam Masuk

{{ formatJam(myTodayAbsensi?.jamMasuk) }}

{{ myTodayAbsensi.statusMasuk }}

Jam Pulang

{{ formatJam(myTodayAbsensi?.jamPulang) }}

Absen pulang aktif setelah 4 jam dari jam masuk, yaitu pukul {{ waktuAbsenPulangAktifStr }}.

Absen masuk aktif kembali setiap pukul 00.01.

Absen wajib foto selfie & berada dalam radius {{ absensiConfig.radiusMeter }}m dari kantor. Absen di luar radius hanya diizinkan apabila Look Book (Dinas) hari ini sudah berstatus Disetujui, dengan ketentuan: Absen Masuk (Jam Mulai sebelum 09:00) atau Absen Pulang (Jam Selesai lewat dari 17:00); keterangan referensinya akan tercatat otomatis.

Pengaturan Lokasi Kantor & Radius Absensi

{{ absensiConfig.alamatKantor || 'Alamat belum diisi' }}

Radius

{{ absensiConfig.radiusMeter }} m

Jam Masuk

{{ absensiConfig.jamMasukStandar }}

Jam Pulang

{{ absensiConfig.jamPulangStandar }}

Toleransi

{{ absensiConfig.toleransiMenit }} mnt

Bukti Foto Selfie Hari Ini

Selfie Masuk · {{ myTodayAbsensi.jarakMasuk }}m dari kantor

{{ myTodayAbsensi.fotoPulang ? ('Selfie Pulang · ' + myTodayAbsensi.jarakPulang + 'm dari kantor') : 'Belum Absen Pulang' }}

Riwayat Absensi Saya

Tanggal / Jam Input Foto Masuk Jam Masuk Status Foto Pulang Jam Pulang Jarak Lokasi
{{ formatDate(item.tanggal) }} - {{ formatJam(item.jamMasuk) }} {{ item.statusMasuk }}
{{ item.statusApprovalTerlambat }}

{{ item.keteranganTerlambat }}

Pulang Cepat {{ item.statusApprovalPulang }}
- {{ formatJam(item.jamPulang) }} Masuk: {{ item.jarakMasuk ?? '-' }}m · Pulang: {{ item.jarakPulang }}m

{{ item.keteranganLokasiMasuk }}

{{ item.keteranganLokasiPulang }}

Belum ada riwayat absensi.

Rekap Absensi Seluruh Pegawai

Pegawai Tanggal Jam Masuk Status Jam Pulang Jarak Lokasi Aksi
{{ item.nama }}
{{ item.jabatan }}
{{ formatDate(item.tanggal) }} {{ formatJam(item.jamMasuk) }} {{ item.statusMasuk }}
{{ item.statusApprovalTerlambat }}

{{ item.keteranganTerlambat }}

oleh {{ item.approvedByTerlambat }}

Pulang Cepat {{ item.statusApprovalPulang }}

oleh {{ item.approvedByPulang }}

{{ formatJam(item.jamPulang) }} Masuk: {{ item.jarakMasuk ?? '-' }}m · Pulang: {{ item.jarakPulang }}m

{{ item.keteranganLokasiMasuk }}

{{ item.keteranganLokasiPulang }}

Belum ada data absensi.

Daftar Pegawai PT MBS

NIP Nama Username Jabatan Tanggal Masuk Masa Kerja / Hak Cuti No. HP/WA Aksi
{{ emp.nip }} {{ emp.nama }} {{ emp.username }} {{ emp.jabatan }} {{ formatDate(emp.tglMasuk) }}
{{ getMasaKerjaText(emp.tglMasuk) }}
{{ calculateHakCuti(emp.tglMasuk) }} hari/thn
{{ emp.phone }}

Data Customer PT MBS

Nama Perusahaan Segmentasi Alamat PIC Customer No. HP PIC Aksi
{{ cust.namaPerusahaan }} {{ cust.segmentasi }} {{ cust.alamat }} {{ cust.pic }} {{ cust.phonePic }}
Belum ada data customer.

Data Vendor / Channel Partner

Nama Vendor PIC Vendor/Channel Alamat Nomor HP Aksi
{{ ven.namaVendor }} {{ ven.picVendor }} {{ ven.alamat }} {{ ven.phone }}

Katalog Barang & Jasa

Part Number Jenis Nama Barang/Jasa Deskripsi/Spesifikasi Status Pajak Harga Exclude PPN Update Harga Terakhir Aksi
{{ item.partNumber }} {{ item.jenis }} {{ item.namaBarang }} {{ item.deskripsi }} {{ item.ppnStatus }} {{ formatRupiah(item.hargaExPPN) }} {{ formatDate(infoUpdateHargaTerakhir(item).tanggal) }} Belum ada update

Aturan Hak Cuti Tahunan

0 s/d 1 Tahun Kerja {{ cutiRules.rule0To1 }} Hari / Tahun
1 s/d 5 Tahun Kerja {{ cutiRules.rule1To5 }} Hari / Tahun
6 s/d 10 Tahun Kerja {{ cutiRules.rule6To10 }} Hari / Tahun
> 10 Tahun Kerja {{ cutiRules.ruleAbove10 }} Hari / Tahun

Hak cuti direset setiap tanggal 31 Desember. Sisa cuti dikompensasikan sebesar Rp25.000 x sisa cuti dan otomatis masuk ke slip gaji bulan Januari. Apabila sakit lebih dari 3 hari berturut-turut, hari ke-4 dan seterusnya akan memotong sisa hak cuti.

Status Cuti Saya ({{ currentUser.nama }})

NIP: {{ currentUser.nip }} | Tanggal Masuk: {{ formatDate(currentUser.tglMasuk) }}

Hak Cuti Tahunan

{{ calculateHakCuti(currentUser.tglMasuk) }} Hari

Terpakai

{{ getUserUsedCuti(currentUser.nip) }} Hari

Sisa Hak Cuti

{{ calculateHakCuti(currentUser.tglMasuk) - getUserUsedCuti(currentUser.nip) }} Hari

Masa Kerja saat ini: {{ getMasaKerjaText(currentUser.tglMasuk) }}

Daftar Cuti Bersama

Setiap tanggal yang ditambahkan otomatis memotong 1 hari hak cuti seluruh pegawai dengan masa kerja ≥ 1 tahun.

Tanggal Keterangan Pegawai Terpotong Ditambahkan Oleh Aksi
{{ formatDate(cb.tanggal) }} {{ cb.keterangan }} {{ jumlahPegawaiTerdampakCutiBersama(cb.id) }} Pegawai {{ cb.createdBy }}
Belum ada tanggal Cuti Bersama yang ditetapkan.

Daftar Pengajuan Tidak Masuk Kantor

Pegawai Tipe Absen Tanggal / Durasi Pemotong Cuti Pegawai Pengganti (Acting) Alasan Status & Approval
{{ item.namaPegawai }}
{{ item.jabatan }}
{{ item.tipe }}
Otomatis oleh Sistem
{{ formatDate(item.tglMulai) }} s/d {{ formatDate(item.tglSelesai) }}
Total: {{ item.jumlahHari }} Hari
{{ item.potongCutiHari }} Hari {{ item.namaPengganti }} {{ item.alasan }} {{ item.statusApproval }}
Belum ada pengajuan cuti/sakit.

Manajemen Penggajian Pegawai

Atur gaji pokok & tunjangan (pemasukan) serta potongan-potongan untuk masing-masing pegawai

NIP Nama Jabatan Gaji Pokok Total Tunjangan Total Potongan Gaji Bersih (Take Home Pay) Aksi
{{ row.nip }} {{ row.nama }} {{ row.jabatan }} {{ formatRupiah(row.gajiPokok) }} + {{ formatRupiah(row.totalTunjangan) }} - {{ formatRupiah(row.totalPotongan) }} {{ formatRupiah(row.totalGajiBersih) }}
Belum ada data pegawai.

Riwayat Pengajuan Bayarkan Gaji

Pengajuan pembayaran gaji oleh Finance Manager, wajib disetujui oleh Admin/Direktur sebelum dapat ditandai dibayarkan.

Pegawai Periode Nominal Diajukan Oleh Status Approval Status Pembayaran Aksi

{{ item.nama }}

{{ item.nip }} · {{ item.jabatan }}

{{ item.bulan }} {{ item.tahun }} {{ formatRupiah(item.nominalGajiBersih) }} {{ item.diajukanOleh }} {{ item.statusApproval === 'Menunggu Approval' ? 'Menunggu Approval (Admin/Direktur)' : item.statusApproval }}

oleh {{ item.approvedBy }} ({{ item.approvedJabatan }})

{{ item.statusPembayaran }}
Belum ada pengajuan pembayaran gaji.

Riwayat Kasbon Pegawai

Kasbon yang diinput Finance Manager maupun pengajuan kasbon pegawai yang sudah Disetujui (tab Kasbon) otomatis muncul sebagai baris potongan tambahan pada Slip Gaji periode yang sama. Periode potong dapat digeser lewat tombol "Ubah Periode".

Pegawai Periode Nominal Kasbon Keterangan Diinput Oleh Aksi

{{ k.nama }}

{{ k.nip }} · {{ k.jabatan }}

{{ k.bulan }} {{ k.tahun }} {{ formatRupiah(k.nominal) }} {{ k.keterangan || '-' }} {{ k.diinputOleh }} -
Belum ada data kasbon pegawai.

Sales Pipeline Project

Khusus Role Account Executive (AE) untuk kelola potensi bisnis

Catatan: Anda dapat melihat pipeline ini, namun penambahan/perubahan hanya diizinkan bagi Account Executive (AE).

Target vs Realisasi Pipeline

{{ rekapPipelineLabel }}

Status dihitung dari total Estimasi Nilai / Profit pipeline sesuai cakupan rekap saat ini.

Target Revenue {{ statusRevenuePipeline }}
{{ formatRupiah(currentPipelineTarget.targetRevenue) }}
Total Estimasi Nilai Pipeline: {{ formatRupiah(totalPipelineNilai) }}
Target Profit {{ statusProfitPipeline }}
{{ formatRupiah(currentPipelineTarget.targetProfit) }}
Total Estimasi Profit Pipeline: {{ formatRupiah(totalPipelineProfit) }}

Achievement Pipeline

Persentase pencapaian dihitung dari realisasi dibandingkan target {{ rekapPipelineLabel }}.

{{ achievementPipeline.status }}
Achievement Revenue {{ formatPersen(achievementPipeline.revenue) }}

{{ formatRupiah(totalWinNilai) }} dari {{ formatRupiah(currentPipelineTarget.targetRevenue) }} (Project Win)

Achievement Profit {{ formatPersen(achievementPipeline.profit) }}

{{ formatRupiah(totalWinProfit) }} dari {{ formatRupiah(currentPipelineTarget.targetProfit) }} (Project Win)

Achievement Gabungan {{ formatPersen(achievementGabungan.gabungan) }}
{{ achievementGabungan.status }}
Total Revenue Win {{ formatRupiah(totalWinRevenueSemuaAE) }}
Total Profit Win {{ formatRupiah(totalWinProfitSemuaAE) }}
Total Commit

{{ formatRupiah(totalCommitNilai) }}

{{ countCommit }} Project

Total Risk

{{ formatRupiah(totalRiskNilai) }}

{{ countRisk }} Project

Total Out Side

{{ formatRupiah(totalOutsideNilai) }}

{{ countOutside }} Project

Total Project WIN

{{ formatRupiah(totalWinNilai) }}

{{ winPipelineList.length }} Project

Total LOST

{{ formatRupiah(totalLostNilai) }}

{{ lostPipelineList.length }} Project

History Pipeline Project

Nama Customer Nama Project Kategori Pipeline Action / Progress Estimasi Nilai Project Closing % Keterangan Aksi
{{ pipe.namaCust }} {{ pipe.namaProject }} {{ pipe.kategori }} {{ pipe.action }}
{{ formatRupiah(pipe.estimasiNilai) }}
Profit: {{ formatRupiah(pipe.estimasiProfit) }}
{{ pipe.prosentaseClosing }}%
{{ pipe.statusWinLost || 'On Going' }}
Belum ada data Pipeline untuk periode ini.

Look Book - Pengajuan Dinas Luar Kantor

Persetujuan dinas luar kantor berbasis hirarki jabatan

History Dinas Luar Kantor

Kode ID Pegawai Tujuan / Kegiatan Dinas Pihak Terkait (Customer/Vendor/Other) Tanggal Dinas Jam Dinas Status Approval
{{ lb.kodeDinas }} {{ lb.namaPegawai }} ({{ lb.nip }}) {{ lb.tujuan }} {{ lb.relasiLabel || 'Customer Related' }} {{ lb.namaCust }} {{ formatDate(lb.tanggal) }} {{ lb.jamMulai || '-' }} - {{ lb.jamSelesai || '-' }} {{ lb.statusApproval }} Terkunci (Sudah Diklaim)
Belum ada data pengajuan Dinas Luar untuk periode ini.

Klaim Reimbursement

Wajib diambil dari data Look Book Dinas Luar Kantor yang disetujui

History Reimbursement

Ref Dinas (Look Book) Pegawai Keterangan Biaya Nominal Klaim Nota Status Approval
{{ reim.kodeDinas }} {{ reim.namaPegawai }} {{ reim.keterangan }} {{ formatRupiah(reim.nominal) }} Lihat - {{ reim.statusApproval }}
Belum ada klaim reimbursement untuk periode ini.

Sales Activity

Log aktivitas penjualan Anda (telepon, kunjungan, meeting, dsb) -- hanya Anda yang bisa melihat catatan ini.

Mode monitoring Super Admin -- menampilkan catatan aktivitas SEMUA Account Executive (khusus lihat, tidak bisa menambah/mengubah).

History Sales Activity

Account Executive Tanggal Jenis Customer Pipeline Project Catatan / Hasil Rencana Tindak Lanjut Aksi
{{ namaAESalesActivity(a) }} {{ formatDate(a.tanggal) }} {{ a.jenisAktivitas }} {{ namaCustomerSalesActivity(a) }} {{ namaProjectSalesActivity(a) }} {{ a.catatan }} {{ a.rencanaTindakLanjut || '-' }}

{{ formatDate(a.tanggalTindakLanjut) }}

Belum ada catatan aktivitas untuk periode ini.

Kasbon Pegawai

Terbuka untuk semua pegawai. Di bawah {{ formatRupiah(KASBON_BATAS_NOMINAL) }} cukup approval Atasan lalu Finance Manager; {{ formatRupiah(KASBON_BATAS_NOMINAL) }} ke atas wajib lanjut sampai approval Direktur Utama. Kasbon yang Disetujui otomatis menjadi potongan pada Slip Gaji periode terkait.

Atasan Approver Anda

{{ atasanSayaKasbon }}

Ditentukan otomatis dari jabatan Anda.

Total Kasbon Disetujui (Anda)

{{ formatRupiah(totalKasbonDisetujuiSaya) }}

Akan dipotong dari Slip Gaji.

Menunggu Approval Anda

{{ kasbonMenungguApprovalSaya }} pengajuan

Perlu Anda setujui / tolak.

History Pengajuan Kasbon

Pegawai Nominal Keperluan Jalur Approval Potong Slip Gaji Status Approval Aksi

{{ k.namaPegawai }}

{{ k.nip }} · {{ k.jabatan }}

{{ formatRupiah(k.nominal) }} {{ k.keperluan }}

Dibutuhkan: {{ formatDate(k.tanggalDibutuhkan) }}

{{ k.jalurApproval }}

Atasan: {{ k.approvalAtasanOleh }}

Finance: {{ k.approvalFMOleh }}

Direktur: {{ k.approvalDirekturOleh }}

Ditolak: {{ k.ditolakOleh }} — {{ k.alasanPenolakan }}

- {{ k.statusApproval }}
-
Belum ada pengajuan kasbon untuk periode ini.

Pengajuan Pembelian Barang

Terbuka untuk semua pegawai. Di bawah Rp 1.000.000 cukup approval Finance Manager; Rp 1.000.000 ke atas wajib lanjut approval Direktur Utama. Setelah Disetujui, otomatis masuk antrian Purchasing untuk dibelanjakan.

{{ pengajuanPembelianSiapDibelanjakan.length }} pengajuan sudah Disetujui dan menunggu diproses/dibelanjakan.

History Pengajuan Pembelian Barang

Pegawai Nama Barang / Kebutuhan Jumlah Est. Harga Satuan Total Nominal Keterangan Status Approval Status Pembelian
{{ pb.namaPegawai }} {{ pb.namaBarang }} {{ pb.jumlah }} {{ pb.satuan }} {{ formatRupiah(pb.estimasiHargaSatuan) }} {{ formatRupiah(pb.totalNominal) }} {{ pb.keterangan || '-' }} {{ pb.statusApproval }}
-
Belum ada pengajuan pembelian barang untuk periode ini.

PreCals - Kalkulator Estimasi Project

Simulasi perhitungan Opsi Swasta, Pemerintah, Non-PPN, Profit & estimasi Insentif Sales AE SEBELUM project diajukan resmi sebagai Purchase Request (PR).

PreCals HANYA kalkulator pribadi AE: tidak melalui approval, tidak memicu PO/Invoice/DO, dan input barang/vendor manual tidak mengubah Master Data. Jika project sudah fix, klik "Jadikan PR" pada salah satu riwayat di bawah untuk memindahkan datanya ke form Purchase Request resmi.

Riwayat PreCals {{ isAccountExecutive ? 'Saya' : 'Seluruh AE' }}

No PreCals & AE Customer / Project Barang Opsi Grand Total Profit Est. Insentif Aksi
{{ pc.noPreCals }}
{{ pc.namaAE }} ({{ pc.nipAE }})
{{ pc.namaCustomer || '-' }}
{{ pc.namaProject }}
{{ (pc.items || []).length }} Jenis Barang {{ pc.kategoriOption }} {{ formatRupiah(pc.grandTotalInvoice) }}
{{ formatRupiah(pc.profitBersih) }}
{{ pc.profitPercent.toFixed(2) }}%
{{ formatRupiah(pc.nominalInsentif) }}
Rate: {{ pc.insentifRatePercent }}%
Belum ada PreCals tersimpan. Klik "Tambah PreCals Baru" untuk mulai menghitung estimasi project.

Purchase Request (PR) & Insentif Sales AE

Perhitungan otomatis Opsi Swasta, Pemerintah, Non-PPN & Insentif Sales AE

Akses Terbatas: Hanya **Account Executive (AE)** yang diizinkan menambah / mengedit Purchase Request (PR).
Hak Khusus Finance Manager: PR yang berstatus **Disetujui** dapat diedit kembali. Setelah disimpan, status PR akan otomatis kembali menjadi **Menunggu Approval** untuk diproses approval ulang.

History Purchase Request

No PR & AE Customer & Project Barang Opsi PR Sub Total Invoice PPN Grand Total Profit Bersih Hak Insentif AE Status / Aksi
{{ pr.noPR }}
{{ pr.namaAE }} ({{ pr.nipAE }})
{{ pr.namaCustomer }}
{{ pr.namaProject }}
{{ (pr.items || []).length }} Jenis Barang
{{ (pr.items || []).map(it => it.partNumber + ' x' + it.qty).join(', ') }}
{{ pr.kategoriOption }} {{ formatRupiah(pr.subTotalInvoice) }} {{ formatRupiah(pr.ppn) }} {{ formatRupiah(pr.grandTotalInvoice) }}
{{ formatRupiah(pr.profitBersih) }}
{{ pr.profitPercent.toFixed(2) }}%
{{ formatRupiah(pr.nominalInsentif) }}
Rate: {{ pr.insentifRatePercent }}%
{{ pr.statusApproval }}
Direvisi: {{ pr.direvisiOleh }}
Menunggu Approval Direktur Utama / Account Manager
Terkunci
{{ poVendorProgressLabel(pr) }}
Khusus Admin
Belum ada data Purchase Request untuk periode ini.

Riwayat PO ke Vendor

Purchase Order yang sudah diterbitkan Finance Manager/Purchasing ke Vendor, berdasarkan PR yang telah Disetujui.

No PO Ref. PR / Project Vendor Total PO (Termasuk PPN 11%) Diterbitkan Oleh Aksi
{{ po.noPO }}
{{ po.noPR }}
{{ po.namaProject }}
{{ po.namaVendor }} {{ formatRupiah(po.totalNominal) }}
{{ po.dibuatOleh }}
{{ formatDate(po.dibuatPada) }}
Belum ada PO ke Vendor yang diterbitkan.

Riwayat Invoice ke Customer

Invoice yang sudah diterbitkan Finance Manager ke Customer, berdasarkan PR yang telah Disetujui.

No Invoice Ref. PR / Project Customer Grand Total Invoice Diterbitkan Oleh Aksi
{{ inv.noInvoice }}
{{ inv.noPR }}
{{ inv.namaProject }}
{{ inv.namaCustomer }} {{ formatRupiah(inv.grandTotalInvoice) }}
{{ inv.dibuatOleh }}
{{ formatDate(inv.dibuatPada) }}
Belum ada Invoice ke Customer yang diterbitkan.

Riwayat Delivery Order (DO)

DO yang sudah diterbitkan Finance Manager, berdasarkan PR yang telah Disetujui. Alamat Kirim & Nama PIC diinput manual saat DO diterbitkan.

No DO Ref. PR / Project Nama PIC Alamat Kirim Diterbitkan Oleh Aksi
{{ doItem.noDO }}
{{ doItem.noPR }}
{{ doItem.namaProject }}
{{ doItem.namaPIC }} {{ doItem.alamatKirim }}
{{ doItem.dibuatOleh }}
{{ formatDate(doItem.dibuatPada) }}
Belum ada Delivery Order yang diterbitkan.

Barang Diterima Customer

Catat barang yang sudah diterima berdasarkan Delivery Order (DO). Progress pengiriman dari fitur "Kirim Barang" juga langsung tampil di sini begitu Finance Manager klik "Kirim".

Progress Pengiriman Barang

{{ progressPengirimanBarangTab.length }} Aktif
{{ shipment.noPengiriman }}
{{ shipment.namaBarang }} ({{ shipment.jenisBarang }})
Pengirim: {{ shipment.pengirimNama }} ({{ shipment.pengirimJabatan }})
Menunggu status "Barang Diterima Customer"
{{ shipment.status }} {{ shipmentProgressPercent(shipment) }}%

Riwayat Pengiriman Selesai (Kirim Barang)

No PengirimanNama BarangJenisPengirimNama PenerimaDiterima PadaStatus
{{ shipment.noPengiriman }} {{ shipment.namaBarang }} {{ shipment.jenisBarang }} {{ shipment.pengirimNama }} {{ shipment.namaPenerima || '-' }} {{ formatDate(shipment.diterimaPada) }} Barang Diterima Customer
No PenerimaanNo DO / ProjectCustomerTanggal TerimaDiterima OlehCatatanAksi
{{ receipt.noPenerimaan }}
{{ receipt.noDO }}
{{ receipt.namaProject }}
{{ receipt.namaCustomer }}{{ formatDate(receipt.tanggalTerima) }}{{ receipt.namaPenerima }}{{ receipt.catatan || '-' }}-
Belum ada penerimaan barang yang dicatat.

Delivery Order Belum Diterima

{{ doItem.noDO }} | {{ doItem.namaProject }}
{{ doItem.namaCustomer }} | {{ formatDate(doItem.dibuatPada) }}
Semua DO sudah diterima atau belum ada DO.

Barang Masuk Gudang

Catat barang yang diterima dari vendor berdasarkan Purchase Order (PO).

No PenerimaanNo PO / ProjectVendorTanggal MasukDiterima OlehHasil QCFile QCCatatanDirevisi OlehAksi
{{ receipt.noPenerimaan }}
{{ receipt.noPO }}
{{ receipt.namaProject }}
{{ receipt.namaVendor }}{{ formatDate(receipt.tanggalMasuk) }}{{ receipt.namaPenerima }}{{ receipt.hasilQC }}{{ receipt.qcFileName || 'Lihat file QC' }}-{{ receipt.catatan || '-' }}{{ receipt.direvisiOleh || '-' }}-
Belum ada barang masuk gudang yang dicatat.

PO Vendor Belum Diterima

{{ po.noPO }} | {{ po.namaProject }}
{{ po.namaVendor }} | {{ formatDate(po.dibuatPada) }}
Semua PO sudah diterima atau belum ada PO vendor.

Kirim Barang

Input pengiriman barang. Setelah klik "Kirim", progress akan langsung tampil di sini, di tab "Barang Diterima Customer" milik Pengirim yang dipilih, dan di Dashboard Overview, sampai berstatus "Barang Diterima Customer".

Pengiriman Sedang Berjalan

{{ pengirimanBarangBerjalan.length }} Aktif
{{ shipment.noPengiriman }}
{{ shipment.namaBarang }} ({{ shipment.jenisBarang }})
Pengirim: {{ shipment.pengirimNama }} ({{ shipment.pengirimJabatan }})
Menunggu status "Barang Diterima Customer"
{{ shipment.status }} {{ shipmentProgressPercent(shipment) }}%
Belum ada pengiriman yang sedang berjalan.

Riwayat Pengiriman Selesai

No PengirimanNama BarangJenisPengirimNama PenerimaDiterima PadaStatus
{{ shipment.noPengiriman }} {{ shipment.namaBarang }} {{ shipment.jenisBarang }} {{ shipment.pengirimNama }} {{ shipment.namaPenerima || '-' }} {{ formatDate(shipment.diterimaPada) }} Barang Diterima Customer
Belum ada pengiriman yang selesai.

Klaim Insentif

Anda melihat modul ini untuk kepentingan approval berjenjang sesuai jabatan Anda.

History Klaim Insentif

Pemohon Kategori / Detail Nominal Insentif Progress Approval Status / Aksi Pembayaran
{{ kli.namaAE }}
{{ kli.kategori === 'Override' ? kli.jabatanKlaim : 'Account Executive' }}
{{ formatRupiah(kli.nominalInsentif) }}
{{ stage }}
{{ kli.statusApproval }}
-
Belum ada Klaim Insentif untuk periode ini.

Pendapatan Perusahaan

Laporan Revenue, Profit, Biaya (termasuk Insentif & Gaji Pegawai), dan Nett Profit per bulan/tahun, berdasarkan Purchase Request & Klaim Insentif yang sudah Disetujui serta Gaji Pegawai yang sudah Dibayarkan.

Total Revenue (Omzet)

{{ formatRupiah(totalPendapatanTahunIni.revenue) }}

Exclude PPN · Tahun {{ pendapatanFilterTahun }}

Total Keuntungan (Profit)

{{ formatRupiah(totalPendapatanTahunIni.profit) }}

Exclude PPN · Tahun {{ pendapatanFilterTahun }}

Total Biaya (Termasuk Insentif & Gaji)

{{ formatRupiah(totalPendapatanTahunIni.biaya) }}

Biaya Pokok {{ formatRupiah(totalPendapatanTahunIni.biayaPokok) }} + Insentif {{ formatRupiah(totalPendapatanTahunIni.insentif) }} + Gaji {{ formatRupiah(totalPendapatanTahunIni.gajiPegawai) }}

Total Nett Profit

{{ formatRupiah(totalPendapatanTahunIni.netProfit) }}

Revenue - Total Biaya (Termasuk Insentif & Gaji)

Rincian Per Bulan · Tahun {{ pendapatanFilterTahun }}

Berdasarkan tanggal PR/Klaim Insentif yang berstatus Disetujui & periode Gaji Pegawai yang berstatus Dibayarkan.

Bulan Revenue (Omzet) Profit Biaya Pokok Insentif Gaji Pegawai Total Biaya (Termasuk Insentif & Gaji) Nett Profit
{{ row.bulanLabel }} {{ formatRupiah(row.revenue) }} {{ formatRupiah(row.profit) }} {{ formatRupiah(row.biayaPokok) }} {{ formatRupiah(row.insentif) }} {{ formatRupiah(row.gajiPegawai) }} {{ formatRupiah(row.biaya) }} {{ formatRupiah(row.netProfit) }}
TOTAL {{ pendapatanFilterTahun }} {{ formatRupiah(totalPendapatanTahunIni.revenue) }} {{ formatRupiah(totalPendapatanTahunIni.profit) }} {{ formatRupiah(totalPendapatanTahunIni.biayaPokok) }} {{ formatRupiah(totalPendapatanTahunIni.insentif) }} {{ formatRupiah(totalPendapatanTahunIni.gajiPegawai) }} {{ formatRupiah(totalPendapatanTahunIni.biaya) }} {{ formatRupiah(totalPendapatanTahunIni.netProfit) }}

Laporan Kas Independen

Catat uang masuk dan uang keluar dengan saldo berjalan otomatis.

Saldo Saat Ini

{{ formatRupiah(saldoKasIndependen) }}

{{ kasIndependenForm.id ? 'Edit Transaksi Kas' : 'Input Transaksi Kas' }}

Saldo setelah transaksi: {{ formatRupiah(saldoKasIndependenSetelahInput) }}
Anda hanya memiliki akses melihat Laporan Kas Independen.

Riwayat Transaksi

Tanggal Deskripsi Uang Keluar Uang Masuk Saldo Keterangan Diinput Oleh Aksi
{{ formatDateTime(item.createdAt) }} {{ item.deskripsi }} {{ item.uangKeluar ? '- ' + formatRupiah(item.uangKeluar) : '-' }} {{ item.uangMasuk ? '+ ' + formatRupiah(item.uangMasuk) : '-' }} {{ formatRupiah(item.saldo) }} {{ item.keterangan || '-' }}

{{ item.inputBy || '-' }}

{{ item.inputByJabatan }}

Terkunci
Belum ada transaksi kas independen.

Inventory Aset Perusahaan

Pendataan aset perusahaan (elektronik, furniture, kendaraan, peralatan kantor, dsb). Akses penuh: Finance Manager & Direktur. General Affair & IT & Technical Support: khusus input data baru (tidak bisa ubah/hapus).

Total Nilai Perolehan Aset

{{ formatRupiah(totalNilaiInventoryAset) }}

Total Unit Aset Tercatat

{{ totalUnitInventoryAset }} Unit

Daftar Aset

Kode Aset Nama Aset Kategori Jumlah Lokasi Kondisi Tgl Perolehan Harga Perolehan Penanggung Jawab Aksi
{{ a.kodeAset }} {{ a.namaAset }} {{ a.kategori }} {{ a.jumlah }} {{ a.satuan }} {{ a.lokasi || '-' }} {{ a.kondisi }} {{ a.tanggalPerolehan ? formatDate(a.tanggalPerolehan) : '-' }} {{ formatRupiah(a.hargaPerolehan) }} {{ a.penanggungJawab || '-' }}
-
Belum ada data aset yang tercatat.

Manajemen Database & Backup System

Kelola pencadangan data, pemulihan data, atau pengosongan sistem PT MBS. Akses terbatas: Anda hanya dapat mengunduh Backup JSON. Fitur Restore & Kosongkan Data khusus Super Admin.

Backup Data

Unduh seluruh snapshot database ERP & HRIS dalam file format JSON.

Di Chrome/Edge, akan muncul dialog untuk memilih folder penyimpanan. Di browser lain, file otomatis masuk ke folder Download.

Restore Data

Pulihkan sistem dengan mengunggah file JSON pencadangan sebelumnya.

Kosongkan Data System

Menghapus seluruh Master Data, PR, Cuti & Pipeline kembali ke keadaan awal.

Ganti Password Account

{{ pegForm.id ? 'Edit Data Pegawai' : 'Tambah Pegawai Baru' }}

{{ custForm.id ? 'Edit Customer' : 'Tambah Customer' }}

Belum ada nama customer di Pipeline. Silakan input manual.

{{ venForm.id ? 'Edit Vendor' : 'Tambah Vendor' }}

{{ itemForm.id ? 'Edit Barang/Jasa' : 'Tambah Barang/Jasa' }}

Estimasi Harga Include PPN (11%): {{ formatRupiah(hitungHargaIncludePPN(itemForm)) }}

Barang Non PPN: harga di atas langsung dipakai sesuai input, tanpa perhitungan PPN.

Status Update Harga

Terakhir diupdate: {{ formatDate(infoUpdateHargaTerakhir(itemForm).tanggal) }} ({{ formatRupiah(infoUpdateHargaTerakhir(itemForm).harga) }})

Belum ada riwayat update harga untuk barang/jasa ini.

{{ formatDate(h.tanggal) }} {{ formatRupiah(h.harga) }}

Riwayat baru otomatis tercatat setiap kali harga diubah dan disimpan.

Atur Gaji Pegawai

{{ gajiForm.nama }} · {{ gajiForm.nip }} · {{ gajiForm.jabatan }}

Belum ada tunjangan. Klik "Tambah Jenis Pemasukan" untuk menambahkan (misal: Tunjangan Transport, Tunjangan Makan, Tunjangan Jabatan, dll).
Total Tunjangan: {{ formatRupiah(totalTunjanganGajiForm) }}
Belum ada potongan. Klik "Tambah Jenis Potongan" untuk menambahkan (misal: BPJS Kesehatan, Potongan Absen, Pinjaman, dll).
Total Potongan: {{ formatRupiah(totalPotonganGajiForm) }}
Total Gaji Bersih (Take Home Pay) {{ formatRupiah(totalGajiBersihForm) }}

Cetak / Download Slip Gaji

{{ slipGajiForm.nama }} · {{ slipGajiForm.nip }} · {{ slipGajiForm.jabatan }}

Slip akan dibuka di tab cetak browser. Pilih tujuan cetak "Save as PDF" untuk mengunduh sebagai file PDF.

"Kirim ke WhatsApp" membuka chat WhatsApp pegawai (nomor HP dari Master Data Pegawai) berisi ringkasan gaji. Lampiran PDF tidak otomatis terkirim — unduh dulu PDF-nya lalu lampirkan manual jika diperlukan.

Rincian Gaji untuk Kroscek

{{ rincianGajiPembayaran.nama }} · {{ rincianGajiPembayaran.nip }} · {{ rincianGajiPembayaran.bulan }} {{ rincianGajiPembayaran.tahun }}

{{ rincianGajiPembayaran.statusApproval }}

Gaji Pokok

{{ formatRupiah(rincianGajiPembayaran.rincian.gajiPokok) }}

Total Pendapatan

{{ formatRupiah(rincianGajiPembayaran.rincian.totalPendapatan) }}

Tunjangan dan Insentif

{{ t.jenis }}{{ formatRupiah(t.nominal) }}
Insentif{{ insentif.noPR ? ' - ' + insentif.noPR : '' }}{{ formatRupiah(insentif.nominalInsentif) }}
Kompensasi Sisa Cuti ({{ kompensasi.tahunCuti }}){{ formatRupiah(kompensasi.nominal) }}

Tidak ada tunjangan atau insentif.

Potongan dan Kasbon

{{ p.jenis }}- {{ formatRupiah(p.nominal) }}
Kasbon{{ kasbon.keterangan ? ' - ' + kasbon.keterangan : '' }}- {{ formatRupiah(kasbon.nominal) }}

Tidak ada potongan atau kasbon.

Gaji Bersih Perhitungan {{ formatRupiah(rincianGajiPembayaran.rincian.totalGajiBersih) }}
Nominal pengajuan: {{ formatRupiah(rincianGajiPembayaran.nominalGajiBersih) }}

Ajukan Pembayaran Gaji

{{ bayarGajiForm.nama }} · {{ bayarGajiForm.nip }} · {{ bayarGajiForm.jabatan }}

Pengajuan ini wajib disetujui oleh Admin/Direktur sebelum dapat ditandai "Dibayarkan".

Kelola Jenis Tunjangan/Potongan

Finance Manager hanya dapat menambahkan/menghapus nama jenis di sini. Nominal untuk masing-masing pegawai tetap diatur oleh Super Admin melalui "Atur Gaji".

Belum ada jenis pemasukan/tunjangan.
{{ j.nama }}
Belum ada jenis potongan.
{{ j.nama }}

Kelola Jenis Jabatan

Tambah atau hapus pilihan jenis jabatan yang muncul di form Tambah/Edit Pegawai. Jenis jabatan yang masih dipakai oleh pegawai tidak dapat dihapus.

Belum ada jenis jabatan.
{{ j.nama }}

Input Kasbon Pegawai

{{ kasbonForm.nama }} · {{ kasbonForm.nip }} · {{ kasbonForm.jabatan }}

Nominal ini akan otomatis muncul sebagai baris potongan pada Slip Gaji pegawai untuk periode yang dipilih.

Pengajuan Tidak Masuk Kantor

Estimasi Potong Cuti: {{ calculatedLeaveImpact }} Hari

*Sakit > 3 hari. Hari ke-4 dan seterusnya memotong sisa hak cuti.

Pengaturan Aturan Cuti Tahunan

Tambah Cuti Bersama

Tanggal ini akan otomatis memotong 1 hari hak cuti tahunan seluruh pegawai dengan masa kerja ≥ 1 tahun (per tanggal cuti bersama ini). Pegawai dengan masa kerja < 1 tahun tidak dikenakan potongan.

{{ pipeForm.id ? 'Edit Pipeline' : 'Tambah Pipeline Project' }}

Atur Target Pipeline

Target ini digunakan untuk menghitung Status pencapaian pipeline (Kurang / Lebih dari Target). Pilih "Target Keseluruhan" untuk mengatur target perusahaan, atau pilih nama AE untuk mengatur target khusus AE tersebut.

Pengajuan Dinas Luar Kantor

Pengajuan Klaim Reimbursement

Ref Look Book yang sudah diklaim & disetujui tidak akan muncul lagi (terkunci).

{{ reimForm.notaFileName }}
Lihat

Wajib upload nota sebagai bukti klaim. Maks. 2MB per file.

{{ salesActivityForm.id ? 'Edit Aktivitas' : 'Catat Sales Activity' }}

Ajukan Kasbon

Pengajuan akan dikirim ke atasan Anda: {{ atasanSayaKasbon }}

{{ Number(kasbonPengajuanForm.nominal || 0) >= KASBON_BATAS_NOMINAL ? 'Nominal ini memerlukan approval Atasan, Finance Manager, DAN Direktur Utama.' : 'Nominal ini cukup diapprove Atasan lalu Finance Manager.' }}

Periode potong ini hanya usulan — Finance Manager dapat mengubahnya setelah kasbon disetujui.

Ubah Periode Potong Kasbon

{{ editPeriodeKasbonForm.nama }} · {{ editPeriodeKasbonForm.nip }} · {{ formatRupiah(editPeriodeKasbonForm.nominal) }}

Baris potongan kasbon akan berpindah ke Slip Gaji periode yang dipilih.

Ajukan Pembelian Barang

Di bawah Rp 1.000.000 cukup approval Finance Manager. Rp 1.000.000 ke atas wajib lanjut approval Direktur Utama.

Total Estimasi {{ formatRupiah(pengajuanPembelianFormTotal) }}

{{ pengajuanPembelianFormTotal >= 1000000 ? 'Nominal ini akan memerlukan approval Finance Manager DAN Direktur Utama.' : 'Nominal ini cukup diapprove Finance Manager saja.' }}

Tandai Sudah Dibelanjakan

{{ pengajuanPembelianAktif.namaBarang }} ({{ pengajuanPembelianAktif.jumlah }} {{ pengajuanPembelianAktif.satuan }}) · {{ formatRupiah(pengajuanPembelianAktif.totalNominal) }}

{{ invAsetForm.id ? 'Edit Aset' : 'Tambah Aset' }}

Kode Aset: {{ invAsetForm.kodeAset }}

Pengaturan Lokasi Kantor & Radius Absensi

Titik koordinat ini menjadi acuan validasi radius saat pegawai melakukan absen selfie.

Selfie Absen {{ absenPanel.tipe === 'masuk' ? 'Masuk' : 'Pulang' }}

Mengambil lokasi GPS & menyalakan kamera...

{{ absenPanel.errorMsg }}
Jarak dari kantor: {{ absenPanel.jarak }} m {{ absenPanel.dalamRadius ? '(Dalam radius)' : (absenPanel.bolehLuarRadius ? '(Di luar radius, diizinkan via Look Book Dinas)' : '(Di luar radius yang diizinkan)') }}
Terdeteksi Look Book Dinas hari ini: {{ absenPanel.lookbookRef.kodeDinas }}{{ absenPanel.lookbookRef.tujuan ? ' - ' + absenPanel.lookbookRef.tujuan : '' }}. Keterangan ini akan otomatis dicatat pada absen Anda.

Anda harus berada dalam radius {{ absensiConfig.radiusMeter }}m dari kantor. Absen di luar radius hanya diizinkan jika Look Book Dinas hari ini sudah Disetujui dan {{ absenPanel.tipe === 'masuk' ? 'Jam Mulai-nya sebelum 09:00' : 'Jam Selesai-nya lewat dari 17:00' }}.

{{ absenPanel.dalamRadius ? 'Dalam radius' : 'Di luar radius (via Look Book Dinas ' + (absenPanel.lookbookRef ? absenPanel.lookbookRef.kodeDinas : '') + ')' }} · Jarak {{ absenPanel.jarak }} m dari kantor

Anda tercatat Terlambat

Absen ini akan menunggu approval dari Admin/Direktur setelah dikirim.

{{ preCalsForm.id ? 'Edit PreCals' : 'Buat PreCals Baru' }}

AE: {{ preCalsForm.id ? preCalsForm.namaAE : currentUser.nama }} (NIP: {{ preCalsForm.id ? preCalsForm.nipAE : currentUser.nip }})

{{ preCalsForm.noPreCals || 'Auto-Generate PreCals' }}
PreCals hanya kalkulator pribadi, tidak melalui approval apapun. Nama Customer & Project boleh masih perkiraan/belum final.

Tambah Barang ke Estimasi Ini

Isi form di bawah lalu klik "Tambah ke Daftar Barang" untuk tiap barang. Data manual di sini TIDAK tersimpan ke Master Data.

Angka di atas akan dibagi 1,11 (PPN dikeluarkan) saat ditambahkan ke daftar barang.

Angka di atas akan dibagi 1,11 (PPN dikeluarkan) saat ditambahkan ke daftar barang.

Sedang mengedit barang #{{ preCalsItemEditIndex + 1 }}. Ubah data di atas lalu klik "Update Barang", atau batalkan.

Daftar Barang Estimasi Ini ({{ preCalsForm.items.length }} Jenis Barang)

Part Number Nama Barang Vendor Qty Harga Beli Satuan Harga Jual Satuan Sub Total Jual Aksi
{{ it.partNumber }} {{ it.namaBarang }} {{ it.namaVendor || '-' }} {{ it.qty }} {{ formatRupiah(it.hargaBeli) }} {{ formatRupiah(it.hargaJual) }} {{ formatRupiah(it.hargaJual * it.qty) }}
Belum ada barang ditambahkan. Isi form di atas lalu klik "Tambah ke Daftar Barang".

Rincian Biaya-Biaya Operational (Input Manual / Estimasi)

Hasil Perhitungan Otomatis Sistem (Formula: {{ preCalsForm.kategoriOption }})

Total Biaya: {{ formatRupiah(calculatedPreCals.totalBiaya) }}
Sub Total Invoice: {{ formatRupiah(calculatedPreCals.subTotalInvoice) }}
PPN (11%): {{ formatRupiah(calculatedPreCals.ppn) }}
Grand Total: {{ formatRupiah(calculatedPreCals.grandTotalInvoice) }}
Profit Bersih: {{ formatRupiah(calculatedPreCals.profitBersih) }} {{ calculatedPreCals.profitPercent.toFixed(2) }}%
Estimasi Insentif AE ({{ calculatedPreCals.insentifRatePercent }}%): {{ formatRupiah(calculatedPreCals.nominalInsentif) }}

{{ prForm.id ? (prForm.statusApproval === 'Disetujui' ? 'Edit & Approval Ulang PR' : 'Edit Purchase Request') : 'Buat Purchase Request Baru' }}

AE: {{ prForm.id ? prForm.namaAE : currentUser.nama }} (NIP: {{ prForm.id ? prForm.nipAE : currentUser.nip }})

{{ prForm.noPR || 'Auto-Generate PR' }}
PR ini sudah Disetujui. Menyimpan perubahan akan mengembalikan status PR menjadi Menunggu Approval dan PR harus disetujui ulang.

Belum ada Master Data Customer untuk Anda. Silakan pilih dari Pipeline atau Input Manual.

Belum ada nama customer di Pipeline Anda. Silakan pilih Master Data Customer atau Input Manual.

Nama customer ini akan otomatis tersimpan ke Master Data Customer milik Anda.

Tambah Barang ke Project Ini

Jika dalam satu project terdapat lebih dari satu jenis barang, isi form di bawah lalu klik "Tambah ke Daftar Barang" untuk tiap barang.

Part Number ini akan otomatis tersimpan ke Master Data Barang.

Vendor ini akan otomatis tersimpan ke Master Data Vendor.

Angka di atas akan dibagi 1,11 (PPN dikeluarkan) saat ditambahkan ke daftar barang.

Angka di atas akan dibagi 1,11 (PPN dikeluarkan) saat ditambahkan ke daftar barang.

Sedang mengedit barang #{{ prItemEditIndex + 1 }}. Ubah data di atas lalu klik "Update Barang", atau batalkan.

Daftar Barang Project Ini ({{ prForm.items.length }} Jenis Barang)

Part Number Nama Barang Vendor Qty Harga Beli Satuan Harga Jual Satuan Sub Total Jual Aksi
{{ it.partNumber }} {{ it.namaBarang }} {{ it.namaVendor }} {{ it.qty }} {{ formatRupiah(it.hargaBeli) }} {{ formatRupiah(it.hargaJual) }} {{ formatRupiah(it.hargaJual * it.qty) }}
Belum ada barang ditambahkan. Isi form di atas lalu klik "Tambah ke Daftar Barang".

Rincian Biaya-Biaya Operational (Input Manual)

Hasil Perhitungan Otomatis Sistem (Formula: {{ prForm.kategoriOption }})

Total Biaya: {{ formatRupiah(calculatedPR.totalBiaya) }}
Sub Total Invoice: {{ formatRupiah(calculatedPR.subTotalInvoice) }}
PPN (11%): {{ formatRupiah(calculatedPR.ppn) }}
Grand Total: {{ formatRupiah(calculatedPR.grandTotalInvoice) }}
Profit Bersih: {{ formatRupiah(calculatedPR.profitBersih) }} {{ calculatedPR.profitPercent.toFixed(2) }}%
Estimasi Insentif AE ({{ calculatedPR.insentifRatePercent }}%): {{ formatRupiah(calculatedPR.nominalInsentif) }}

Detail Purchase Request

AE: {{ detailPRData.namaAE }} (NIP: {{ detailPRData.nipAE }})

{{ detailPRData.noPR }}
{{ detailPRData.kategoriOption }}
{{ detailPRData.namaCustomer }}
{{ detailPRData.namaProject }}
{{ detailPRData.statusApproval }} Direvisi: {{ detailPRData.direvisiOleh }} ({{ formatDate(detailPRData.direvisiPada) }})

Daftar Barang Project Ini ({{ (detailPRData.items || []).length }} Jenis Barang)

Part Number Nama Barang Vendor Qty Harga Beli Satuan Harga Jual Satuan Sub Total Jual
{{ it.partNumber }} {{ it.namaBarang }} {{ it.namaVendor }} {{ it.qty }} {{ formatRupiah(it.hargaBeli) }} {{ formatRupiah(it.hargaJual) }} {{ formatRupiah(it.hargaJual * it.qty) }}
Tidak ada data barang.

Rincian Biaya-Biaya Operational

Ekspedisi {{ formatRupiah(detailPRData.biayaEkspedisi) }}
Add Insentif {{ formatRupiah(detailPRData.biayaAddInsentif) }}
Bank Fee {{ formatRupiah(detailPRData.biayaBankFee) }}
Instalasi / Setting {{ formatRupiah(detailPRData.biayaInstalasi) }}
PPH {{ formatRupiah(detailPRData.biayaPph) }}
Other / Lain-lain {{ formatRupiah(detailPRData.biayaOther) }}

Hasil Perhitungan (Formula: {{ detailPRData.kategoriOption }})

Sub Total Invoice: {{ formatRupiah(detailPRData.subTotalInvoice) }}
PPN: {{ formatRupiah(detailPRData.ppn) }}
Grand Total: {{ formatRupiah(detailPRData.grandTotalInvoice) }}
Profit Bersih: {{ formatRupiah(detailPRData.profitBersih) }} ({{ (detailPRData.profitPercent || 0).toFixed(2) }}%)
Hak Insentif AE ({{ detailPRData.insentifRatePercent }}%): {{ formatRupiah(detailPRData.nominalInsentif) }}

Terbitkan PO ke Vendor

Ref. PR: {{ poPRData.noPR }} · {{ poPRData.namaCustomer }} / {{ poPRData.namaProject }}

Fitur ini hanya dapat diakses oleh Finance Manager atau Purchasing. Item PO otomatis mengikuti barang milik vendor yang dipilih pada PR ini.

Otomatis terisi dari Master Data Vendor, dan bisa diubah manual bila perlu.

Part Number Nama Barang Qty Harga Beli Subtotal
{{ it.partNumber }} {{ it.namaBarang }} {{ it.qty }} {{ formatRupiah(it.hargaBeli) }} {{ formatRupiah(Number(it.qty || 0) * Number(it.hargaBeli || 0)) }}
Tidak ada barang untuk vendor ini.
Subtotal: {{ formatRupiah(poSubtotal) }}
PPN (11%): {{ formatRupiah(poPPN) }}
Total PO: {{ formatRupiah(poTotalNominal) }}

Cetak Invoice ke Customer

Ref. PR: {{ invoicePRData.noPR }} · {{ invoicePRData.namaCustomer }} / {{ invoicePRData.namaProject }}

Fitur ini hanya dapat diakses oleh Finance Manager. Item, subtotal, PPN, dan grand total invoice otomatis mengikuti hasil perhitungan pada PR yang sudah Disetujui ini.

Otomatis terisi dari Master Data Customer, dan bisa diubah manual bila perlu.

Part Number Nama Barang Qty Harga Jual Subtotal
{{ it.partNumber }} {{ it.namaBarang }} {{ it.qty }} {{ formatRupiah(it.hargaJual) }} {{ formatRupiah(Number(it.qty || 0) * Number(it.hargaJual || 0)) }}
Tidak ada barang pada PR ini.
Sub Total Invoice: {{ formatRupiah(invoicePRData.subTotalInvoice) }}
PPN: {{ formatRupiah(invoicePRData.ppn) }}
Grand Total: {{ formatRupiah(invoicePRData.grandTotalInvoice) }}

Terima Barang

Konfirmasi Diterima Customer

Pengiriman ini sudah berstatus "Barang Diterima Customer". Masukkan Nama Penerima untuk menutup dan mengunci pengiriman ini.

{{ barangMasukGudangForm.id ? 'Edit Barang Masuk Gudang' : 'Catat Barang Masuk Gudang' }}

{{ barangMasukGudangForm.qcFileName }}

Cetak Delivery Order (DO)

Ref. PR: {{ doPRData.noPR }} · {{ doPRData.namaCustomer }} / {{ doPRData.namaProject }}

Fitur ini hanya dapat diakses oleh Finance Manager. Alamat Kirim & Nama PIC WAJIB diisi manual. Item mengikuti seluruh barang pada PR ini (tanpa harga, karena DO adalah dokumen pengiriman).

Wajib diinput manual (tidak otomatis dari Master Data).

Part Number Nama Barang Qty
{{ it.partNumber }} {{ it.namaBarang }} {{ it.qty }}
Tidak ada barang pada PR ini.

Pengirim: General Affair (kolom tanda tangan dikosongkan)

Penerima: dikosongkan (ditandatangani manual di lokasi tujuan)

Disetujui: {{ currentUser ? currentUser.nama : '-' }} (Finance Manager)

Ajukan Klaim Insentif

Klaim dapat diajukan atas Purchase Request (PR) milik Anda yang berstatus Disetujui.

Tidak ada PR Disetujui yang tersedia untuk diklaim saat ini.

Ajukan Klaim Insentif ({{ currentUser.jabatan }})

Insentif dihitung otomatis sebesar {{ overrideRateForCurrentUser }}% dari sisa basis yang sudah Disetujui dan belum pernah dijadikan basis klaim oleh jabatan Anda.

Khusus Account Manager: insentif dari AE Acep Sonjaya tidak termasuk dalam basis perhitungan ini.

Untuk AE selain Acep Sonjaya, basis perhitungan diambil dari Insentif Override Account Manager (AM), bukan langsung dari Total Insentif AE (dengan rate Komisaris 100%, artinya nominal Insentif Override Komisaris untuk porsi ini = Insentif Override Account Manager). Khusus porsi insentif AE Acep Sonjaya, perhitungan tetap seperti semula (langsung dari Total Insentif AE).

Khusus General Affair: basis perhitungan BUKAN dari Total Insentif AE, melainkan 10% dari Total Insentif IT & Technical Support yang sudah Disetujui.

Rate Insentif{{ overrideRateForCurrentUser }}%
Basis (Sisa){{ formatRupiah(overrideBaseTersedia) }}
Insentif Acep Sonjaya (dikecualikan){{ formatRupiah(totalInsentifAEDikecualikanUntukAM) }}
  dari Total Insentif IT & Technical Support (Disetujui){{ formatRupiah(totalInsentifITTechnicalSupportDisetujui) }}
Estimasi Nominal Klaim {{ formatRupiah(overrideNominalPreview) }}
Alur Approval {{ overrideChainPreview.join(' \u2192 ') }}

Belum ada sisa Total Insentif AE (Disetujui) yang bisa dijadikan basis klaim saat ini.