Lompat ke kandungan utama
ENGINEERING IDEAS INTO REALITY

Aplikasi web Google Cloud untuk membandingkan perbelanjaan sebenar dengan sasaran jabatan bagi pengeluar komponen automotif di Thailand

Pelanggan: Pengeluar bahagian kenderaan (konglomerat Jepun)

Aplikasi web ini membaca laporan perbelanjaan Excel sedia ada organisasi, lalu memaparkan perbelanjaan sebenar berbanding sasaran mengikut hari, bulan dan jabatan. Kami membangunkan dan memasangnya pada Google Cloud untuk pengeluar komponen automotif di Thailand. Projek selesai pada September 2023.

Ilustrasi konsep: pangkalan data penjejakan perbelanjaan jabatan yang disesuaikan dengan keperluan sebenarBesarkan imej
Ilustrasi konsep yang dijana dengan AI untuk menerangkan kerja dalam kes ini
Industri
Automotif
Tahun
2023
Skop pekerjaan
Mereka bentuk dan membangunkan aplikasi web penjejakan perbelanjaan pada GCP milik pelanggan, merangkumi halaman penjejakan perbelanjaan harian dan bulanan, halaman ringkasan perbelanjaan mengikut jabatan yang diasingkan kepada 3 kumpulan jabatan, halaman penetapan sasaran dan muat naik fail, serta halaman ringkasan keputusan KPI, berserta dokumen ringkasan sistem semasa penutupan projek.

Ringkasan

  • Kes ini ialah aplikasi web yang membaca fail laporan perbelanjaan Excel sedia ada milik pengeluar komponen automotif di Thailand, kemudian memaparkan jumlah sebenar berbanding sasaran pada halaman web.
  • Pengguna boleh melihat perbelanjaan secara harian, jumlah terkumpul bulanan dan mengikut jabatan, yang diasingkan kepada 3 kumpulan jabatan, iaitu Direct, Indirect dan SGA. Graf bar bertukar kepada warna merah apabila jumlah sebenar melebihi sasaran.
  • Sistem berjalan dalam GCP (Google Cloud Platform) milik pelanggan, dipasang sebagai Docker pada Cloud Run, menyimpan data dalam Cloud SQL dan menyimpan fail dalam Google Cloud Storage.
  • Dokumen penutupan projek bertarikh September 2023 merumuskan bahawa nilai yang dibaca oleh sistem daripada fail sampel pengguna sepadan dengan laporan Excel.
  • Sistem memadankan jumlah sebenar dengan sasaran berdasarkan kod jabatan, jadi semua set fail sumber mesti menggunakan nama lajur dan kod jabatan yang sepadan.
01

Masalah di tapak

Jumlah perbelanjaan sebenar dan sasaran belanjawan setiap jabatan berada dalam beberapa set fail laporan Excel. Pelanggan mahu melihat dalam satu halaman jabatan mana yang berbelanja melebihi sasaran, bagi jumlah harian dan jumlah terkumpul bulanan, dengan pengasingan mengikut 3 kumpulan jabatan, iaitu Direct, Indirect dan SGA.

02

Apa yang kami lakukan

Kami membangunkan aplikasi web dengan Next.js dan Python FastAPI (alat untuk membina halaman web dan sistem bahagian belakang), dipasang pada Google Cloud Run (perkhidmatan untuk menjalankan program pada Google Cloud) dalam GCP (Google Cloud Platform) milik pelanggan. Pengguna memuat naik fail jumlah sebenar dan fail sasaran, kemudian sistem memaparkan jumlah harian, jumlah terkumpul dan ringkasan mengikut jabatan berserta keputusan penilaian O/X. Graf bar bertukar kepada warna merah apabila jumlah sebenar melebihi sasaran.

03

Hasil

Kami menutup projek berserta dokumen ringkasan sistem pada September 2023. Dokumen penutupan projek merumuskan bahawa nilai yang dibaca oleh sistem daripada fail sampel pengguna (data bulan Jun 2023) sepadan dengan laporan Excel. Selepas penutupan projek, kami masih menyemak ketepatan data, membuat pembetulan berdasarkan maklum balas pengguna dan menyediakan permintaan perubahan versi terkini pada Disember 2023.

Latar belakang masalah

Cabaran ini timbul kerana jumlah sebenar dan sasaran belanjawan berada dalam set fail laporan Excel yang berlainan. Jumlah sebenar terdapat dalam laporan perbelanjaan sebenar yang terperinci, manakala sasaran terdapat dalam fail kawalan perbelanjaan mengikut akaun bagi setiap jabatan. Oleh itu, sebelum memaparkan hasil, sistem perlu memadankan jumlah daripada kedua-dua set fail mengikut jabatan terlebih dahulu.

