# Project and form structure

**URL:** <https://community.epicollect.net/t/project-and-form-structure/1294>\
**Category:** General\
**Created:** [September 26, 2026, 8:43am UTC](https://community.epicollect.net/t/project-and-form-structure/1294 "2026-09-26T08:43:01Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![jeremy.worrell](https://community.epicollect.net/letter_avatar_proxy/v4/letter/j/87869e/32.png) [@jeremy.worrell](https://community.epicollect.net/u/jeremy.worrell)\
**Post date:** [September 26, 2026, 8:43am UTC](https://community.epicollect.net/t/project-and-form-structure/1294/1 "2026-09-26T08:43:02Z")

</div>

### Project Name (if applicable, otherwise just type n/a)

n/a

### Question

I work with an organisation that runs wildlife surveys. We want an Epicollect project with a form for the survey event itself, then multiple types of child form (with different fields) for different types of species sighting in that survey. Each child form would be completed N times, once for each sighting.

It seems that Epicollect simply can’t do this. Right?

### I confirm I have read the User Guide at [docs.epicollect.net](http://docs.epicollect.net)

on

### I confirm I have searched for an answer in this community.

on

### I confirm I have tried asking the same question to Perplexity AI with the tag #epicollect5, but it did not help.

on

---

<div class="post-metadata">

**Author:** ![Epicollect5](https://community.epicollect.net/user_avatar/community.epicollect.net/epicollect5/32/2653_2.png) [@Epicollect5](https://community.epicollect.net/u/Epicollect5)\
**Post date:** [September 26, 2026, 8:44am UTC](https://community.epicollect.net/t/project-and-form-structure/1294/2 "2026-09-26T08:44:27Z")

</div>

A parent form cannot have multiple different child forms. Epicollect5’s hierarchy is essentially:

```auto
Survey
  └── Sighting
       └── ...

```

**However, there is an important Epicollect5 feature that actually fits your use case quite well: branches.**

You could model it as:

```auto
SURVEY
  ├── Bird sightings [branch, repeatable]
  ├── Mammal sightings [branch, repeatable]
  ├── Amphibian sightings [branch, repeatable]
  └── Insect sightings [branch, repeatable]

```

Each branch can have its **own completely different set of questions** , and each branch can be added multiple times to the same Survey entry. Epicollect5 specifically describes branches as dynamic/repeatable sub-forms, including the example of repeatedly recording different entities against one parent entry. ([Epicollect](https://docs.epicollect.net/formbuilder/branches?utm_source=chatgpt.com "Branches | Epicollect5 User Guide"))

So, for your wildlife example:

```auto
Survey
────────────────────────────
Date: 26 Sep 2026
Location: ...
Observer: ...
Weather: ...

Bird sightings: 3
  ├─ Species: Robin
  │ Count: 2
  │ Sex: Male
  │ ...
  ├─ Species: Blackbird
  │ Count: 1
  │ ...
  └─ Species: Robin
      Count: 4
      ...

Mammal sightings: 2
  ├─ Species: Fox
  │ Count: 1
  │ ...
  └─ Species: Deer
      Count: 3
      ...

Amphibian sightings: 5
  └─ ...

```

That’s a legitimate Epicollect5 model.

In fact, Epicollect’s own documentation gives almost exactly this kind of pattern: a parent form with a repeatable branch used to collect multiple instances of something. ([Epicollect](https://docs.epicollect.net/formbuilder/branches?utm_source=chatgpt.com "Branches | Epicollect5 User Guide"))

The main trade-off is that **branches are not full child forms**. For example, branch entries aren’t downloaded to the mobile device as independent hierarchy entries, whereas hierarchy entries are. (**[More Info](https://docs.epicollect.net/common-use-cases/child-forms-vs-branches)**)
