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

  1. Step 1RegistrationBusiness registers and receives its NIB
  2. Step 2ClassificationKBLI code sets the sector and risk level
  3. Step 3Permit pathSertifikat Standar, Izin, PB-UMKU or a sector permit
  4. Step 4Agency reviewData exchanged with the ministry that decides
  5. Step 5IssuedSLA engine tracks it until the permit is out

Diagrams

How the product behaves, and how the pieces behind it talk to each other.

Business flow
Business flow diagram for OSS RBA
System flow
System flow diagram for OSS RBA

Stack

Services
GolangTypeScriptNestJSPHPMicroservices
Data
PostgreSQLRedis
Messaging
RabbitMQEvent-driven
Platform
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.
Generating0%