I know there are several ways to convert lines to points in QGIS but I have not been able to find a solution that will convert the file so that it indicates if the point is the start point (upstream) or end point (downstream).
You can find this algorithm in the Processing Toolbox. More info here.
For your case, you could first extract start vertices (parameter
0) and add an attribute/column with value
start for every feature. Then do the same for end vertices (parameter
-1 and value
end) and merge both layers. The line's attributes will be carried over to the new point layers, so (assuming the lines layer has an ID column) it is possible to see what line the point is a start or end point of and whether it is a start or an end point.
If you want to find all vertices instead of just end points, use the Extract vertices algorithm.
I have no idea why this question has suddenly reappeared but it is now quite an easy task:
If you wanted to work entirely within QGIS (rather than in a database as suggested in the older comments) then the Qchainage plugin will output start and end points with their respective chainage, plus the FID of the line they're associated with. An easy task then to add a new column and use a CASE statement to determine whether a point is a start point (chainage 0) or an end point (chainage >0)