How to set a sample for a project and also define a time for enumerators to make submissions?

@shuhadaa, making a long response to your post assuming that my response would benefit our entire KoboToolbox community. My example shared below should address the following:

  • Define sample size for the project: Allows only 300 submissions for this project (not more than that). But you could make changes (as needed in the XLSForm) to customize your needs.

  • Define sub-sample for the project: Allows only 5 submissions per site (a variable used inside this example). The XLSForm has 5 sample sites so as a user, Site 1 can only submit 5 times. Same with the other sites. Meaning submissions ticked with Site 2, Site 3, Site 4, and Site 5, can only be submitted 5 times per site. But you could make changes (as needed in the XLSForm) to address these needs too.

  • Define a daily submission record to the server: Allows only 20 submissions per day (and no more than that). You could however make changes to that too by making changes to your XLSForm (as needed).

  • Define time to submit a submission to the server: Allows an enumerator to make submissions to the server only between a defined time frame i.e. from 9 AM to 5 PM (no before and after that). You should be able to learn more about this XLSForm design from our previous post.

  • Automatically filter the services: Automatically filter the services available for the day based on the weekdays when the registration was made.

  • Automatically provide appointment: Automatically provide appointment time based on the number of registrations made on that day. I have made a sample for that day but for best results, you could change the appointment to the next day.


Please note that this example uses the Dynamic Data Attachment Feature where you will need to link the project dynamically to itself by following this support article.

Please also note that this example works best if a submission is submitted to the server in an interval of 5 minutes as the Dynamic Data Attachment takes 5 minutes to sync the data between the form and the server.


Survey tab in your XLSForm:

Choices tab in your XLSForm:

Data entry screen as seen in Enketo:

This is how it is seen when you make a first submission.

Data entry screen as seen in Enketo:

You will automatically start getting an appointment time from your second submission.

Data entry screen as seen in Enketo:

You will start getting a warning once the submission quota for Site 1 has reached (it’s sub-sample defined in the XLSForm).

Data entry screen as seen in Enketo:

The warning goes off if you select another site (on the same day).

Data entry screen as seen in Enketo:

You will get a warning once the submission quota for that day has been reached (as defined in the XLSForm).

Data entry screen as seen in Enketo:

You will see this error message if you try to make registration beyond the registration time (as defined in the XLSForm).


Reference XLSForm:

Case Management (Limiting Submissions By Date & Conditions).xlsx (11.8 KB)

cc: @ambassadors

3 Likes