OSS RBA
OSS RBA
OSS is the single door for business licensing in Indonesia: a company registers, gets its NIB, and then collects whatever its risk level and sector actually require — a Sertifikat Standar, a full Izin, PB-UMKU for supporting activities, or a sector approval like PPKH for forest-area use. The hard part is never one form; it is that each permit pulls in a different ministry with its own system and its own clock.
What it does
- Licensing paths driven by risk level: NIB alone for low risk, Sertifikat Standar or a full Izin as risk rises.
- PB-UMKU and sector permits such as PPKH, each routed to the agency that owns the decision.
- Secure data exchange with ESDM, KLHK and DJP so agencies verify against the same record.
- Event-driven SLA engine processing thousands of events a day, lifting workflow efficiency by 40%.
- Implemented the national KBLI code expansion so business classification stayed accurate platform-wide.
- Kept licensing compliant after a policy change following the presidential transition.
How it fits together
- Step 1Registration
- Step 2Classification
- Step 3Permit path
- Step 4Agency review
- Step 5Issued
Diagrams
How the product behaves, and how the pieces behind it talk to each other.


Stack
- GolangTypeScriptNestJSPHPMicroservices
- PostgreSQLRedis
- RabbitMQEvent-driven
- Red Hat OpenShiftCI/CD
Worth noting
- Risk level, not paperwork, decides the path — the same KBLI code can end at an NIB or at a full sector permit.
- Multi-agency workflows mean failure has to be explicit: a request must never silently stall between two institutions.
- Messaging carries the work between services, so a slow agency integration does not block the rest of the queue.