Index: main/waeup.aaue/trunk/src/waeup/aaue/interfaces.py
===================================================================
--- main/waeup.aaue/trunk/src/waeup/aaue/interfaces.py	(revision 14947)
+++ main/waeup.aaue/trunk/src/waeup/aaue/interfaces.py	(revision 14954)
@@ -78,4 +78,10 @@
         )
 
+    clearance_fee_dp = schema.Float(
+        title = _(u'Diploma Acceptance Fee'),
+        default = 0.0,
+        required = True,
+        )
+
     booking_fee = schema.Float(
         title = _(u'Booking Fee'),
Index: main/waeup.aaue/trunk/src/waeup/aaue/locales/en/LC_MESSAGES/waeup.kofa.po
===================================================================
--- main/waeup.aaue/trunk/src/waeup/aaue/locales/en/LC_MESSAGES/waeup.kofa.po	(revision 14947)
+++ main/waeup.aaue/trunk/src/waeup/aaue/locales/en/LC_MESSAGES/waeup.kofa.po	(revision 14954)
@@ -144,13 +144,13 @@
 #: school_fee_2
 msgid "Returning School Fee"
-msgstr "School Fees Returning Students (2015)"
+msgstr "School Fees Returning Students (2015 & 2016)"
 
 #: school_fee_3
 msgid "Foreigner Initial School Fee"
-msgstr "School Fees Returning Students (<2015)"
+msgstr "School Fees Returning Students"
 
 #: school_fee_4
 msgid "Foreigner Returning School Fee"
-msgstr "School Fees 4 (not used):"
+msgstr "School Fees 4 (not used)"
 
 msgid "Registration Number"
Index: main/waeup.aaue/trunk/src/waeup/aaue/students/tests/test_utils.py
===================================================================
--- main/waeup.aaue/trunk/src/waeup/aaue/students/tests/test_utils.py	(revision 14947)
+++ main/waeup.aaue/trunk/src/waeup/aaue/students/tests/test_utils.py	(revision 14954)
@@ -98,4 +98,31 @@
         self.assertEqual(error, None)
 
+        configuration = createObject('waeup.SessionConfiguration')
+        configuration.academic_session = 2016
+        self.app['configuration'].addSessionConfiguration(configuration)
+        configuration = createObject('waeup.SessionConfiguration')
+        configuration.academic_session = 2017
+        self.app['configuration'].addSessionConfiguration(configuration)
+        configuration = createObject('waeup.SessionConfiguration')
+        configuration.academic_session = 2018
+        self.app['configuration'].addSessionConfiguration(configuration)
+        self.student['studycourse'].current_session = 2017
+        self.student['studycourse'].entry_session = 2015
+        error, payment = utils.setPaymentDetails('schoolfee',self.student)
+        self.assertEqual(payment.p_level, 200)
+        self.assertEqual(payment.p_session, 2018)
+        self.assertEqual(payment.amount_auth, 7777.0)
+        self.assertEqual(payment.p_item, u'CERT1')
+        self.assertEqual(error, None)
+        self.student['studycourse'].entry_session = 2017
+        error, payment = utils.setPaymentDetails('schoolfee',self.student)
+        self.assertEqual(payment.p_level, 200)
+        self.assertEqual(payment.p_session, 2018)
+        self.assertEqual(payment.amount_auth, 8888.0)
+        self.assertEqual(payment.p_item, u'CERT1')
+        self.assertEqual(error, None)
+
+        self.student['studycourse'].current_session = 2004
+        self.student['studycourse'].entry_session = 2004
         error, payment = utils.setPaymentDetails('clearance',self.student)
         self.assertEqual(error, 'Acceptance Fee payments not allowed.')
Index: main/waeup.aaue/trunk/src/waeup/aaue/students/utils.py
===================================================================
--- main/waeup.aaue/trunk/src/waeup/aaue/students/utils.py	(revision 14947)
+++ main/waeup.aaue/trunk/src/waeup/aaue/students/utils.py	(revision 14954)
@@ -313,4 +313,6 @@
             if student.current_mode == 'ijmbe':
                 amount = academic_session.clearance_fee_ijmbe
+            elif student.current_mode == 'dp_ft':
+                amount = academic_session.clearance_fee_dp
             elif student.faccode == 'FP':
                 amount = academic_session.clearance_fee_fp
@@ -371,5 +373,5 @@
                     amount = getattr(certificate, 'school_fee_1', 0.0)
                 else:
-                    if student.entry_session >= 2015:
+                    if student.entry_session in (2015, 2016):
                         amount = getattr(certificate, 'school_fee_2', 0.0)
                     else:
@@ -397,11 +399,11 @@
                 except KeyError:
                     return _(u'Session configuration object is not available.'), None
-                if student.entry_session >= 2015:
+                if student.entry_session in (2015, 2016):
                     amount = getattr(certificate, 'school_fee_2', 0.0)
-                    # Cut school fee by 50%
-                    if category == 'schoolfee_1' and amount:
-                        amount = gateway_net_amt(amount) / 2 + GATEWAY_AMT
                 else:
                     amount = getattr(certificate, 'school_fee_3', 0.0)
+                # Cut school fee by 50%
+                if category == 'schoolfee_1' and amount:
+                    amount = gateway_net_amt(amount) / 2 + GATEWAY_AMT
             elif category == 'schoolfee_2':
                 amount = getattr(certificate, 'school_fee_2', 0.0)
