Index: main/waeup.kofa/trunk/CHANGES.txt
===================================================================
--- main/waeup.kofa/trunk/CHANGES.txt	(revision 15051)
+++ main/waeup.kofa/trunk/CHANGES.txt	(revision 15055)
@@ -4,4 +4,6 @@
 1.6.1.dev0 (unreleased)
 =======================
+
+* Add payment session filter to payment exporters.
 
 * Add `SessionPaymentsOverviewExporter`.
Index: main/waeup.kofa/trunk/src/waeup/kofa/students/browser.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/browser.py	(revision 15051)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/browser.py	(revision 15055)
@@ -3437,5 +3437,5 @@
     def update(self, START=None, session=None, level=None, mode=None,
                payments_start=None, payments_end=None, ct_level=None, 
-               ct_session=None, paycat=None, exporter=None):
+               ct_session=None, paycat=None, paysession=None, exporter=None):
         self._set_session_values()
         self._set_level_values()
@@ -3476,4 +3476,5 @@
                                           payments_end = payments_end,
                                           paycat=paycat,
+                                          paysession=paysession,
                                           ct_level = ct_level,
                                           ct_session = ct_session,
@@ -3491,12 +3492,13 @@
                                           payments_end = payments_end,
                                           paycat=paycat,
+                                          paysession=paysession,
                                           ct_level = ct_level,
                                           ct_session = ct_session,)
         ob_class = self.__implemented__.__name__.replace('waeup.kofa.','')
         self.context.logger.info(
-            '%s - exported: %s (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s), job_id=%s'
+            '%s - exported: %s (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s), job_id=%s'
             % (ob_class, exporter, session, level, mode, self.faccode,
             self.depcode, self.certcode, payments_start, payments_end,
-            ct_level, ct_session, paycat, job_id))
+            ct_level, ct_session, paycat, paysession, job_id))
         self.flash(_('Export started for students with') +
                    ' current_session=%s, current_level=%s, study_mode=%s' % (
Index: main/waeup.kofa/trunk/src/waeup/kofa/students/browser_templates/exportconfig.pt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/browser_templates/exportconfig.pt	(revision 15051)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/browser_templates/exportconfig.pt	(revision 15055)
@@ -81,4 +81,18 @@
   </span>
 
+  <span id="paysession" style="display: none;">
+    <br />
+    <label for="paysession" i18n:translate="">
+      Payment Sessions
+    </label>
+    <select name="paysession" class="form-control half">
+      <option tal:repeat="item view/sessions"
+              tal:attributes="value python:item[1]">
+        <span tal:replace="python: item[0]">2018/2019</span>
+      </option>
+    </select>
+    <br />
+  </span>
+
   <span id="ct_data" style="display: none;">
     <br />
@@ -120,12 +134,17 @@
           document.getElementById('paycat').style.display = 'block';
           document.getElementById('ct_data').style.display = 'none';
+          document.getElementById('paysession').style.display = 'block';
+
       } else if (document.getElementById('exporter').value == 'coursetickets')  {
           document.getElementById('ct_data').style.display = 'block';
           document.getElementById('payment_dates').style.display = 'none';
           document.getElementById('paycat').style.display = 'none';
+          document.getElementById('paysession').style.display = 'none';
+
       } else {
           document.getElementById('ct_data').style.display = 'none';
           document.getElementById('payment_dates').style.display = 'none';
           document.getElementById('paycat').style.display = 'none';
+          document.getElementById('paysession').style.display = 'none';
       }
   }
Index: main/waeup.kofa/trunk/src/waeup/kofa/students/export.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/export.py	(revision 15051)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/export.py	(revision 15055)
@@ -136,4 +136,5 @@
     p_end = kw.get('payments_end')
     paycat = kw.get('paycat')
+    paysession = kw.get('paysession')
     for student in students:
         for payment in student.get('payments', {}).values():
@@ -152,4 +153,6 @@
                 continue
             if paycat not in ('all', None) and payment.p_category != paycat:
+                continue
+            if paysession not in ('all', None) and payment.p_session != paysession:
                 continue
             payments.append(payment)
@@ -206,7 +209,8 @@
             del kw['payments_end']
             del kw['paycat']
+            del kw['paysession']
         except KeyError:
             pass
-        # Coursetickets can be filtered level and session.
+        # Coursetickets can be filtered by level and session.
         # These parameters are not keys of the catalog and must thus be
         # removed from kw.
Index: main/waeup.kofa/trunk/src/waeup/kofa/students/tests/test_browser.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/tests/test_browser.py	(revision 15051)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/tests/test_browser.py	(revision 15055)
@@ -3539,5 +3539,5 @@
             'zope.mgr - students.browser.DatacenterExportJobContainerJobConfig '
             '- exported: bursary (2004, 100, ug_ft, None, None, None, '
-            '13/12/2012, 14/12/2012, all, all, all), job_id=%s'
+            '13/12/2012, 14/12/2012, all, all, all, all), job_id=%s'
             % job_id in logcontent
             )
@@ -3635,5 +3635,5 @@
             'zope.mgr - students.browser.FacultiesExportJobContainerJobConfig '
             '- exported: bursary (2004, 100, ug_ft, None, None, None, '
-            '13/12/2012, 14/12/2012, all, all, schoolfee), job_id=%s'
+            '13/12/2012, 14/12/2012, all, all, schoolfee, all), job_id=%s'
             % job_id in logcontent
             )
@@ -3696,5 +3696,5 @@
             'zope.mgr - students.browser.FacultyExportJobContainerJobConfig '
             '- exported: students (2004, 100, ug_ft, fac1, None, None, '
-            '13/12/2012, 14/12/2012, all, all, all), job_id=%s'
+            '13/12/2012, 14/12/2012, all, all, all, all), job_id=%s'
             % job_id in logcontent
             )
@@ -3748,5 +3748,5 @@
             'zope.mgr - students.browser.DepartmentExportJobContainerJobConfig '
             '- exported: students (2004, 100, ug_ft, None, dep1, None, '
-            '13/12/2012, 14/12/2012, all, all, all), job_id=%s'
+            '13/12/2012, 14/12/2012, all, all, all, all), job_id=%s'
             % job_id in logcontent
             )
@@ -3795,5 +3795,5 @@
             'zope.mgr - students.browser.CertificateExportJobContainerJobConfig '
             '- exported: students '
-            '(2004, 100, None, None, None, CERT1, , , None, None, None), '
+            '(2004, 100, None, None, None, CERT1, , , None, None, None, None), '
             'job_id=%s'
             % job_id in logcontent
