Aplikasi Sistem Pengajuan Transaksi Pengeluaran merupakan aplikasi berbasis Laravel 13 dan Filament 4 yang digunakan untuk mengelola proses pengajuan biaya perusahaan secara digital, mulai dari pembuatan pengajuan, workflow approval bertingkat, pembayaran, monitoring budget, dashboard KPI hingga audit activity log.
- PHP 8.3+
- Laravel 13
- Filament 4
- Livewire
- MySQL
- Spatie Laravel Permission
- Vite
- Laragon (Development Environment)
- Login Administrator
- Role Based Access Control (RBAC)
- Administrator
- Staff
- Supervisor
- Manager
- Director
- Finance
- CRUD Kategori
- Support Purchase Order
- Deskripsi Kategori
- Budget Tahunan
- Budget per Kategori
- Total Budget
- Budget Terpakai
- Sisa Budget
- Create Draft
- Edit Draft
- Delete Draft
- Submit Pengajuan
- Upload Lampiran
- Download Lampiran
- Auto Generate Nomor Pengajuan
Contoh nomor pengajuan:
SUB-20260710-0001
Workflow approval ditentukan secara otomatis berdasarkan nominal pengajuan.
| Nominal | Workflow |
|---|---|
| ≤ Rp5.000.000 | Supervisor → Finance |
| > Rp5.000.000 | Supervisor → Manager → Finance |
| > Rp10.000.000 | Supervisor → Manager → Director → Finance |
Director
↓
Finance
Setelah seluruh approval selesai maka sistem akan:
- Membuat data Payment otomatis
- Mengurangi Budget secara otomatis
- Mengubah status menjadi Paid
- Mencatat Activity Log
Dashboard menampilkan informasi secara real-time:
- Total Pengajuan
- Menunggu Approval
- Sudah Dibayar
- Ditolak
- Total Budget
- Budget Terpakai
Seluruh aktivitas sistem akan dicatat secara otomatis.
Contoh aktivitas:
- CREATE_SUBMISSION
- SUBMIT_SUBMISSION
- SUBMIT_APPROVAL
- APPROVE
- NEXT_APPROVER
- REJECT
- FINISH_APPROVAL
- CREATE_PAYMENT
- PAYMENT_SUCCESS
Setiap log menyimpan:
- User
- Nomor Pengajuan
- Aktivitas
- Deskripsi
- IP Address
- Waktu Aktivitas
Beberapa aturan bisnis yang diterapkan pada aplikasi:
- Pengajuan hanya dapat diedit ketika masih berstatus Draft.
- Pengajuan hanya dapat dihapus ketika masih Draft.
- Budget harus tersedia sebelum pengajuan dikirim.
- Workflow approval ditentukan otomatis berdasarkan nominal pengajuan.
- Purchase Order memiliki workflow approval yang berbeda.
- Setelah approval Finance selesai maka Payment dibuat otomatis.
- Budget akan otomatis berkurang setelah pembayaran berhasil.
- Seluruh aktivitas sistem dicatat pada Activity Log.
app/
├── Filament/
│ ├── Resources/
│ ├── Widgets/
│ └── Pages/
│
├── Models/
│
├── Services/
│ ├── SubmissionService.php
│ ├── ApprovalService.php
│ ├── BudgetService.php
│ ├── PaymentService.php
│ └── ActivityLogService.php
│
└── Providers/
database/
├── migrations/
└── seeders/
public/
resources/
storage/
Pastikan environment berikut telah tersedia:
- PHP 8.3+
- Composer
- Node.js & NPM
- MySQL
- Laragon (direkomendasikan) atau web server lain yang mendukung Laravel
git clone https://github.com/think29/pengajuan-transaksi.gitMasuk ke folder project
cd pengajuan-transaksicomposer installInstall Node Module
npm installCopy file environment
cp .env.example .envGenerate application key
php artisan key:generateKonfigurasi database pada file .env
APP_NAME="Sistem Pengajuan Transaksi Pengeluaran"
APP_URL=http://127.0.0.1:8000
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=pengajuan_transaksi
DB_USERNAME=root
DB_PASSWORD=php artisan migratephp artisan db:seedphp artisan storage:linkProduction
npm run buildatau selama development
npm run devphp artisan serveAplikasi dapat diakses melalui
http://127.0.0.1:8000/admin
| Role | Password | |
|---|---|---|
| Administrator | admin@company.test | password |
| Staff | staff@company.test | password |
| Supervisor | spv@company.test | password |
| Manager | manager@company.test | password |
| Director | director@company.test | password |
| Finance | finance@company.test | password |
Business Logic dipisahkan menggunakan Service Layer agar:
- lebih mudah dipelihara
- reusable
- mengikuti prinsip Single Responsibility
- meminimalkan logic pada Filament Resource
- memudahkan proses testing
Service yang digunakan:
- SubmissionService
- ApprovalService
- BudgetService
- PaymentService
- ActivityLogService
Draft
↓
Submit Pengajuan
↓
Supervisor
↓
Manager
↓
Director
↓
Finance
↓
Payment
↓
Paid
Setiap aktivitas penting pada sistem akan dicatat secara otomatis, meliputi:
- User
- Nomor Pengajuan
- Aktivitas
- Deskripsi
- IP Address
- Timestamp
Hal ini memudahkan proses monitoring serta audit terhadap seluruh transaksi yang terjadi pada sistem.
Project ini terdiri dari:
- Source Code Laravel
- Database Migration
- Database Seeder
- Dashboard KPI
- Workflow Approval
- Activity Log
- README.md
Project dikembangkan menggunakan:
- Laravel 13
- Filament 4
- Service Layer Architecture
- Spatie Laravel Permission
- MySQL Database
- KPI Dashboard
- Activity Logging
- Multi Level Approval Workflow
Ayik Mardiansah
Tes Praktik IT Developer
Laravel 13 + Filament 4
Copyright © 2026