Bulk Load app 3.5.1 now available

Bulk Load app 3.5.1

Bulk Load is a DHIS2 Web Application to generate templates (Excel sheets) for datasets and programs and import multiple data values (as aggregated or events) into DHIS2 instances.

Bulk Load can:

  • Generate on-the-fly an Excel template reading the metadata from a program/dataset
  • Populate the template with the data the server has
  • Load at once all data in filled in the templates detecting overrides and duplicates

We are announcing the new release version 3.5.1 of Bulk Load.

View on Github

New Features

This new version of Bulk Load app includes the following new features:

  • Add Attribute option combo for data sets
  • Mandatory fields are labelled with a * in the excel template
  • Add Portuguese as a language
  • Add translations for Portuguese, French and Spanish
  • Bugfixes: please find the detail of bugs in the detailed release notes

  • Release Information Links
    Installable zip file Download
    Source code on Github Download

    Funded by:
    Developed by:

    Thanks, exactly what we need.


    @ifoche this great, as others say this is what we all were looking for. can event id be blank when we populate the template? or is there a way to generate event id?

    @Derebe Thank you! It’s been a hard work from our team and WHO that funded and co-designed the tool

    Sure you can leave event id blank and the system will understand that it is a new event what you provide. To populate the template with event ids, you just have to check the checkbox “Populate template with data” when generating the template. Then, if any data exists for the given dates, the events will be populated in the template, so you can decide to modify them offline and later upload them back to the platform.

    You will see that there’s a setting defining the detection of duplicates. The app will detect:

    1. If there is data with event UID…which will only be updated instead of generating duplicates
    2. Will check whethere there is any existing event that can be consider as a duplicate of what you sent and propose you to continue loading them, import only what’s not a duplicate or cancel the operation

    The definition of duplicates is also a setting. You can decide which DEs are considered when analyzing what’s a duplicate, and you can also define the time frame to look for a duplicate around every event.

    I hope you’ll like it!


    Thank you gain @ifoche I was trying to import and I encountered duplicate records imported. any advice on how to remove duplicates?

    Hi @Derebe. Unfortunately, the app can detect duplicates of what you’re about to import and avoid loading them into the system if you don’t want to do it, but it doesn’t have any feature to deal with what’s already in the system (removing previously existing duplicates). However, if you didn’t tell the app to go ahead with the import of duplicates, it shouldn’t do it.