Surabaya City Government

Client · Laravel · ERP · Payments

The ERP for Surabaya City Government's finance and asset agency, including the app residents use to pay city levies from any bank app or e-wallet.

Screenshot of Surabaya City Government

At a glance

Role
I built the whole system from scratch and run it on my own. A colleague built the billing API.
Platforms
Web. A public site, a staff workspace and a dashboard for the agency's leaders
Stack
Laravel, MySQL, Bank Jatim Virtual Account API, QRIS
Built
Since 2022

The problem

BPKAD, Surabaya City Government’s finance and asset agency, was formed in 2022 with no system of its own. For residents, paying a levy meant a trip to the city office, waiting for the amount to be worked out by hand, then a second stop at a bank.

What I built

Feature map

6 areas

BPKADOne system, one sign-in

  • Public services

    • IPT and IPR levies
    • Hall booking
    • Bill and receipt check
    • Land letters (Suket)
    • Help center
  • Payments

    • Bank Jatim VA and QRIS
    • Instalments
    • Gateway for city sites
    • Reconciliation
  • Assets

    • City asset map
    • Asset registers
    • Field surveys
    • Certificates and disputes
  • Staff workspace

    • Letters and dispositions
    • Supplies and inventory
    • Leave and permits
    • Meetings and knowledge
  • Leaders

    • Revenue against target
    • Staff overview
    • Asset overview
    • Planning documents
  • Administration

    • Users and access
    • Access templates
    • Magic links
    • Audit log

Results

Walkthrough

Screens

4 screens
Surabaya City Government: Levy payment
Levy payment · Website
Surabaya City Government: City asset map, by land use
City asset map, by land use · Website
Surabaya City Government: Revenue dashboard
Revenue dashboard · Website
Surabaya City Government: Staff dashboard
Staff dashboard · Website

Keep reading