Sistem ini merupakan sebahagian daripada projek pelanggan yang bertujuan menyatukan data dalaman organisasi daripada pelbagai sumber ke dalam satu pangkalan data pada GCP (Google Cloud Platform, perkhidmatan awan Google). Oleh itu, sistem penjejakan perbelanjaan perlu berjalan dalam GCP milik pelanggan sendiri. Dalam pakej kerja yang sama, kami turut membangunkan modul lain pada pangkalan data pusat pada Google Cloud yang menggabungkan KPI, kecacatan, jualan dan keuntungan.

Keperluan dan kekangan

Sistem perlu menggunakan fail laporan Excel sedia ada milik pelanggan sebagai data input dan perlu berjalan dalam GCP milik pelanggan. Keperluan dan kekangan utama adalah seperti berikut.

  • Membaca fail jumlah sebenar dan fail sasaran yang dimuat naik oleh pengguna, kemudian memadankan jumlah sebenar dengan sasaran berdasarkan kod jabatan (Department Code).
  • Memaparkan jumlah harian dan jumlah terkumpul bulanan berbanding sasaran, serta merumuskan hasil mengikut jabatan.
  • Menyusun jabatan ke dalam 3 kumpulan, iaitu Direct, Indirect dan SGA, berdasarkan fail pengelompokan jabatan yang ditetapkan oleh pelanggan.
  • Dipasang dalam GCP milik pelanggan dan tertakluk kepada dasar keselamatan maklumat (IS) organisasi.
  • Nama lajur, nama jabatan dan kod jabatan dalam fail sumber mesti sepadan. Semasa projek, pelanggan perlu terlebih dahulu melaraskan lajur dan menambah kod jabatan dalam sesetengah fail.

Apakah Direct, Indirect dan SGA dalam sistem ini?

Dalam sistem ini, Direct, Indirect dan SGA (Selling, General and Administrative, iaitu kerja jualan dan pentadbiran) ialah kumpulan jabatan. Sistem menyusun setiap jabatan ke dalam kumpulan berdasarkan fail yang ditetapkan oleh pelanggan, kemudian menjumlahkan perbelanjaan mengikut kumpulan. Oleh itu, nama jabatan dalam fail pengelompokan mesti sepadan dengan fail data input.

Bagaimanakah sistem ini membaca fail Excel sedia ada dan membandingkan jumlah sebenar dengan sasaran?

Sistem ini membaca fail laporan Excel yang dimuat naik oleh pengguna, menjumlahkan angka mengikut jabatan, kemudian membandingkannya dengan sasaran dan memaparkannya sebagai graf dan jadual pada pelayar web. Oleh itu, sistem boleh menggunakan set fail sedia ada sebagai data input, tetapi format fail mesti kekal sama pada setiap pusingan kerana sistem membaca berdasarkan nama lajur dan kod jabatan.

Mengikut keperluan, sistem menggunakan set fail Excel sedia ada sebagai data input dan berjalan dalam GCP milik pelanggan, dengan pemasangan sebagai Docker (pakej pemasangan program berasingan yang boleh dipindahkan antara mesin) pada Cloud Run, menyimpan data dalam Cloud SQL (pangkalan data pada Google Cloud) dan menyimpan fail dalam Google Cloud Storage (GCS, storan fail pada Google Cloud).

  1. 1

    Muat naik fail jumlah sebenar dan fail sasaran

    Pada halaman penetapan sasaran KPI (petunjuk prestasi) bernama KPI Target Setting, pengguna memuat naik fail laporan perbelanjaan sebenar dan fail kawalan perbelanjaan mengikut akaun bagi setiap jabatan yang digunakan sebagai sasaran. Sistem menyimpan fail dalam GCS dan menyimpan data yang dibaca dalam Cloud SQL.

  2. 2

    Lihat jumlah harian berbanding sasaran

    Halaman Expense Budget Control As of Today memaparkan perbelanjaan harian dan jumlah terkumpul bulanan berbanding sasaran, dengan pengasingan kumpulan jabatan Direct dan Indirect. Bar graf bertukar kepada warna merah apabila jumlah sebenar melebihi sasaran, dan paparan boleh ditapis mengikut akaun, jabatan atau item perbelanjaan.

  3. 3

    Ringkasan mengikut jabatan berserta keputusan penilaian

    Halaman Expense Summary memaparkan sasaran, jumlah sebenar, perbezaan dan nisbah bagi setiap jabatan, dengan pengasingan Direct, Indirect dan SGA. Sistem memberikan keputusan O apabila jumlah sebenar tidak melebihi sasaran, dan X apabila melebihi sasaran. Pengguna boleh menekan butang sunting (Edit) untuk merekod analisis setiap jabatan dalam jadual.

  4. 4

    Lihat keputusan KPI keseluruhan dalam satu halaman

    Halaman ringkasan keputusan KPI semasa dan bulanan mengambil sasaran dan jumlah sebenar daripada halaman perbelanjaan untuk memaparkan status mengikut warna. Pengguna boleh menekan keputusan penilaian untuk membuka halaman butiran.

