Index: main/waeup.aaue/trunk/src/waeup/aaue/interswitch/browser.py
===================================================================
--- main/waeup.aaue/trunk/src/waeup/aaue/interswitch/browser.py	(revision 17443)
+++ main/waeup.aaue/trunk/src/waeup/aaue/interswitch/browser.py	(revision 17444)
@@ -86,7 +86,12 @@
 
 schoolfees_path = os.path.join(
-    os.path.dirname(__file__), '../students/schoolfees.csv')
+    os.path.dirname(__file__), '../students/schoolfees_22.csv')
 reader = csv.DictReader(open(schoolfees_path, 'rb'))
-SCHOOLFEES = {item['code']:item for item in reader}
+SCHOOLFEES_22 = {item['code']:item for item in reader}
+
+schoolfees_path = os.path.join(
+    os.path.dirname(__file__), '../students/schoolfees_21.csv')
+reader = csv.DictReader(open(schoolfees_path, 'rb'))
+SCHOOLFEES_21 = {item['code']:item for item in reader}
 
 acceptancefees_path = os.path.join(
@@ -258,5 +263,8 @@
 <item_details detail_ref="%(detail_ref)s" college="%(institution_name)s" department="%(department)s" faculty="%(faculty)s">""" % xmldict
                 item_id = 1
-                sorted_items = SCHOOLFEES[student.certcode].items()
+                if student.entry_session < 2022:
+                    sorted_items = SCHOOLFEES_21[student.certcode].items()
+                else:
+                    sorted_items = SCHOOLFEES_22[student.certcode].items()
                 sorted_items.insert(0, sorted_items.pop(4))
                 for item in sorted_items:
Index: main/waeup.aaue/trunk/src/waeup/aaue/students/schoolfees.csv
===================================================================
--- main/waeup.aaue/trunk/src/waeup/aaue/students/schoolfees.csv	(revision 17443)
+++ 	(revision )
@@ -1,95 +1,0 @@
-code,faculty_code,department_code,tuition,edohis,union,access,notebook,sport,library,lmsplus,nuga
-CERT1,FAG,ANS,184000,16000,1000,4500,9000,3000,1000,20000,1000
-BAGRANS,FAG,ANS,184000,16000,1000,4500,9000,3000,1000,20000,1000
-BAGRCRS,FAG,CRS,184000,16000,1000,4500,9000,3000,1000,20000,1000
-BAGREES,FAG,EES,184000,16000,1000,4500,9000,3000,1000,20000,1000
-BAGRSOS,FAG,SOS,184000,16000,1000,4500,9000,3000,1000,20000,1000
-BAENG,FAT,ENG,198250,16000,1000,4500,9000,3000,1000,20000,1000
-BAFRN,FAT,FRN,198250,16000,1000,4500,9000,3000,1000,20000,1000
-BAHIS,FAT,HIS,198250,16000,1000,4500,9000,3000,1000,20000,1000
-BAISD,FAT,HIS,198250,16000,1000,4500,9000,3000,1000,20000,1000
-BAMAC,FAT,MAC,248250,16000,1000,4500,9000,3000,1000,20000,1000
-BAPHI,FAT,PHI,198250,16000,1000,4500,9000,3000,1000,20000,1000
-BARCS,FAT,RCS,198250,16000,1000,4500,9000,3000,1000,20000,1000
-BARST,FAT,RCS,198250,16000,1000,4500,9000,3000,1000,20000,1000
-BATMA,FAT,TMA,198250,16000,1000,4500,9000,3000,1000,20000,1000
-BSCANA,FBM,ANA,281000,16000,1000,4500,9000,3000,1000,20000,1000
-BMLS,FBM,MLS,554500,16000,1000,4500,9000,3000,1000,20000,1000
-BMLSCHMP,FBM,MLS,554500,16000,1000,4500,9000,3000,1000,20000,1000
-BMLSHBTS,FBM,MLS,554500,16000,1000,4500,9000,3000,1000,20000,1000
-BMLSHIST,FBM,MLS,554500,16000,1000,4500,9000,3000,1000,20000,1000
-BMLSMMCB,FBM,MLS,554500,16000,1000,4500,9000,3000,1000,20000,1000
-BSCNSG,FBM,NSG,666000,16000,1000,4500,9000,3000,1000,20000,1000
-BSCPHS,FBM,PHS,204000,16000,1000,4500,9000,3000,1000,20000,1000
-BSCPYS,FBM,PYS,204000,16000,1000,4500,9000,3000,1000,20000,1000
-MBBS,FCS,MED,786000,16000,1000,4500,9000,3000,1000,20000,1000
-BEDACC,FED,BED,214000,16000,1000,4500,9000,3000,1000,20000,1000
-BEDOTM,FED,BED,214000,16000,1000,4500,9000,3000,1000,20000,1000
-BEDSEC,FED,BED,214000,16000,1000,4500,9000,3000,1000,20000,1000
-BEDBIO,FED,CAI,214000,16000,1000,4500,9000,3000,1000,20000,1000
-BEDCHM,FED,CAI,214000,16000,1000,4500,9000,3000,1000,20000,1000
-BEDCSC,FED,CAI,214000,16000,1000,4500,9000,3000,1000,20000,1000
-BEDENG,FED,CAI,214000,16000,1000,4500,9000,3000,1000,20000,1000
-BEDFRN,FED,CAI,214000,16000,1000,4500,9000,3000,1000,20000,1000
-BEDMTH,FED,CAI,214000,16000,1000,4500,9000,3000,1000,20000,1000
-BEDPHY,FED,CAI,214000,16000,1000,4500,9000,3000,1000,20000,1000
-BEDPPE,FED,CAI,214000,16000,1000,4500,9000,3000,1000,20000,1000
-BEDSSE,FED,CAI,214000,16000,1000,4500,9000,3000,1000,20000,1000
-CAI,FED,CAI,214000,16000,1000,4500,9000,3000,1000,20000,1000
-BEDEDM,FED,EFM,214000,16000,1000,4500,9000,3000,1000,20000,1000
-BEDHIS,FED,EFM,214000,16000,1000,4500,9000,3000,1000,20000,1000
-BEDRSE,FED,EFM,214000,16000,1000,4500,9000,3000,1000,20000,1000
-EFM,FED,EFM,214000,16000,1000,4500,9000,3000,1000,20000,1000
-BEDECO,FED,GAC,214000,16000,1000,4500,9000,3000,1000,20000,1000
-BEDGAC,FED,GAC,214000,16000,1000,4500,9000,3000,1000,20000,1000
-BEDGEO,FED,GAC,214000,16000,1000,4500,9000,3000,1000,20000,1000
-BEDPOL,FED,GAC,214000,16000,1000,4500,9000,3000,1000,20000,1000
-BEDHED,FED,HKH,214000,16000,1000,4500,9000,3000,1000,20000,1000
-BEDHKE,FED,HKH,214000,16000,1000,4500,9000,3000,1000,20000,1000
-BEDPHE,FED,HKH,214000,16000,1000,4500,9000,3000,1000,20000,1000
-BSCLIS,FED,LIS,198250,16000,1000,4500,9000,3000,1000,20000,1000
-BEDAGR,FED,VTE,214000,16000,1000,4500,9000,3000,1000,20000,1000
-BEDHECO,FED,VTE,214000,16000,1000,4500,9000,3000,1000,20000,1000
-BEDTEC,FED,VTE,214000,16000,1000,4500,9000,3000,1000,20000,1000
-VTE,FED,VTE,214000,16000,1000,4500,9000,3000,1000,20000,1000
-BSCARC,FES,ARC,224500,16000,1000,4500,9000,3000,1000,20000,1000
-BSCBLD,FES,BLD,224500,16000,1000,4500,9000,3000,1000,20000,1000
-BFA,FES,FAA,198250,16000,1000,4500,9000,3000,1000,20000,1000
-BFAGRH,FES,FAA,198250,16000,1000,4500,9000,3000,1000,20000,1000
-BFAPNT,FES,FAA,198250,16000,1000,4500,9000,3000,1000,20000,1000
-BFASC,FES,FAA,198250,16000,1000,4500,9000,3000,1000,20000,1000
-BFATD,FES,FAA,198250,16000,1000,4500,9000,3000,1000,20000,1000
-BSCFAA,FES,FAA,198250,16000,1000,4500,9000,3000,1000,20000,1000
-BSCGEM,FES,GEM,198250,16000,1000,4500,9000,3000,1000,20000,1000
-BSCGRP,FES,GEM,198250,16000,1000,4500,9000,3000,1000,20000,1000
-BENGAGE,FET,AGE,312500,16000,1000,4500,9000,3000,1000,20000,1000
-BENGCIE,FET,CIE,312500,16000,1000,4500,9000,3000,1000,20000,1000
-BENGELE,FET,ELE,312500,16000,1000,4500,9000,3000,1000,20000,1000
-BENGIPE,FET,IPE,312500,16000,1000,4500,9000,3000,1000,20000,1000
-BENGMPE,FET,IPE,312500,16000,1000,4500,9000,3000,1000,20000,1000
-BENGPE,FET,IPE,312500,16000,1000,4500,9000,3000,1000,20000,1000
-BENGMEE,FET,MEE,312500,16000,1000,4500,9000,3000,1000,20000,1000
-BENGMME,FET,MME,312500,16000,1000,4500,9000,3000,1000,20000,1000
-BSCBCH,FLS,BCH,214000,16000,1000,4500,9000,3000,1000,20000,1000
-BSCBOT,FLS,BOT,214000,16000,1000,4500,9000,3000,1000,20000,1000
-BSCHND,FLS,HND,214000,16000,1000,4500,9000,3000,1000,20000,1000
-BSCMCB,FLS,MCB,224000,16000,1000,4500,9000,3000,1000,20000,1000
-BSCPSB,FLS,PSB,214000,16000,1000,4500,9000,3000,1000,20000,1000
-BSCZOO,FLS,ZOO,214000,16000,1000,4500,9000,3000,1000,20000,1000
-LLB,FLW,LAW,657500,16000,1000,4500,9000,3000,1000,20000,1000
-BSCACC,FMS,ACC,312500,16000,1000,4500,9000,3000,1000,20000,1000
-BSCBAF,FMS,BAF,202500,16000,1000,4500,9000,3000,1000,20000,1000
-BSCBUS,FMS,BUS,282500,16000,1000,4500,9000,3000,1000,20000,1000
-BSCPUB,FMS,PUB,282500,16000,1000,4500,9000,3000,1000,20000,1000
-BSCCHM,FPS,CHM,264000,16000,1000,4500,9000,3000,1000,20000,1000
-BSCICH,FPS,CHM,264000,16000,1000,4500,9000,3000,1000,20000,1000
-BSCCSC,FPS,CSC,274500,16000,1000,4500,9000,3000,1000,20000,1000
-BSCIMTH,FPS,MTH,214000,16000,1000,4500,9000,3000,1000,20000,1000
-BSCMTH,FPS,MTH,214000,16000,1000,4500,9000,3000,1000,20000,1000
-BSCSTA,FPS,MTH,214000,16000,1000,4500,9000,3000,1000,20000,1000
-BSCAPHY,FPS,PHY,214000,16000,1000,4500,9000,3000,1000,20000,1000
-BSCPHY,FPS,PHY,214000,16000,1000,4500,9000,3000,1000,20000,1000
-BSCECO,FSS,ECO,232000,16000,1000,4500,9000,3000,1000,20000,1000
-BSCPOL,FSS,POL,198250,16000,1000,4500,9000,3000,1000,20000,1000
-BSCPSY,FSS,PSY,198250,16000,1000,4500,9000,3000,1000,20000,1000
-BSCSOC,FSS,SOC,198250,16000,1000,4500,9000,3000,1000,20000,1000
Index: main/waeup.aaue/trunk/src/waeup/aaue/students/schoolfees_21.csv
===================================================================
--- main/waeup.aaue/trunk/src/waeup/aaue/students/schoolfees_21.csv	(revision 17444)
+++ main/waeup.aaue/trunk/src/waeup/aaue/students/schoolfees_21.csv	(revision 17444)
@@ -0,0 +1,95 @@
+code,faculty_code,department_code,tuition,edohis,union,access,sport,library,lmsplus,nuga
+CERT1,FAG,ANS,184000,16000,1000,4500,3000,1000,20000,10000
+BAGRANS,FAG,ANS,140500,16000,1000,4500,3000,1000,20000,1000
+BAGRCRS,FAG,CRS,140500,16000,1000,4500,3000,1000,20000,1000
+BAGREES,FAG,EES,140500,16000,1000,4500,3000,1000,20000,1000
+BAGRSOS,FAG,SOS,140500,16000,1000,4500,3000,1000,20000,1000
+BAENG,FAT,ENG,124750,16000,1000,4500,3000,1000,20000,1000
+BAFRN,FAT,FRN,124750,16000,1000,4500,3000,1000,20000,1000
+BAHIS,FAT,HIS,124750,16000,1000,4500,3000,1000,20000,1000
+BAISD,FAT,HIS,124750,16000,1000,4500,3000,1000,20000,1000
+BAMAC,FAT,MAC,124750,16000,1000,4500,3000,1000,20000,1000
+BAPHI,FAT,PHI,124750,16000,1000,4500,3000,1000,20000,1000
+BARCS,FAT,RCS,124750,16000,1000,4500,3000,1000,20000,1000
+BARST,FAT,RCS,124750,16000,1000,4500,3000,1000,20000,1000
+BATMA,FAT,TMA,124750,16000,1000,4500,3000,1000,20000,1000
+BSCANA,FBM,ANA,157500,16000,1000,4500,3000,1000,20000,1000
+BMLS,FBM,MLS,177500,16000,1000,4500,3000,1000,20000,1000
+BMLSCHMP,FBM,MLS,177500,16000,1000,4500,3000,1000,20000,1000
+BMLSHBTS,FBM,MLS,177500,16000,1000,4500,3000,1000,20000,1000
+BMLSHIST,FBM,MLS,177500,16000,1000,4500,3000,1000,20000,1000
+BMLSMMCB,FBM,MLS,177500,16000,1000,4500,3000,1000,20000,1000
+BSCNSG,FBM,NSG,157500,16000,1000,4500,3000,1000,20000,1000
+BSCPHS,FBM,PHS,140500,16000,1000,4500,3000,1000,20000,1000
+BSCPYS,FBM,PYS,140500,16000,1000,4500,3000,1000,20000,1000
+MBBS,FCS,MED,208500,16000,1000,4500,3000,1000,20000,1000
+BEDACC,FED,BED,140500,16000,1000,4500,3000,1000,20000,1000
+BEDOTM,FED,BED,140500,16000,1000,4500,3000,1000,20000,1000
+BEDSEC,FED,BED,140500,16000,1000,4500,3000,1000,20000,1000
+BEDBIO,FED,CAI,140500,16000,1000,4500,3000,1000,20000,1000
+BEDCHM,FED,CAI,140500,16000,1000,4500,3000,1000,20000,1000
+BEDCSC,FED,CAI,140500,16000,1000,4500,3000,1000,20000,1000
+BEDENG,FED,CAI,140500,16000,1000,4500,3000,1000,20000,1000
+BEDFRN,FED,CAI,140500,16000,1000,4500,3000,1000,20000,1000
+BEDMTH,FED,CAI,140500,16000,1000,4500,3000,1000,20000,1000
+BEDPHY,FED,CAI,140500,16000,1000,4500,3000,1000,20000,1000
+BEDPPE,FED,CAI,140500,16000,1000,4500,3000,1000,20000,1000
+BEDSSE,FED,CAI,140500,16000,1000,4500,3000,1000,20000,1000
+CAI,FED,CAI,140500,16000,1000,4500,3000,1000,20000,1000
+BEDEDM,FED,EFM,140500,16000,1000,4500,3000,1000,20000,1000
+BEDHIS,FED,EFM,140500,16000,1000,4500,3000,1000,20000,1000
+BEDRSE,FED,EFM,140500,16000,1000,4500,3000,1000,20000,1000
+EFM,FED,EFM,140500,16000,1000,4500,3000,1000,20000,1000
+BEDECO,FED,GAC,140500,16000,1000,4500,3000,1000,20000,1000
+BEDGAC,FED,GAC,140500,16000,1000,4500,3000,1000,20000,1000
+BEDGEO,FED,GAC,140500,16000,1000,4500,3000,1000,20000,1000
+BEDPOL,FED,GAC,140500,16000,1000,4500,3000,1000,20000,1000
+BEDHED,FED,HKH,140500,16000,1000,4500,3000,1000,20000,1000
+BEDHKE,FED,HKH,140500,16000,1000,4500,3000,1000,20000,1000
+BEDPHE,FED,HKH,140500,16000,1000,4500,3000,1000,20000,1000
+BSCLIS,FED,LIS,124750,16000,1000,4500,3000,1000,20000,1000
+BEDAGR,FED,VTE,140500,16000,1000,4500,3000,1000,20000,1000
+BEDHECO,FED,VTE,140500,16000,1000,4500,3000,1000,20000,1000
+BEDTEC,FED,VTE,140500,16000,1000,4500,3000,1000,20000,1000
+VTE,FED,VTE,140500,16000,1000,4500,3000,1000,20000,1000
+BSCARC,FES,ARC,151000,16000,1000,4500,3000,1000,20000,1000
+BSCBLD,FES,BLD,151000,16000,1000,4500,3000,1000,20000,1000
+BFA,FES,FAA,124750,16000,1000,4500,3000,1000,20000,1000
+BFAGRH,FES,FAA,124750,16000,1000,4500,3000,1000,20000,1000
+BFAPNT,FES,FAA,124750,16000,1000,4500,3000,1000,20000,1000
+BFASC,FES,FAA,124750,16000,1000,4500,3000,1000,20000,1000
+BFATD,FES,FAA,124750,16000,1000,4500,3000,1000,20000,1000
+BSCFAA,FES,FAA,124750,16000,1000,4500,3000,1000,20000,1000
+BSCGEM,FES,GEM,124750,16000,1000,4500,3000,1000,20000,1000
+BSCGRP,FES,GEM,124750,16000,1000,4500,3000,1000,20000,1000
+BENGAGE,FET,AGE,151000,16000,1000,4500,3000,1000,20000,1000
+BENGCIE,FET,CIE,151000,16000,1000,4500,3000,1000,20000,1000
+BENGELE,FET,ELE,151000,16000,1000,4500,3000,1000,20000,1000
+BENGIPE,FET,IPE,151000,16000,1000,4500,3000,1000,20000,1000
+BENGMPE,FET,IPE,151000,16000,1000,4500,3000,1000,20000,1000
+BENGPE,FET,IPE,151000,16000,1000,4500,3000,1000,20000,1000
+BENGMEE,FET,MEE,151000,16000,1000,4500,3000,1000,20000,1000
+BENGMME,FET,MME,151000,16000,1000,4500,3000,1000,20000,1000
+BSCBCH,FLS,BCH,140500,16000,1000,4500,3000,1000,20000,1000
+BSCBOT,FLS,BOT,140500,16000,1000,4500,3000,1000,20000,1000
+BSCHND,FLS,HND,140500,16000,1000,4500,3000,1000,20000,1000
+BSCMCB,FLS,MCB,151000,16000,1000,4500,3000,1000,20000,1000
+BSCPSB,FLS,PSB,140500,16000,1000,4500,3000,1000,20000,1000
+BSCZOO,FLS,ZOO,140500,16000,1000,4500,3000,1000,20000,1000
+LLB,FLW,LAW,177500,16000,1000,4500,3000,1000,20000,1000
+BSCACC,FMS,ACC,157500,16000,1000,4500,3000,1000,20000,1000
+BSCBAF,FMS,BAF,138500,16000,1000,4500,3000,1000,20000,1000
+BSCBUS,FMS,BUS,138500,16000,1000,4500,3000,1000,20000,1000
+BSCPUB,FMS,PUB,138500,16000,1000,4500,3000,1000,20000,1000
+BSCCHM,FPS,CHM,140500,16000,1000,4500,3000,1000,20000,1000
+BSCICH,FPS,CHM,140500,16000,1000,4500,3000,1000,20000,1000
+BSCCSC,FPS,CSC,151000,16000,1000,4500,3000,1000,20000,1000
+BSCIMTH,FPS,MTH,140500,16000,1000,4500,3000,1000,20000,1000
+BSCMTH,FPS,MTH,140500,16000,1000,4500,3000,1000,20000,1000
+BSCSTA,FPS,MTH,140500,16000,1000,4500,3000,1000,20000,1000
+BSCAPHY,FPS,PHY,140500,16000,1000,4500,3000,1000,20000,1000
+BSCPHY,FPS,PHY,140500,16000,1000,4500,3000,1000,20000,1000
+BSCECO,FSS,ECO,138500,16000,1000,4500,3000,1000,20000,1000
+BSCPOL,FSS,POL,124750,16000,1000,4500,3000,1000,20000,1000
+BSCPSY,FSS,PSY,124750,16000,1000,4500,3000,1000,20000,1000
+BSCSOC,FSS,SOC,124750,16000,1000,4500,3000,1000,20000,1000
Index: main/waeup.aaue/trunk/src/waeup/aaue/students/schoolfees_22.csv
===================================================================
--- main/waeup.aaue/trunk/src/waeup/aaue/students/schoolfees_22.csv	(revision 17444)
+++ main/waeup.aaue/trunk/src/waeup/aaue/students/schoolfees_22.csv	(revision 17444)
@@ -0,0 +1,95 @@
+code,faculty_code,department_code,tuition,edohis,union,access,notebook,sport,library,lmsplus,nuga
+CERT1,FAG,ANS,184000,16000,1000,4500,9000,3000,1000,20000,1000
+BAGRANS,FAG,ANS,184000,16000,1000,4500,9000,3000,1000,20000,1000
+BAGRCRS,FAG,CRS,184000,16000,1000,4500,9000,3000,1000,20000,1000
+BAGREES,FAG,EES,184000,16000,1000,4500,9000,3000,1000,20000,1000
+BAGRSOS,FAG,SOS,184000,16000,1000,4500,9000,3000,1000,20000,1000
+BAENG,FAT,ENG,198250,16000,1000,4500,9000,3000,1000,20000,1000
+BAFRN,FAT,FRN,198250,16000,1000,4500,9000,3000,1000,20000,1000
+BAHIS,FAT,HIS,198250,16000,1000,4500,9000,3000,1000,20000,1000
+BAISD,FAT,HIS,198250,16000,1000,4500,9000,3000,1000,20000,1000
+BAMAC,FAT,MAC,248250,16000,1000,4500,9000,3000,1000,20000,1000
+BAPHI,FAT,PHI,198250,16000,1000,4500,9000,3000,1000,20000,1000
+BARCS,FAT,RCS,198250,16000,1000,4500,9000,3000,1000,20000,1000
+BARST,FAT,RCS,198250,16000,1000,4500,9000,3000,1000,20000,1000
+BATMA,FAT,TMA,198250,16000,1000,4500,9000,3000,1000,20000,1000
+BSCANA,FBM,ANA,281000,16000,1000,4500,9000,3000,1000,20000,1000
+BMLS,FBM,MLS,554500,16000,1000,4500,9000,3000,1000,20000,1000
+BMLSCHMP,FBM,MLS,554500,16000,1000,4500,9000,3000,1000,20000,1000
+BMLSHBTS,FBM,MLS,554500,16000,1000,4500,9000,3000,1000,20000,1000
+BMLSHIST,FBM,MLS,554500,16000,1000,4500,9000,3000,1000,20000,1000
+BMLSMMCB,FBM,MLS,554500,16000,1000,4500,9000,3000,1000,20000,1000
+BSCNSG,FBM,NSG,666000,16000,1000,4500,9000,3000,1000,20000,1000
+BSCPHS,FBM,PHS,204000,16000,1000,4500,9000,3000,1000,20000,1000
+BSCPYS,FBM,PYS,204000,16000,1000,4500,9000,3000,1000,20000,1000
+MBBS,FCS,MED,786000,16000,1000,4500,9000,3000,1000,20000,1000
+BEDACC,FED,BED,214000,16000,1000,4500,9000,3000,1000,20000,1000
+BEDOTM,FED,BED,214000,16000,1000,4500,9000,3000,1000,20000,1000
+BEDSEC,FED,BED,214000,16000,1000,4500,9000,3000,1000,20000,1000
+BEDBIO,FED,CAI,214000,16000,1000,4500,9000,3000,1000,20000,1000
+BEDCHM,FED,CAI,214000,16000,1000,4500,9000,3000,1000,20000,1000
+BEDCSC,FED,CAI,214000,16000,1000,4500,9000,3000,1000,20000,1000
+BEDENG,FED,CAI,214000,16000,1000,4500,9000,3000,1000,20000,1000
+BEDFRN,FED,CAI,214000,16000,1000,4500,9000,3000,1000,20000,1000
+BEDMTH,FED,CAI,214000,16000,1000,4500,9000,3000,1000,20000,1000
+BEDPHY,FED,CAI,214000,16000,1000,4500,9000,3000,1000,20000,1000
+BEDPPE,FED,CAI,214000,16000,1000,4500,9000,3000,1000,20000,1000
+BEDSSE,FED,CAI,214000,16000,1000,4500,9000,3000,1000,20000,1000
+CAI,FED,CAI,214000,16000,1000,4500,9000,3000,1000,20000,1000
+BEDEDM,FED,EFM,214000,16000,1000,4500,9000,3000,1000,20000,1000
+BEDHIS,FED,EFM,214000,16000,1000,4500,9000,3000,1000,20000,1000
+BEDRSE,FED,EFM,214000,16000,1000,4500,9000,3000,1000,20000,1000
+EFM,FED,EFM,214000,16000,1000,4500,9000,3000,1000,20000,1000
+BEDECO,FED,GAC,214000,16000,1000,4500,9000,3000,1000,20000,1000
+BEDGAC,FED,GAC,214000,16000,1000,4500,9000,3000,1000,20000,1000
+BEDGEO,FED,GAC,214000,16000,1000,4500,9000,3000,1000,20000,1000
+BEDPOL,FED,GAC,214000,16000,1000,4500,9000,3000,1000,20000,1000
+BEDHED,FED,HKH,214000,16000,1000,4500,9000,3000,1000,20000,1000
+BEDHKE,FED,HKH,214000,16000,1000,4500,9000,3000,1000,20000,1000
+BEDPHE,FED,HKH,214000,16000,1000,4500,9000,3000,1000,20000,1000
+BSCLIS,FED,LIS,198250,16000,1000,4500,9000,3000,1000,20000,1000
+BEDAGR,FED,VTE,214000,16000,1000,4500,9000,3000,1000,20000,1000
+BEDHECO,FED,VTE,214000,16000,1000,4500,9000,3000,1000,20000,1000
+BEDTEC,FED,VTE,214000,16000,1000,4500,9000,3000,1000,20000,1000
+VTE,FED,VTE,214000,16000,1000,4500,9000,3000,1000,20000,1000
+BSCARC,FES,ARC,224500,16000,1000,4500,9000,3000,1000,20000,1000
+BSCBLD,FES,BLD,224500,16000,1000,4500,9000,3000,1000,20000,1000
+BFA,FES,FAA,198250,16000,1000,4500,9000,3000,1000,20000,1000
+BFAGRH,FES,FAA,198250,16000,1000,4500,9000,3000,1000,20000,1000
+BFAPNT,FES,FAA,198250,16000,1000,4500,9000,3000,1000,20000,1000
+BFASC,FES,FAA,198250,16000,1000,4500,9000,3000,1000,20000,1000
+BFATD,FES,FAA,198250,16000,1000,4500,9000,3000,1000,20000,1000
+BSCFAA,FES,FAA,198250,16000,1000,4500,9000,3000,1000,20000,1000
+BSCGEM,FES,GEM,198250,16000,1000,4500,9000,3000,1000,20000,1000
+BSCGRP,FES,GEM,198250,16000,1000,4500,9000,3000,1000,20000,1000
+BENGAGE,FET,AGE,312500,16000,1000,4500,9000,3000,1000,20000,1000
+BENGCIE,FET,CIE,312500,16000,1000,4500,9000,3000,1000,20000,1000
+BENGELE,FET,ELE,312500,16000,1000,4500,9000,3000,1000,20000,1000
+BENGIPE,FET,IPE,312500,16000,1000,4500,9000,3000,1000,20000,1000
+BENGMPE,FET,IPE,312500,16000,1000,4500,9000,3000,1000,20000,1000
+BENGPE,FET,IPE,312500,16000,1000,4500,9000,3000,1000,20000,1000
+BENGMEE,FET,MEE,312500,16000,1000,4500,9000,3000,1000,20000,1000
+BENGMME,FET,MME,312500,16000,1000,4500,9000,3000,1000,20000,1000
+BSCBCH,FLS,BCH,214000,16000,1000,4500,9000,3000,1000,20000,1000
+BSCBOT,FLS,BOT,214000,16000,1000,4500,9000,3000,1000,20000,1000
+BSCHND,FLS,HND,214000,16000,1000,4500,9000,3000,1000,20000,1000
+BSCMCB,FLS,MCB,224000,16000,1000,4500,9000,3000,1000,20000,1000
+BSCPSB,FLS,PSB,214000,16000,1000,4500,9000,3000,1000,20000,1000
+BSCZOO,FLS,ZOO,214000,16000,1000,4500,9000,3000,1000,20000,1000
+LLB,FLW,LAW,657500,16000,1000,4500,9000,3000,1000,20000,1000
+BSCACC,FMS,ACC,312500,16000,1000,4500,9000,3000,1000,20000,1000
+BSCBAF,FMS,BAF,202500,16000,1000,4500,9000,3000,1000,20000,1000
+BSCBUS,FMS,BUS,282500,16000,1000,4500,9000,3000,1000,20000,1000
+BSCPUB,FMS,PUB,282500,16000,1000,4500,9000,3000,1000,20000,1000
+BSCCHM,FPS,CHM,264000,16000,1000,4500,9000,3000,1000,20000,1000
+BSCICH,FPS,CHM,264000,16000,1000,4500,9000,3000,1000,20000,1000
+BSCCSC,FPS,CSC,274500,16000,1000,4500,9000,3000,1000,20000,1000
+BSCIMTH,FPS,MTH,214000,16000,1000,4500,9000,3000,1000,20000,1000
+BSCMTH,FPS,MTH,214000,16000,1000,4500,9000,3000,1000,20000,1000
+BSCSTA,FPS,MTH,214000,16000,1000,4500,9000,3000,1000,20000,1000
+BSCAPHY,FPS,PHY,214000,16000,1000,4500,9000,3000,1000,20000,1000
+BSCPHY,FPS,PHY,214000,16000,1000,4500,9000,3000,1000,20000,1000
+BSCECO,FSS,ECO,232000,16000,1000,4500,9000,3000,1000,20000,1000
+BSCPOL,FSS,POL,198250,16000,1000,4500,9000,3000,1000,20000,1000
+BSCPSY,FSS,PSY,198250,16000,1000,4500,9000,3000,1000,20000,1000
+BSCSOC,FSS,SOC,198250,16000,1000,4500,9000,3000,1000,20000,1000
Index: main/waeup.aaue/trunk/src/waeup/aaue/students/utils.py
===================================================================
--- main/waeup.aaue/trunk/src/waeup/aaue/students/utils.py	(revision 17443)
+++ main/waeup.aaue/trunk/src/waeup/aaue/students/utils.py	(revision 17444)
@@ -33,7 +33,13 @@
 
 schoolfees_path = os.path.join(
-    os.path.dirname(__file__), 'schoolfees.csv')
+    os.path.dirname(__file__), 'schoolfees_22.csv')
 reader = csv.DictReader(open(schoolfees_path, 'rb'))
-SCHOOLFEES = {item['code']:(item['tuition'], item.values()) for item in reader}
+SCHOOLFEES_22 = {item['code']:(item['tuition'], item.values()) for item in reader}
+
+schoolfees_path = os.path.join(
+    os.path.dirname(__file__), 'schoolfees_21.csv')
+reader = csv.DictReader(open(schoolfees_path, 'rb'))
+SCHOOLFEES_21 = {item['code']:(item['tuition'], item.values()) for item in reader}
+
 acceptancefees_path = os.path.join(
     os.path.dirname(__file__), 'acceptancefees.csv')
@@ -356,9 +362,9 @@
                     return _("No additional fees required."), None
             try:
-                acceptancefees_entry = ACCEPTANCEFEES[student.certcode]
+                acceptancefees = ACCEPTANCEFEES[student.certcode]
             except KeyError:
                 return _('Acceptance fees not yet fixed.'), None
             if category == 'clearance_incl':
-                for item in acceptancefees_entry[1]:
+                for item in acceptancefees[1]:
                     try:
                         amount += int(item)
@@ -366,5 +372,5 @@
                         pass
             else:
-                amount = float(acceptancefees_entry[0])
+                amount = float(acceptancefees[0])
         elif category == 'late_registration':
             if student.is_postgrad:
@@ -384,5 +390,8 @@
                 return _('Study course data are incomplete.'), None
             try:
-                schoolfees_entry = SCHOOLFEES[student.certcode]
+                if student.entry_session < 2022:
+                    schoolfees = SCHOOLFEES_21[student.certcode]
+                else:
+                    schoolfees = SCHOOLFEES_22[student.certcode]
             except KeyError:
                 return _('School fees not yet fixed.'), None
@@ -404,10 +413,10 @@
                              "to pay by instalments."), None
             additional = 0.0
-            for item in schoolfees_entry[1]:
+            for item in schoolfees[1]:
                 try:
                     additional += int(item)
                 except:
                     pass
-            amount = float(schoolfees_entry[0])
+            amount = float(schoolfees[0])
             additional -= amount
             if previous_session:
