82a2c8a9

By: Tom Sydney Kerckhove <syd@cs-syd.eu>

Treat the output file as the source of truth, and never book an unfinished month

The importer only ever adds months the file has no transaction dated in.  It
never rewrites a month that is already there, so a hand edit sticks.  Filtering
after emitting rather than before also stops the opening balance transaction
being re-emitted with a new date on every run that adds a month.

A month that has not ended is not booked at all, because Stripe is still
collecting it and, given the above, half a month written now would stay half a
month forever.  It still counts towards the balance checked against Stripe.

Listings are conduit sources, so a page is fetched only once downstream has asked
for something past the previous one.