Overview
A full-stack web platform to manage the physical custody and lifecycle of BPKB documents (vehicle ownership certificates) across a large corporate vehicle fleet. The system tracks where every document physically sits, records every hand-over and status change, and coordinates document flow between the head office, branches, finance, and external partners.
The centerpiece is a comprehensive Audit Trail and Transaction History module, enabling granular tracking of every document movement, hand-over, and location change to ensure full accountability.
The Problem
BPKB documents are high-value legal papers that must be physically stored, moved, and handed over between many parties — head office, branch offices, finance, and external partners. Managing thousands of these documents manually creates real risk: documents get misplaced, custody is unclear, and there's no reliable record of who held a document, when, and where it was stored. The business needed a single system that guaranteed full traceability and accountability for every document, tied to accurate vehicle master data.
Architecture
The platform is built as a multi-application ecosystem sharing one core:
- Internal Web App — used by head-office and branch staff to run the full document lifecycle: input/receipt, issuing, returns, storage management, and label printing.
- External Web App — a partner-facing portal for external return transactions, secured through registered client applications.
- BPKB Core API — the shared backend that both web apps consume. It handles authentication, authorization (roles, menus, permissions), client-app management, and all transaction endpoints.
- SAP Integration — vehicle master data is synchronized from SAP so the document records always map to accurate equipment data.
Key Features
Audit Trail & Transaction History (core module)
Every action on a document — receipt, issuing, return, disposal, funding, location change, hand-over — is written to an equipment history record. This gives a complete, chronological chain of custody for each document and vehicle, so the business can always answer who held this, when, and where it was stored. Later enhancements refined how history records are captured to keep the trail clean and accurate.
Document Lifecycle & Transactions
The system covers the full document workflow: input receipt (receipt to finance), issuing to branches, internal returns, and external returns — including cancel-with-reason and correction flows. External returns run through a proper approval workflow (approve / reject-with-reason) managed from the internal web app.
Physical Storage & Label Management
Documents are tracked down to their physical storage location — safe (brankas), row, tray, and label. Staff can print storage and receipt labels, and update a document's location as it moves, keeping the digital record in sync with the physical filing system.
SAP Data Synchronization
An Airflow-based sync keeps the platform's vehicle master data aligned with SAP, covering fields such as company, area, equipment number, capacity, transmission, type, color, year, plate number, chassis number, engine number, vendor, and status. This ensures document records are always attached to correct, up-to-date equipment information.
External Partner Portal
External partners access the system through registered client applications with their own login. The core API supports creating, activating, and terminating client apps, and exposes controlled endpoints for external return transactions — searching equipment by number/chassis/engine/plate, building return item lists, and submitting returns for internal approval.
QR & NFC Scanning
To speed up and reduce errors in document handling, the external return flow supports QR code scanning via camera for fast item input. An NFC reader trial was also explored to identify documents by their embedded smart chip using standard NFC/NDEF formats. Since only a limited public identifier is reliably accessible, the approach settled on mapping each card's unique NFC ID to its document record at intake, so NFC scanning stays dependable across every process afterward.
Tech Stack
- Backend: PHP / Laravel (BPKB Core API + web backends)
- Frontend: Vue.js
- Integration: SAP master-data sync via Airflow
- Hardware/IoT: QR camera scanning, NFC card reader (trial)
My Role
Fullstack Developer — built and maintained the core API, internal and external web applications, the audit-trail/transaction-history module, SAP synchronization, and the QR/NFC scanning capabilities, with ongoing enhancements to the document lifecycle and history tracking over the life of the project.