Haloo! Selamat Datang di Komunitas Private Training Web Development (55629 Members, 633 Products, 4450 Topic, 11784 Comments)

Butuh karyawan baru? atau seorang Web Developer (Part-time/Freelance/Full-time), cari disini : Members Area Jobs!

Penambahan laporan keuangan pada penjualan (toko online)

Dibuat
Login Terakhir 6 Hari lalu,
Telah Dilihat 343 Kali
irvanhilmi Mengatakan : Premium
  1. Assalamualaikum Warahmatullahi Wabarakatuh...
  2. bagaimana cara agar fitur laporan keuangan pemasukan dapat dengan otomatis get data hasil dari penjualan yang ada , lalu ada penambahan rekapitulasi keuangan dan terlihat berapa laba rugi nya
  3.  
  4. terimakasih

Ada 7 Jawaban

Bukhori Muslim
commented on 09 Des 2019 09:08:22
Salah satu jawaban terbaik,..
  1. Assalamualaikum,.. Pertama pahami dulu dimana data penjualan ditempatkan, yaitu pada table :
  2.  
  3. rb_penjualan --> Penempatan data konsumen + diskon + ongkir ada disini, namun ongkir tidak kita hitung masuk ke data uang masuk karena akan dikeluarkan lagi untuk pengiriman barang, jadi yang kita ambil nanti adalah data diskon jika ada untuk dikurangi dengan total uang masuk dari orderan yang sukses/proses.
  4.  
  5. rb_penjualan_detail --> Disini tempat data semua penjualan produk ditempatkan, harga dan jumlah/qty yang terjual ke konsumen, jadi kunci hitung penjualannya nanti disini.
  6.  
  7. akan saya hitungkan dengan query mysql total penjualannya, berikut ini :
  8. SELECT sum(a.jumlah*a.harga_jual) as penjualan, sum(a.jumlah*b.harga_beli) as modal, c.diskon, (sum((a.jumlah*a.harga_jual)-(a.jumlah*b.harga_beli))-c.diskon) as laba, c.proses, c.waktu_transaksi FROM `rb_penjualan_detail` a JOIN rb_produk b ON a.id_produk=b.id_produk JOIN rb_penjualan c ON a.id_penjualan=c.id_penjualan where c.proses='1' GROUP BY a.id_penjualan
  9.  
  10. Silahkan jalankan query diatas pada phpmyadmin toko online anda, nanti akan tampil data :
  11. 1. Total Penjualan Sukses
  12. 2. Total Modal Penjualan
  13. 3. Total Laba/Rugi
  14.  
  15. selanjutnya tinggal buat interfacenya saja di web toko online dengan script :
  16.  
  17. <table class='table table-hover table-condensed'>
  18. <tr>
  19. <th width="20px">No</th>
  20. <th>Penjualan</th>
  21. <th>Modal</th>
  22. <th>Diskon</th>
  23. <th>Laba/Rugi</th>
  24. </tr>
  25. <?php
  26. $no = 1;
  27. $record = $this->db->query("SELECT sum(a.jumlah*a.harga_jual) as penjualan, sum(a.jumlah*b.harga_beli) as modal, c.diskon, (sum((a.jumlah*a.harga_jual)-(a.jumlah*b.harga_beli))-c.diskon) as laba, c.proses, c.waktu_transaksi FROM `rb_penjualan_detail` a JOIN rb_produk b ON a.id_produk=b.id_produk JOIN rb_penjualan c ON a.id_penjualan=c.id_penjualan where c.proses='1' GROUP BY a.id_penjualan");
  28. foreach ($record->result_array() as $row){
  29. echo "<tr><td>$no</td>
  30. <td>$row[penjualan]</td>
  31. <td>$row[modal]</td>
  32. <td>$row[diskon]</td>
  33. <td>$row[laba]</td>
  34. </tr>";
  35. $no++;
  36. }
  37. ?>
  38. </tbody>
  39. </table>
  40.  
  41. oke beres untuk laporan keuangan,.. ^_^