Hasil penyerahan

Kami menyerahkan aplikasi web yang dipasang dalam GCP milik pelanggan, berserta dokumen ringkasan sistem semasa penutupan projek. Cara kerja setiap halaman diterangkan dalam langkah pada bahagian sebelum ini.

  • Aplikasi web dalam GCP milik pelanggan, dengan halaman KPI Target Setting, Expense Budget Control As of Today, Expense Summary serta halaman ringkasan keputusan KPI semasa dan bulanan.
  • Dokumen ringkasan sistem semasa penutupan projek

Langkah kerja dan permintaan perubahan

Kerja ini mempunyai permintaan perubahan (Change Requirement) sejak semasa pembangunan hingga selepas penutupan projek. Kami merekod setiap permintaan sebagai dokumen permintaan perubahan. Urutan kerja yang mempunyai dokumen adalah seperti berikut.

  1. September 2023, semasa pembangunan: pengguna meminta penambahan halaman laporan perbelanjaan bulanan bagi semua jabatan, dan kami merekodkannya sebagai permintaan perubahan.
  2. September 2023: penutupan projek berserta dokumen ringkasan sistem.
  3. Selepas penutupan projek: menyemak ketepatan data dan membuat pembetulan berdasarkan maklum balas pengguna (feedback).
  4. Disember 2023: menyediakan permintaan perubahan versi terkini bagi halaman Expense Summary, contohnya kategori sebab yang menyokong ulasan (melebihi belanjawan, perbelanjaan tidak mengikut tempoh masa, dapat berjimat, atau mengikut belanjawan).

Adakah angka pada halaman web sepadan dengan laporan Excel asal?

Dokumen penutupan projek bertarikh September 2023 merumuskan bahawa nilai yang dibaca oleh aplikasi web penjejakan perbelanjaan daripada fail sampel pengguna (data bulan Jun 2023) sepadan dengan laporan Excel. Ujian menggunakan fail sampel daripada pengguna, kemudian membandingkan hasil pada halaman web dengan set laporan Excel asal.

Semasa ujian, hasil pengiraan di beberapa tempat tidak sepadan dengan jawapan rujukan pengguna, lalu kedua-dua pihak bersetuju semula tentang kaedah pemeriksaan penerimaan. Selepas penutupan projek, kami masih terus menyemak ketepatan data bersama pengguna. Kes ini tidak mempunyai angka pengukuran hasil perniagaan, jadi kami hanya melaporkan hasil yang disahkan oleh dokumen.

Apakah yang kita pelajari

Kerja ini memberikan 3 prinsip bagi sistem yang membaca fail laporan sedia ada untuk dipaparkan di web.

  • Semua set fail mesti mempunyai kunci yang sama sebelum data dipadankan. Dalam kerja ini, nama jabatan dalam fail pengelompokan tidak sepadan dengan fail data input, jadi sistem menggunakan kod jabatan sebagai asas pemadanan, dan pelanggan terlebih dahulu melaraskan fail sumber supaya sepadan.
  • Persetujui jawapan rujukan dan kaedah pemeriksaan penerimaan sebelum ujian bermula. Jika jawapan rujukan dan kaedah perbandingan hasil masih belum jelas, hasil pengiraan yang tidak sepadan akan menyebabkan kaedah pemeriksaan penerimaan perlu dipersetujui semula semasa projek, seperti yang berlaku dalam kerja ini.
  • Permintaan paparan baharu mungkin timbul semasa pembangunan, dan wajar direkodkan sebagai dokumen permintaan perubahan yang berasingan daripada skop asal. Dalam kerja ini, permintaan halaman laporan perbelanjaan bagi semua jabatan timbul semasa pembangunan, dan kami merekodkannya sebagai permintaan perubahan.

Cara menggunakan pendekatan ini pada kerja anda

Jika organisasi anda sudah mempunyai laporan perbelanjaan dan sasaran belanjawan dalam bentuk fail Excel, anda boleh menggunakan pendekatan yang sama seperti kes ini, iaitu memuat naik fail sedia ada, memadankan jumlah sebenar dengan sasaran berdasarkan kod jabatan, kemudian memaparkan hasil secara harian, bulanan dan mengikut jabatan. Perkara yang perlu disesuaikan ialah format fail, pengelompokan jabatan, formula pengiraan dan lokasi pemasangan sistem.

Bahagian yang boleh digunakan semula dan bahagian yang perlu diubah suai

