# Help figuring out reporting: Setting Up Subject-Specific Marks in Term Reports

**URL:** <https://ask.gibbonedu.org/t/help-figuring-out-reporting-setting-up-subject-specific-marks-in-term-reports/15428>\
**Category:** Administration\
**Created:** [October 24, 2025, 8:59am UTC](https://ask.gibbonedu.org/t/help-figuring-out-reporting-setting-up-subject-specific-marks-in-term-reports/15428 "2025-10-24T08:59:18Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![elkiyingi](https://ask.gibbonedu.org/letter_avatar_proxy/v4/letter/e/3e96dc/32.png) [@elkiyingi](https://ask.gibbonedu.org/u/elkiyingi)\
**Post date:** [October 24, 2025, 8:59am UTC](https://ask.gibbonedu.org/t/help-figuring-out-reporting-setting-up-subject-specific-marks-in-term-reports/15428/1 "2025-10-24T08:59:19Z")

</div>

Hello everyone,

Gibbon enthusiast from Uganda here :).  
I’m setting up term reports and could use some guidance. I’ve successfully:

- Created and populated markbooks.
- Set up a reporting cycle with scopes and criteria.

However, when I go to Reports \> Write Reports, the interface only shows fields for general term data (like overall results & comments). I can’t see any way to input or display marks for individual subjects.

 ![Screenshot 2025-10-24 at 11.46.36](https://ask.gibbonedu.org/uploads/default/original/2X/3/38c0df64a59a723ec027974f5c6472a093ce4b82.png)

I understand from tutorials that markbook data doesn’t auto-populate into reports, and that’s not what I’m asking. My question is about the structure of the report itself: How do I create a report that has a section for listing a student’s performance in each subject?

In other words, how do I set up the reporting cycle or the “Write Reports” page, or any other setting I might be missing so it includes a dedicated area for subject-specific information? I’m aiming for a report format that can accommodate a list like this:

 ![Screenshot 2025-10-24 at 11.44.47](https://ask.gibbonedu.org/uploads/default/original/2X/4/464eeb6fa8578e495a6d855f11f5e1cf2b78aa3f.png)

Could someone please point me to the correct workflow or a specific setting I might have missed? I’ve reviewed the documentation but haven’t figured out a solution yet.

Thanks in advance for your help!

---

<div class="post-metadata">

**Author:** ![tiekubd](https://ask.gibbonedu.org/user_avatar/ask.gibbonedu.org/tiekubd/32/163_2.png) [@tiekubd](https://ask.gibbonedu.org/u/tiekubd)\
**Post date:** [October 24, 2025, 12:30pm UTC](https://ask.gibbonedu.org/t/help-figuring-out-reporting-setting-up-subject-specific-marks-in-term-reports/15428/2 "2025-10-24T12:30:18Z")

</div>

Hi @elkiyingi

Just to confirm — is the Average Mark the average of all students’ Subject Scores for the class? Is this a calculated field, and do you want the calculation to be handled within Gibbon?

Also, is the Subject Grade derived from the value of the Subject Score?

Regards

---

<div class="post-metadata">

**Author:** ![cSanders](https://ask.gibbonedu.org/user_avatar/ask.gibbonedu.org/csanders/32/1352_2.png) [@cSanders](https://ask.gibbonedu.org/u/cSanders)\
**Post date:** [October 25, 2025, 12:51am UTC](https://ask.gibbonedu.org/t/help-figuring-out-reporting-setting-up-subject-specific-marks-in-term-reports/15428/3 "2025-10-25T00:51:28Z")

</div>

I am still figuring out reports myself, and certainly haven’t gotten into formatting them beyond the default template, but it sounds like you’re looking for reports by course. When teachers are part of the active reporting cycle, they each contribute based on the individual course, be that comments, grades, etc. The reports can also be per student (like form group comments) but I don’t think that’s what you’re looking for.

Basically, every class needs to be added with subject teachers, then populated with students. This will allow quick reporting for every subject.

 ![Screenshot 2025-10-25 at 08.41.51](https://ask.gibbonedu.org/uploads/default/original/2X/4/441074b76d4b99bc3d220cad956e3fb378fd9638.png)

 ![Screenshot 2025-10-25 at 08.50.23](https://ask.gibbonedu.org/uploads/default/original/2X/3/374875022b7dc60f722d4f9253d95f6ad7f67881.png)

---

<div class="post-metadata">

**Author:** ![tiekubd](https://ask.gibbonedu.org/user_avatar/ask.gibbonedu.org/tiekubd/32/163_2.png) [@tiekubd](https://ask.gibbonedu.org/u/tiekubd)\
**Post date:** [October 25, 2025, 6:25pm UTC](https://ask.gibbonedu.org/t/help-figuring-out-reporting-setting-up-subject-specific-marks-in-term-reports/15428/4 "2025-10-25T18:25:15Z")

</div>

Hi @elkiyingi

In order to generate a report based on courses, add a **scope** to your reporting cycle with a **Type** of **Course** (see image below).

 ![pic1](https://ask.gibbonedu.org/uploads/default/original/2X/3/3aa31915e75c9d92a194a6523ec771550dd9a99b.png)

The default template **“Report - Courses”** displays course grades, comments, and other details, producing a report similar to the example below.

 ![Report_Orig2](https://ask.gibbonedu.org/uploads/default/original/2X/5/55ea190470845f7233af58f0bd7e3ebd05ba6b21.png)

After tinkering with the template for a few hours, I was able to replicate a report card layout like this one:

 ![Report_Final2](https://ask.gibbonedu.org/uploads/default/original/2X/c/c42c1ca25c19a4f902432ecc204d8474c3ca6ef9.png)

* * *

### What I Did

**Column 1 (S/N):**  
Values are pulled from the **Courses → orderBy** field. You could also use a custom field or predefined static values.

**Column 2 (Subject Name):**  
Displays the courses each student is enrolled in.

**Column 3 (Subject Score):**  
Entered by the subject teacher—either when writing reports or through the Gradebook.

**Column 4 (Average Mark):**  
This is the average mark for all students in the class for that subject, calculated automatically.

**Column 5 (Subject Grade):**  
Derived from a grade scale I created for testing. You can, of course, use your own grading scale:

| Min | Max | Grade | Description |
| --- | --- | --- | --- |
| 90 | 100 | 6 | Excellent / Outstanding Competence |
| 80 | 89 | 5 | Very Good / Strong Competence |
| 65 | 79 | 4 | Good / Expected Competence |
| 50 | 64 | 3 | Approaching Expected Competence |
| 0 | 49 | 2 | Below Expected Competence / Needs Improvement |

**Column 6 (Teacher(s)):**  
Shows the teacher’s initials. You can replace this with the full name or another field if preferred.

* * *

I built this report using **grades from the Reports module** , though it could just as easily use data from the **Gradebook**.

Hopefully, this helps anyone exploring **custom report generation** — it’s definitely possible in Gibbon with a little creativity and patience!

---

<div class="post-metadata">

**Author:** ![elkiyingi](https://ask.gibbonedu.org/letter_avatar_proxy/v4/letter/e/3e96dc/32.png) [@elkiyingi](https://ask.gibbonedu.org/u/elkiyingi)\
**Post date:** [October 26, 2025, 11:26am UTC](https://ask.gibbonedu.org/t/help-figuring-out-reporting-setting-up-subject-specific-marks-in-term-reports/15428/5 "2025-10-26T11:26:07Z")

</div>

Hey @tiekubd . Thanks for your response! So average mark is for each student and for each subject score. While the attached report example is for one assessment, “MOT,” at the end of the term the report will have BOT, MOT, & EOT scores for each subject which makes the average score more relevant. So yes, it’s a calculated field and would love for it to be handled in Gibbon if possible. And Subject Grade is derived from Subject score too.

---

<div class="post-metadata">

**Author:** ![elkiyingi](https://ask.gibbonedu.org/letter_avatar_proxy/v4/letter/e/3e96dc/32.png) [@elkiyingi](https://ask.gibbonedu.org/u/elkiyingi)\
**Post date:** [October 26, 2025, 11:29am UTC](https://ask.gibbonedu.org/t/help-figuring-out-reporting-setting-up-subject-specific-marks-in-term-reports/15428/6 "2025-10-26T11:29:51Z")

</div>

Wow. This is really helpful @tiekubd , let me try that out.

---

<div class="post-metadata">

**Author:** ![jvalero](https://ask.gibbonedu.org/letter_avatar_proxy/v4/letter/j/858c86/32.png) [@jvalero](https://ask.gibbonedu.org/u/jvalero)\
**Post date:** [October 27, 2025, 11:52am UTC](https://ask.gibbonedu.org/t/help-figuring-out-reporting-setting-up-subject-specific-marks-in-term-reports/15428/7 "2025-10-27T11:52:20Z")

</div>

> [@tiekubd](#):
>
> I built this report using **grades from the Reports module** , though it could just as easily use data from the **Gradebook**.

Thank you so much for sharing such valuable knowledge, @tiekubd . If it’s not too much bother, when you say: _I built this report using **grades from the Reports module** , though it could just as easily use data from the **Gradebook**._ How would it work if the grades were retrieved from the Gradebook?

---

<div class="post-metadata">

**Author:** ![tiekubd](https://ask.gibbonedu.org/user_avatar/ask.gibbonedu.org/tiekubd/32/163_2.png) [@tiekubd](https://ask.gibbonedu.org/u/tiekubd)\
**Post date:** [October 27, 2025, 1:22pm UTC](https://ask.gibbonedu.org/t/help-figuring-out-reporting-setting-up-subject-specific-marks-in-term-reports/15428/8 "2025-10-27T13:22:36Z")

</div>

Hi @jvalero

Gibbon provides a flexible framework to build almost any type of report, but this does require some coding — specifically knowledge of PHP, HTML, SQL, Twig template tags, and some YAML front matter.

To retrieve grades from the Gradebook, you can create a custom source file and template.

In my setup, I use the Gradebook module to enter grades and the Reporting module to generate and present them in report cards. The key is writing a source file that pulls the data from the Gradebook and a template that formats it for display.

I’ve worked with a few schools to produce custom reports in Gibbon, and it’s quite flexible once you get the hang of the structure.

Hope this helps!  
Thanks

---

<div class="post-metadata">

**Author:** ![elkiyingi](https://ask.gibbonedu.org/letter_avatar_proxy/v4/letter/e/3e96dc/32.png) [@elkiyingi](https://ask.gibbonedu.org/u/elkiyingi)\
**Post date:** [October 27, 2025, 6:12pm UTC](https://ask.gibbonedu.org/t/help-figuring-out-reporting-setting-up-subject-specific-marks-in-term-reports/15428/9 "2025-10-27T18:12:08Z")

</div>

@tiekubd do you mind sharing your code?

---

<div class="post-metadata">

**Author:** ![tiekubd](https://ask.gibbonedu.org/user_avatar/ask.gibbonedu.org/tiekubd/32/163_2.png) [@tiekubd](https://ask.gibbonedu.org/u/tiekubd)\
**Post date:** [October 27, 2025, 7:07pm UTC](https://ask.gibbonedu.org/t/help-figuring-out-reporting-setting-up-subject-specific-marks-in-term-reports/15428/10 "2025-10-27T19:07:54Z")

</div>

Hi @elkiyingi

Can you send me an email at  
tieku (at) highpointedu (dot) com

Thanks
