You can't mix file iteration and readline(). The Built-In Types doc for file.next() says:
"In order to make a for loop the most efficient way of looping over the lines of a file (a very common operation), the next() method uses a hidden read-ahead buffer. As a consequence of using a read-ahead buffer, combining next() with other file methods (like readline()) does not work right. However, using seek() to reposition the file to an absolute position will flush the read-ahead buffer."
with open(os.path.join(INPUT_FOLDER, filename)) as input_file:
while True:
line = input_file.readline()
if not line:
break
if line.upper().startswith('DESCRIPTION'):
description = line.split('DESCRIPTION')[1].strip()
line = input_file.readline()
while not line.upper().startswith(SALARY):