Bahagian sistemBoleh digunakan semulaPerlu diubah suai apabila
Data inputMuat naik fail laporan Excel bagi jumlah sebenar dan sasaranJika fail anda mempunyai lajur atau kod jabatan yang berbeza daripada kes ini, format fail baharu perlu dipersetujui.
PengelompokanPenjumlahan mengikut kumpulan jabatan daripada fail pengelompokan yang ditetapkan oleh organisasiJika organisasi anda membahagikan kumpulan secara berbeza daripada Direct, Indirect dan SGA, fail pengelompokan baharu perlu ditetapkan.
PaparanHalaman jumlah harian, jumlah terkumpul, ringkasan mengikut jabatan dan keputusan penilaian O/XJika formula jumlah terkumpul atau sasaran terkumpul anda berbeza daripada kes ini, formula perlu dipersetujui sebelum pembangunan.
PemasanganDocker pada Cloud Run dengan Cloud SQL dan GCS dalam GCP organisasiJika organisasi anda tidak menggunakan GCP atau mahu menyimpan data pada pelayan di kilang, pemasangan perlu direka bentuk semula.
  • Sediakan fail sampel yang benar-benar digunakan berserta hasil pengiraan yang betul (jawapan rujukan), dan persetujui kriteria pemeriksaan penerimaan dengan jelas.
  • Persetujui formula jumlah terkumpul, sasaran terkumpul dan penyusunan jabatan ke dalam kumpulan sebelum pembangunan bermula.
  • Sediakan hak akses dan dasar keselamatan awan di pihak organisasi, jika sistem perlu dipasang dalam awan organisasi sendiri.
  • Rancang proses penerimaan permintaan perubahan dari awal, kerana permintaan halaman laporan tambahan mungkin timbul semasa pembangunan, seperti dalam kes ini.

Teknologi yang digunakan

Next.jsPython FastAPIDocker pada Google Cloud RunCloud SQLGoogle Cloud Storage (GCS)Muat naik fail laporan ExcelPapan pemuka perbelanjaan berbanding sasaran

Soalan Sering Ditanya

Adakah cara penyediaan laporan perbelanjaan sedia ada perlu diubah?

Fail laporan Excel sedia ada boleh digunakan sebagai data input, tetapi sesetengah bahagian fail mungkin perlu dilaraskan terlebih dahulu. Dalam kes ini, pengguna memuat naik fail laporan ke aplikasi web, kemudian sistem mengira jumlah terkumpul dan membandingkannya dengan sasaran. Semasa projek, lajur dan nama jabatan perlu dilaraskan serta kod jabatan (Department Code) perlu ditambah dalam fail supaya sepadan. Selepas itu, format fail mesti kekal tetap kerana sistem membaca berdasarkan nama lajur dan kod jabatan.

Di manakah sistem dipasang dan apakah teknologi yang digunakan?

Dalam kes ini, sistem dipasang pada GCP (Google Cloud Platform) milik pelanggan. Antara muka dibina dengan Next.js, manakala sistem bahagian belakang menggunakan Python FastAPI yang berjalan sebagai Docker (pakej pemasangan perisian bermodul yang boleh dipindahkan antara mesin) pada Cloud Run (perkhidmatan untuk menjalankan perisian di Google Cloud). Data disimpan dalam Cloud SQL (pangkalan data di Google Cloud) dan fail disimpan dalam Google Cloud Storage (GCS).

Bagaimanakah ketepatan angka pada halaman web dapat diperiksa?

Bandingkan hasil pada halaman web dengan laporan Excel sedia ada menggunakan fail sampel daripada pengguna. Dalam kes ini, kami menyediakan senarai semakan penerimaan (Exit Criteria) mengikut setiap keperluan. Semasa ujian, sebahagian hasil tidak sepadan dengan jawapan rujukan pengguna, lalu kedua-dua pihak bersetuju tentang kaedah penerimaan yang baharu. Dokumen penutupan projek bertarikh September 2023 merumuskan bahawa nilai yang dibaca oleh sistem sepadan dengan laporan. Selepas itu, kami terus memeriksa ketepatan data dan membuat pembetulan berdasarkan maklum balas pengguna.

Bolehkah halaman laporan atau paparan baharu ditambah kemudian?

Boleh, dengan merekodkannya sebagai permintaan perubahan (Change Requirement) dan mempersetujui skop terlebih dahulu. Dalam kes ini, semasa pembangunan, pengguna meminta tambahan halaman laporan perbelanjaan bulanan bagi semua jabatan, dan selepas penutupan projek, kami menyediakan permintaan perubahan bertarikh Disember 2023 untuk halaman Expense Summary, seperti kategori alasan bagi ulasan.

Berapakah harga dan tempoh pembangunan?

Tiada harga tetap. Harga bergantung pada bilangan halaman, formula pengiraan dan kesediaan fail data sumber. Hubungi kami untuk mendapatkan sebut harga. Kami membuat penilaian berdasarkan fail sampel dan keperluan anda.

Mahukan sistem seperti ini dalam kerja anda?