English grammar books taught this rule forty years ago:
"Shall" is used for the first person, singular and plural, to indicate the simple future tense. "Will" is for the second and third persons, singular and plural, for the simple future.
ex: I shall stay. He will go.
To express determination or making a promise, "Will" is used in the first person, singular and plural, and "shall" is used for the second and third persons.
ex: I will help. / You shall have your reward. / He shall not pass by here again.
Those rules are no longer applied. In present-day English, "Shall" is generally used to make suggestions. ex: "Shall we leave at 8:30 for NY? / "Shall I open the window for you?"
Of course, you can still use "shall" for the simple future for the first person. It's correct, formal English.
source: Harbrace Handbook of English