Hi Ura,
This approach you have is reasonably common.
Basically if you want the user to be able to fetch a subset of the results, then you give them some sort of parameters to do that.
In your case you're asking them for a "From Date" and then filtering the view based on that date. That's a good solution.
The only issue with this solution is that it is a very "coarse" measurement - so the user will likely get duplicate records during the day. For example, today is 28 June. So during the day I might poll your service 5 or 6 times specifying 28 June. Each time I get all the records for today, obviously many of them I have already.
This is not really a big deal though. The data set is still small.
Of course if a record changes for some reason in the past, then I don't get that change. I'm asking for records from 28 June, but say some other field, on an old record, for 20 June changed, then I don't get that. That may or may not be a problem.
In my own app I use the "server time stamp" value. This contains a timestamp of when the record was last changed (on the server). So using this I can check my own file, see the highest servertimestamp is x, so then ask for everything after x. that way I get "everything that has changed". It's the same basic idea as what you are already doing, but I'm using a date/time stamp (so it's not as coarse as a whole day, and I'm getting it based on the _changed date_ rather than say the invoice date.
Cheers
Bruce