diff --git a/partners/models.py b/partners/models.py
index 6620e1baf17ef4309002552798e5a874e4471ba6..78de4764b910b2b1776aabd9dd0b2d9c7d0e1191 100644
--- a/partners/models.py
+++ b/partners/models.py
@@ -10,6 +10,7 @@ import string
 from django.contrib.auth.models import User
 from django.contrib.postgres.fields import JSONField
 from django.db import models
+from django.db.models import Sum
 from django.utils import timezone
 from django.urls import reverse
 
@@ -32,7 +33,7 @@ from .managers import (
     MembershipAgreementManager, ProspectivePartnerManager, PartnerManager, ContactRequestManager,
     PartnersAttachmentManager)
 
-from journals.models import Publication, PublicationAuthorsTable
+from journals.models import Publication, PublicationAuthorsTable, OrgPubFraction
 
 from scipost.constants import TITLE_CHOICES
 from scipost.fields import ChoiceArrayField
@@ -131,6 +132,15 @@ class Organization(models.Model):
         self.cf_nr_associated_publications = self.count_publications()
         self.save()
 
+    def pubfractions_in_year(self, year):
+        """
+        Returns the sum of pubfractions for the given year.
+        """
+        return OrgPubFraction.objects.filter(
+            organization=self,
+            publication__publication_date__year=year
+        ).aggregate(Sum('fraction'))['fraction__sum']
+
     def get_contributor_authors(self):
         return self.publicationauthorstable_set.select_related(
             'contributor').order_by('contributor__user__last_name')
diff --git a/partners/templates/partners/_organization_card.html b/partners/templates/partners/_organization_card.html
index 0dfa94a133921891dc5d1f74626e59da917ab14a..5c6de16c22f4b368167a9037f1c08cd7d19d913d 100644
--- a/partners/templates/partners/_organization_card.html
+++ b/partners/templates/partners/_organization_card.html
@@ -1,5 +1,7 @@
 {% load bootstrap %}
 
+{% load partners_extras %}
+
 <div class="card-body">
 
   <div class="row">
@@ -11,7 +13,7 @@
 	</li>
 	{% endif %}
 	<li class="nav-item">
-	  <a class="nav-link active" id="publications-{{ org.id }}-tab" data-toggle="tab" href="#publications-{{ org.id }}" role="tab" aria-controls="publications-{{ org.id }}" aria-selected="true">Associated Publications</a>
+	  <a class="nav-link active" id="publications-{{ org.id }}-tab" data-toggle="tab" href="#publications-{{ org.id }}" role="tab" aria-controls="publications-{{ org.id }}" aria-selected="true">Publications & PubFractions</a>
 	</li>
 	<li class="nav-item">
 	  <a class="nav-link" id="authors-{{ org.id }}-tab" data-toggle="tab" href="#authors-{{ org.id }}" role="tab" aria-controls="authors-{{ org.id }}" aria-selected="true">Associated Authors</a>
@@ -40,15 +42,20 @@
 
 	<div class="tab-pane show active pt-4" id="publications-{{ org.id }}" role="tabpanel" aria-labelledby="publications-{{ org.id }}-tab">
 	  <h3>Publications associated to this Organization:</h3>
+	  {% for pubyear in pubyears %}
+	  <h4>{{ pubyear }} <span class="text-muted">(total pubfractions: {{ org|pubfractions_in_year:pubyear }})</span></h4>
 	  <ul>
 	    {% for publication in org.get_publications %}
+	    {% if publication.publication_date|date:'Y'|add:"0" == pubyear %}
 	    <li>
               <a href="{{ publication.get_absolute_url }}">{{ publication.title }}</a>
               <br>by {{ publication.author_list }},
               <br>{{ publication.citation }}
 	    </li>
+	    {% endif %}
 	    {% endfor %}
 	  </ul>
+	  {% endfor %}
 	</div>
 
 	<div class="tab-pane pt-4" id="authors-{{ org.id }}" role="tabpanel" aria-labelledby="authors-{{ org.id }}-tab">
diff --git a/partners/templatetags/partners_extras.py b/partners/templatetags/partners_extras.py
index 9abcc6c3db3cc9fe593637dc478e0dd050487926..5842a2f02aa15dbf677ca11a42d337e406b0a711 100644
--- a/partners/templatetags/partners_extras.py
+++ b/partners/templatetags/partners_extras.py
@@ -33,3 +33,8 @@ def partnerstatuscolor(status):
     elif status == PROSPECTIVE_PARTNER_FOLLOWED_UP:
         color = '#d2e3f6'
     return color
+
+
+@register.filter(name='pubfractions_in_year')
+def pubfractions_in_year(org, year):
+    return org.pubfractions_in_year(int(year))
diff --git a/partners/views.py b/partners/views.py
index 6986f8fe39c53687d95cc8b1141291b2657d2fbe..789d3402ee75ae2b4280228dd70c6ecca99af865 100644
--- a/partners/views.py
+++ b/partners/views.py
@@ -84,6 +84,7 @@ class OrganizationListView(ListView):
         context = super().get_context_data(*args, **kwargs)
         if self.request.user.has_perm('scipost.can_manage_organizations'):
             context['nr_funders_wo_organization'] = Funder.objects.filter(organization=None).count()
+        context['pubyears'] = range(int(timezone.now().strftime('%Y')), 2015, -1)
         return context
 
     def get_queryset(self):