Executive Summary
The UPLB Asset Management System (AMS) is a centralized portal for tracking the university’s physical and IT assets across its colleges and administrative units. It replaces a patchwork of spreadsheets and paper property cards with a single source of truth: a QR-tagged asset registry, custodianship and transfer history, depreciation schedules, and audit-ready inventory reporting.
The system is used by property officers, unit custodians, and auditors to register assets, assign accountability, run annual physical counts, and generate the Property Acknowledgement Receipts (PAR) and Inventory Custodian Slips (ICS) required by the Commission on Audit (COA). It turns a multi-week, error-prone reconciliation process into a real-time, reportable one.
Business Problem
UPLB managed thousands of assets — laboratory equipment, IT hardware, furniture, and vehicles — through disconnected spreadsheets maintained per unit, backed by paper PAR/ICS forms. This created compounding problems:
- No single source of truth. Each unit kept its own records in its own format, so the same asset could appear differently (or not at all) across files.
- Painful annual physical count. Reconciling physical inventory against records was manual and took weeks, with frequent discrepancies and recurring COA audit findings.
- Weak accountability trail. Transfers between custodians were recorded informally, making it hard to establish who was accountable for an asset at any point in time.
- No standardized reporting. PAR/ICS forms and inventory reports were assembled by hand, leading to inconsistent, error-prone documents.
The university needed a digital system that enforced government property-accounting rules and produced a defensible, auditable record of every asset.
My Responsibilities
I led the system end-to-end as the primary full-stack engineer:
- Domain modeling & schema design. Designed the PostgreSQL data model for assets, custodians, units, transfers, and the PAR/ICS accountability records.
- Admin platform. Built the back-office on Laravel + Filament, including resource CRUD, multi-unit data scoping, and role-based access for property officers, custodians, and auditors.
- Asset tagging workflow. Implemented QR-code generation and a scan-to-locate workflow used during physical counts.
- Document generation. Built PAR/ICS and inventory report generation as print-ready PDFs aligned with COA formats.
- Data migration. Wrote the importers and reconciliation tooling to bring legacy spreadsheet records into the system.
- Deployment. Containerized the application with Docker and set up the deployment pipeline.
Technical Highlights
- Laravel + Filament for a rapidly-iterated admin platform with strong form and table primitives, extended with custom actions and bulk operations.
- PostgreSQL as the system of record, with a normalized model for asset lifecycle, custodianship, and transfer history.
- QR-tagged registry — every asset carries a unique QR tag that resolves to its record, used for scan-based location and verification during inventory.
- COA-compliant PDF generation for PAR, ICS, and inventory reports, driven by a template-based PDF builder so layouts can change without code changes.
- Role- and unit-scoped access control, so custodians see only their unit’s assets while property officers and auditors get cross-unit visibility.
- Append-only audit trail capturing registrations, transfers, and status changes for accountability and audit defense.
- Dockerized deployment for reproducible environments from development to production.
Key Engineering Challenges
- Legacy data migration. Importing thousands of records from inconsistent spreadsheets meant building tolerant parsers, deduplication heuristics, and a human-in-the-loop review step to resolve conflicts before committing data.
- Encoding government accounting rules. Philippine property accounting splits records into PAR (higher-value capital assets) and ICS (lower-value semi-expendable items) by cost threshold. Modeling these rules — and the transfer and disposal flows around them — correctly was central to passing audit.
- Reconciling the physical count. Supporting an annual count where many custodians scan and verify assets concurrently required careful handling of in-progress count state and clean diffs between recorded and physically-present inventory.
- Trustworthy reporting at scale. Generating accurate depreciation and inventory reports across large asset sets meant keeping aggregate queries fast while ensuring the numbers reconciled exactly to the underlying records.