Personally, I’m getting the stop letters from stopLetter in stopPoint in stopPointSequences, as I extract them from /Line/Route/Sequence. However, allowing for the prepended -> issue already mentioned. I agree that this one is indeed showing a null (it did not have a stop letter last time (Oct 2015) I was there).

By my count there are about 300 stops where the letter is either mismatched with reality, shown but not present or present but not shown. Note that this figure also includes any errors by me in recording what I’ve seen. I suspect that keeping this data accurate with reality is a full time job and a 1% error rate seems pretty reasonable in the circumstances.

I do, but the forum won’t let me upload a spreadsheet. The attached file should be renamed to Mistmatched Stops.xlsx before opening. [Edit: Looks like it won’t accept it even if I rename it to .png. If you PM me with a suitable email address, I’ll forward the file to you]

In general, if there is some evidence of there having been a letter disc, I’ve assumed that your data is correct, otherwise I’ve gone with what I saw. My '-'s are the equivalent of your nulls/zero-length strings. The dates are the date that I first visited the stop, not necessarily the most recent visit.