There is another scenario where the 'balance assertion' could be useful.  I
sometimes import credit card transactions that accidentally include
payments erroneously credited from the wrong bank account.  Then I wonder
why the bank account is suddenly out of balance.

I have been entering zero-valued transactions for years to accomplish the
'balance assertion' function, usually on the statement dates for some asset
or credit card accounts.

On Wed, Oct 2, 2019 at 6:32 AM Arman Schwarz <armanschw...@gmail.com> wrote:

> Another complimentary feature might be to restrict the date range of
> reconciliations - if I'm reconciling a July 2019 statement against my
> accounts, why should I be given the option of using a July 1010 transaction
> to reconcile against? Maybe I should be able to specify the date range of
> the statemetn I'm reconciling against?
>
> On Wed, 2 Oct 2019 at 21:22, Arman Schwarz <armanschw...@gmail.com> wrote:
>
> > All the issues I've highlighted really boil down to inserting
> transactions
> > before already reconciled ones, so if we could prevent that it might make
> > my concern moot.
> >
> > So perhaps an easier route from a software design perspective would be
> > just adding a warn dialog whenever you try to insert a transaction that
> > comes before any reconciled transactions. You could also warn if the user
> > tries to perform a reconciliation that leaves reonciled transactions
> > _after_ unreconciled transactions.
> >
> > If you try to insert a transaction before a reconciled transaction, valid
> > responses could be;
> > 1) Go ahead anyway
> > 2) Go ahead, but un-reconcile all transactions after the inserted
> > transaction
> > 3) Cancel, never warn again, etc.
> >
> > Actually before I emberass myself here - does this already exist?
> >
> > On Wed, 2 Oct 2019 at 21:06, Christopher Lam <christopher....@gmail.com>
> > wrote:
> >
> >> FWIW I do think it's a nice feature to have.
> >>
> >> It's not terribly difficult to implement either. Allow user to add a
> >> special entry with some metadata stating the balance should be X
> dollars,
> >> and if the user tries to input a transaction which will fail the balance
> >> assertion, pops a warning "Error - this transaction cannot be entered
> >> because it will invalidate balance on d/m/y which should be $amount.".
> >>
> >> As always the devil is in the details: this will be a brand-new error
> >> condition that only triggers upon user input. Should this trigger when
> user
> >> imports transactions via CSV/OFX/QIF? What about with custom scripts
> >> whereby a book has been modified but the balance assertions are no
> longer
> >> valid? What about a book modified externally whereby the assertions now
> >> fail? Should GnuCash fail to open the book because it's now "invalid"?
> >> Should there be a framework/central mechanism to capture all these
> sanity
> >> checks?
> >>
> >> It's really difficult. Software development is hard. For that matter I
> >> don't think any current developer has found this issue particularly high
> >> priority, so, it has never been done.
> >>
> >> On Wed, 2 Oct 2019 at 10:41, Arman Schwarz <armanschw...@gmail.com>
> >> wrote:
> >>
> >>> Sorry for the wordy reply. The TLDR; I think we're on the same page
> that
> >>> Balance Assertions are a "nice to have" but I feel I haven't really
> >>> articulated the scenario/s that I think make this feature quite
> >>> important,
> >>> hence why I'm replying again.
> >>>
> >>> > For example, if I enter a
> >>> > transaction from July 10, 2019 with the incorrect date of July 10,
> >>> > 2010,
> >>>
> >>> This has actually happened to me before, where I'm backfilling some
> >>> statements and I get the years mixed up, but you could imagine it might
> >>> happen also if I'm punching in years on a number pad and write the
> wrong
> >>> value, or if the user is prone to mixing up numbers (also very common).
> >>>
> >>> Now imagine that at the time of this error reconciliation has been done
> >>> for
> >>> all months up to June 2019. 9 years worth of balances are now wrong,
> and
> >>> GnuCash will quite happily ignore the fact that I've told it on
> multiple
> >>> occassions what the balances should be at various dates (hence the
> >>> missing
> >>> feature of balance assertions that you should "get for free" with every
> >>> reconciliation should you want it).
> >>>
> >>> I think the premise of your responses is that I should now do a
> >>> reconciliation to find this issue.
> >>>
> >>> > WHY would you ‘clear’ a 9 year old transaction erroneously it it
> >>> doesn’t
> >>> appear on *this month’s* statement?
> >>>
> >>> (Remember that the transaction will appear on my reconciliation as well
> >>> as
> >>> my statement, it's just that the date will be wrong, but I'll try to
> >>> respond to the core of the question - why would I sign off on something
> >>> that's wrong?)
> >>>
> >>> Firstly I'd say that I shouldn't have to, as GnuCash has at this point
> >>> been
> >>> given all the information it would need to point out to the user that
> >>> there
> >>> is a discrepency (via the many statement balances I would have given it
> >>> to
> >>> do the reconciliations up to this point).
> >>>
> >>> Secondly, most of the time I think you're right in that I would catch
> >>> this
> >>> issue in a reconciliation but I might not becuse:
> >>>
> >>> - Many human errors are not random, but symptomatic of a cognitive
> bias.
> >>> For example, I might mix up 9s and 0s, causing me to type "2010"
> instead
> >>> of
> >>> "2019". This would make me prone to missing this problem in
> >>> reconiliation,
> >>> or
> >>> - I might be in a rush or might only check the balances. I might just
> >>> _happen_ not to check the year because I've been staring at dates all
> day
> >>> and I'm starting to get a bit frazzled.
> >>>
> >>> Remember, I've already made the mistake by inputting the data
> >>> incorrectly.
> >>> There's a good chance I'm confused about the dates at this point, so
> the
> >>> likelihood I'm going to stuff it up at reconciliation is larger than it
> >>> would be for other transactions. In the above example I got the
> balance,
> >>> day and month right, so there's literally only a single digit off!
> >>>
> >>> But the worst part about this scenario is that there is no mechanism to
> >>> catch this down the road. If I make a mistake on the date in
> >>> reconciliation, that's it, it's there forever. Future balances will be
> >>> correct because only the date is wrong, and I'm now stuck with this
> >>> mistake
> >>> forever, and can't know about it even though I've _told_ GnuCash the
> info
> >>> it needs to find the mistake.
> >>>
> >>> It seems like there are several workarounds that reduce the likelihood
> of
> >>> this happening, such as exercising more diligence as Adrien points out,
> >>> or
> >>> the various autocompletion features Liz mentioned. David's point about
> >>> the
> >>> order of entries might also help. But all of these seem to only
> partially
> >>> reduce the likelihood of errors creeping in that really shouldn't be
> >>> allowed to exist in the first place.
> >>>
> >>> I think as a software design philosophy the software really should be
> >>> making it as easy as possible to get it right. I don't dispute that we
> >>> should be diligent when reconciling values, but I think it's not ideal
> >>> that
> >>> the normal workflow could result in permanent errors from a single
> >>> mistake
> >>> (well, two mistakes I suppose, since you'd need to reconcile
> incorrectly,
> >>> but it's not out of the question as I've illustrated).
> >>>
> >>> So it really wasn't my intention to come off as cynical, and I hope I
> >>> haven't done that - I'm actually hugely impressed by GnuCash and will
> >>> continue to use it regardless of whether it has balance assertions or
> >>> note
> >>> (I'll just build it myself), but I'm hoping that I've succeeded in
> >>> articulating why I think it's a worthwhile feature (I know Adrien
> already
> >>> acknowledged this but I wanted to give a specific scenario).
> >>>
> >>> On Wed, 2 Oct 2019 at 19:49, D via gnucash-user <
> >>> gnucash-user@gnucash.org>
> >>> wrote:
> >>>
> >>> > Moreover, when next you go to reconcile, that entry for 2010 will
> >>> display
> >>> > up at the very top of the reconcile window, and one might wonder at
> >>> that,
> >>> > see the incorrect date and fix it.
> >>> >
> >>> > [Technically, Gnucash doesn't store the reconciled amount, it
> >>> calculates
> >>> > it at each reconcile for all transactions with the reconcile flag
> set.]
> >>> >
> >>> > David
> >>> >
> >>> > On October 2, 2019, at 10:17 AM, Liz <ed...@billiau.net> wrote:
> >>> >
> >>> > On Wed, 2 Oct 2019 16:19:10 +1000
> >>> > Arman Schwarz <armanschw...@gmail.com> wrote:
> >>> >
> >>> > > For example, if I enter a
> >>> > > transaction from July 10, 2019 with the incorrect date of July 10,
> >>> > > 2010,
> >>> >
> >>> >
> >>> > That is actually harder than you think.
> >>> > If you do not specify a date, you get today's date.
> >>> > If you specify a number for the number of the day in the month you
> get
> >>> > this month in this year (put in 2 and get 2nd October 2019
> >>> > If you specify a number for the day, and a number for the month, you
> >>> > get this year.
> >>> >
> >>> > So the lazy entering of incomplete dates pulls you to the correct
> year.
> >>> > (I know this can be changed in preferences, somewhere).
> >>> >
> >>> >
> >>> > Nextly, the system does know the last balance at reconciliation. It
> >>> > pulls that value in for the next reconciliation.
> >>> >
> >>> > You can certainly type in transactions with no value, just a
> >>> > description, and in that description put "Confirmed balance $123.45"
> >>> >
> >>> > Liz
> >>> > _______________________________________________
> >>> > gnucash-user mailing list
> >>> > gnucash-user@gnucash.org
> >>> > To update your subscription preferences or to unsubscribe:
> >>> > https://lists.gnucash.org/mailman/listinfo/gnucash-user
> >>> > If you are using Nabble or Gmane, please see
> >>> > https://wiki.gnucash.org/wiki/Mailing_Lists for more information.
> >>> > -----
> >>> > Please remember to CC this list on all your replies.
> >>> > You can do this by using Reply-To-List or Reply-All.
> >>> > _______________________________________________
> >>> > gnucash-user mailing list
> >>> > gnucash-user@gnucash.org
> >>> > To update your subscription preferences or to unsubscribe:
> >>> > https://lists.gnucash.org/mailman/listinfo/gnucash-user
> >>> > If you are using Nabble or Gmane, please see
> >>> > https://wiki.gnucash.org/wiki/Mailing_Lists for more information.
> >>> > -----
> >>> > Please remember to CC this list on all your replies.
> >>> > You can do this by using Reply-To-List or Reply-All.
> >>> >
> >>> _______________________________________________
> >>> gnucash-user mailing list
> >>> gnucash-user@gnucash.org
> >>> To update your subscription preferences or to unsubscribe:
> >>> https://lists.gnucash.org/mailman/listinfo/gnucash-user
> >>> If you are using Nabble or Gmane, please see
> >>> https://wiki.gnucash.org/wiki/Mailing_Lists for more information.
> >>> -----
> >>> Please remember to CC this list on all your replies.
> >>> You can do this by using Reply-To-List or Reply-All.
> >>>
> >>
> _______________________________________________
> gnucash-user mailing list
> gnucash-user@gnucash.org
> To update your subscription preferences or to unsubscribe:
> https://lists.gnucash.org/mailman/listinfo/gnucash-user
> If you are using Nabble or Gmane, please see
> https://wiki.gnucash.org/wiki/Mailing_Lists for more information.
> -----
> Please remember to CC this list on all your replies.
> You can do this by using Reply-To-List or Reply-All.
>


-- 
David Carlson
_______________________________________________
gnucash-user mailing list
gnucash-user@gnucash.org
To update your subscription preferences or to unsubscribe:
https://lists.gnucash.org/mailman/listinfo/gnucash-user
If you are using Nabble or Gmane, please see 
https://wiki.gnucash.org/wiki/Mailing_Lists for more information.
-----
Please remember to CC this list on all your replies.
You can do this by using Reply-To-List or Reply-All.

Reply via email to