Note: the "current date" (i.e. today) for this example is May 31, 2016
With nested IF statements, the flow is from outer IF statements to inner IF statements, and the challenge is always to construct the flow so that the formula returns a logically correct result.
Here, the outermost IF tests first to see if the balance is zero:
If TRUE, the formula returns "Paid".
If not, the result of the first IF is FALSE, and another IF statement is run. This one checks to see if TODAY() is less than the due date in column C:
If TRUE, the formula returns "Open".
If FALSE, the formula returns "Overdue".