Este Emwe94
commented on 12 Des 2019 07:41:32
  1. Assalamualaikum,.. mas Bukhori, terima kasih untuk penjelasannya. Saya sudah coba terapkan dengan sedikit penambahan kolom "Kode Transaksi" dan saya beri koma desimal. Berikut hasilnya. Contoh tampilan laporan ada di file lampiran.
  2.  
  3. Edit file /application/views/administrator/menu-admin.php
  4. di baris 99 ditambahkan:
  5.  
  6. $cek = $this->model_app->umenu_akses("laporan", $this->session->id_session);
  7. if ($cek == 1 or $this->session->level == 'admin') {
  8. echo "<li><a href='" . base_url() . "administrator/laporan'><i class='fa fa-circle-o'></i> Laporan Keuangan</a></li>";
  9. }
  10.  
  11.  
  12. Edit file /application/controllers/Administrator.php dan tambahkan coding berikut:
  13. function laporan()
  14. {
  15. cek_session_akses('laporan', $this->session->id_session);
  16. $this->template->load('administrator/template', 'administrator/mod_laporan/view_laporan', $data);
  17. }
  18.  
  19.  
  20. Buat folder baru dan file baru:
  21. /application/views/administrator/mod_laporan
  22.  
  23. Buat file baru didalam folder baru tadi dan beri nama view_laporan.php
  24. Yang isinya:
  25.  
  26. <h3 class="box-title">Laporan Keuangan</h3>
  27. <table class='table table-hover table-condensed'>
  28. <tr>
  29. <th width="20px">No</th>
  30. <th>Kode Transaksi</th>
  31. <th>Penjualan</th>
  32. <th>Modal</th>
  33. <th>Diskon</th>
  34. <th>Laba/Rugi</th>
  35. </tr>
  36. <?php
  37. $no = 1;
  38. $record = $this->db->query("SELECT b.kode_transaksi, sum(a.jumlah*a.harga_jual) as penjualan, sum(a.jumlah*c.harga_beli) as modal, sum(a.jumlah*c.diskon) as diskon, sum((a.jumlah*a.harga_jual)-(a.jumlah*c.harga_beli)-(a.jumlah*c.diskon)) as laba, b.proses, b.waktu_transaksi FROM `rb_penjualan_detail` a JOIN rb_produk c ON a.id_produk=c.id_produk JOIN rb_penjualan b ON a.id_penjualan=b.id_penjualan where b.proses='1' GROUP BY a.id_penjualan");
  39.  
  40. foreach ($record->result_array() as $row) {
  41. echo "<tr><td>$no</td>
  42. <td>$row[kode_transaksi]</td>
  43. <td>" . number_format($row[penjualan]) . "</td>
  44. <td>" . number_format($row[modal]) . "</td>
  45. <td>" . number_format($row[diskon]) . "</td>
  46. <td>" . number_format($row[laba]) . "</td>
  47. </tr>";
  48. $no++;
  49. }
  50. ?>
  51. </tbody>
  52. </table>
  53.  
Terdapat 1 File dilampirkan :
1. Laporan-keuangan-toko-online3.png (40 KB)
irvanhilmi
commented on 12 Des 2019 19:57:19
  1. Assalamualaikum,.. terimakasihh sudah berhasil , kalau mau menambahkan filter pencarian laporan keuangannya berdasarkan misal waktu tgl /bulaan itu berarti bikin field baru tgl ya ?
Bukhori Muslim
commented on 13 Des 2019 06:00:41
Salah satu jawaban terbaik,..
  1. Assalamualaikum,.. tidak perlu penambahan field baru gan,
  2. karena didatabase sudah ada field untuk waktu transaksinya,
  3. tinggal di between dari tanggal1 sampai tanggal2, contoh di query nanti begini :
  4.  
  5. SELECT * FROM table_name
  6. WHERE column_name BETWEEN tanggal1 AND tanggal2;
irvanhilmi
commented on 13 Des 2019 11:22:48
  1. Assalamualaikum,.. untuk querynya sudah dicoba tpi ga muncul ka ?apa harus ada penyesuaian lagi ? http://prntscr.com/qa5mwt
  2. untuk pembuatan controller dan view nya apa ada referensi?
