The reporting stack currently uses mostly Nifi to synchronize OpenLMIS v3 data into the OpenLMIS v3 reporting database. This leads to unreliable and delayed data synchronization for reporting data. An alternative is to use a streaming approach with Kafka, Kafka Connect and Debezium to synchronize the data, with near real-time results. The reporting stack originally had Kafka and related components, but it was discarded early on. This task is to reintroduce it, to utilize the benefits of streaming architecture.