irvanhilmi
commented on 13 Des 2019 11:26:42
  1. Assalamualaikum,.. apa menggunakan view & controller ini bisa?
  2.  
  3. View :
  4.  
  5. <form method="post" action="<?php echo base_url('admin/cetakbulan') ?>">
  6. <div class="form-group col-md-3"><b>
  7. Bulan</b>
  8. <select class="form-control" id="bulan" name="bulan">
  9. <option value="01">Januari</option>
  10. <option value="02">Februari</option>
  11. <option value="03">Maret</option>
  12. <option value="04">April</option>
  13. <option value="05">Mei</option>
  14. <option value="06">Juni</option>
  15. <option value="07">Juli</option>
  16. <option value="08">Agustus</option>
  17. <option value="09">September</option>
  18. <option value="10">Oktober</option>
  19. <option value="11">November</option>
  20. <option value="12">Desember</option>
  21. </select>
  22. </div>
  23.  
  24. <div class="form-group col-md-3"><b>
  25. <div class="input-group date" data-provide="datepicker" data-date-format="yyyy-mm-dd">
  26. <label class="control-label" for="tgl_mulai">Tgl_Mulai</label><br>
  27. <input type="text" class="form-control" name="tgl_mulai" id="tgl_mulai" required>
  28. <div class="input-group-addon">
  29. <span class="glyphicon glyphicon-th"></span>
  30. </div>
  31. </div>
  32. </div></b>
  33.  
  34. <div class="form-group col-md-3"><b>
  35. <div class="input-group date" data-provide="datepicker" data-date-format="yyyy-mm-dd">
  36. <label class="control-label" for="tgl_kembali">Tgl_Akhir</label><br>
  37. <input type="text" class="form-control" name="tgl_akhir" id="tgl_akhir" required>
  38. <div class="input-group-addon">
  39. <span class="glyphicon glyphicon-th"></span>
  40. </div>
  41. </div>
  42. </div></b>
  43.  
  44. <div class="form-group col-md-3"><b>Tahun</b>
  45. <select class="form-control" id="tahun" name="tahun">
  46. <?php
  47. $mulai= date('Y') - 50;
  48. for($i = $mulai;$i<$mulai + 100;$i++)
  49. {
  50. $sel = $i == date('Y') ? ' selected="selected"' : '';
  51. echo '<option value="'.$i.'"'.$sel.'>'.$i.'</option>';
  52. }
  53. ?>
  54. </select>
  55. </div>
  56.  
  57. <div class="form-group col-md-12"><b>TRIWULAN</b>
  58. <select class="form-control" name="triwulan">
  59. <option value="">-- Silahkan Pilih --</option>
  60. <option>Triwulan 1</option>
  61. <option>Triwulan 2</option>
  62. <option>Triwulan 3</option>
  63. <option>Triwulan 4</option>
  64. </select>
  65. </div>
  66.  
  67. <input type="submit" name="btnKirim" class="btn btn-primary" style="float:left; margin-left:15px; margin-bottom:15px;" value="Preview"/>
  68. <hr>
  69. </form>
  70.  
  71. Controller :
  72.  
  73. public function cetakBulan()
  74. {
  75. $this->_is_admin();
  76. if($this->input->post('btnKirim'))
  77. {
  78. $bulan = $this->input->post('bulan');
  79. $tahun = $this->input->post('tahun');
  80. $triwulan = $this->input->post('triwulan');
  81.  
  82. $v_array = $this->input->post();
  83.  
  84. $data['tb_laporan1'] = $this->db->query("SELECT * FROM tb_lapreport
  85. WHERE MONTH(a.tanggal)='$bulan' AND YEAR(a.tanggal)='$tahun' AND a.id_organisasi
  86. GROUP BY suburusan2 ASC");
  87.  
  88. $data['tb_laporanGroup'] = $this->db->query("SELECT * FROM tb_lapreport
  89. WHERE MONTH(a.tanggal)='$bulan' AND YEAR(a.tanggal)='$tahun' AND a.id_organisasi
  90. GROUP BY d.id_program ASC");
  91.  
  92. $data['tb_laporan'] = $this->db->query("SELECT * FROM tb_lapreport
  93. WHERE MONTH(a.tanggal)='$bulan' AND YEAR(a.tanggal)='$tahun' AND a.id_organisasi");
  94.  
  95. }
  96. $data['nama_bulan'] = $v_array['bulan'];
  97. $data['nama_tahun'] = $v_array['tahun'];
  98. $data['nama_triwulan'] = $v_array['triwulan'];
  99. $this->load->view('template/header-report',$data);
  100. $this->load->view('admin/cetak',$data);
  101. $this->load->view('template/footer-report',$data);
  102.  
  103. }
  104.  
  105.  
  106. perlu penyesuaian dimana aja ?agar dapat berjalan
  107. terimakasihh
irvanhilmi
commented on 19 Des 2019 11:16:05
  1. Assalamualaikum,.. upp
Maaf, Untuk Memberikan Komentar Anda Harus Login !!!