Using TAB to select Payer or Payee in a transaction

I have noticed that using the TAB key to select (i.e. complete) the Payer or Payee from the drop-down list when entering a Receipt or Payment transaction does not enter that item in the completed transaction.

For example, if I record a receipt for a cash transaction by typing “ca” and press TAB when “Cash” appears in the drop-down list, the Payer field changes to “Cash” but it is not recorded in the transaction.

Rather I must click on the entry in the drop-down list for it to be recorded and appear in the description and contact fields. (I can’t show a screen shot of selecting it as there is no visible difference between the two methods at this point.)
It is only possible to know that this has happened by reviewing the transaction in the Receipts & Payements list

or Bank Accounts list.

I feel completing the Payer/Payee etc using TAB should fill the field exactly the same way as clicking on the entry in the drop-down list to avoid unexpected omissions when entering transactions.

Fortunately, this behaviour does not happen when selecting the Account using the TAB key.

I think what you are experiencing is the result of a difference between the fields mentioned:

  • Payers and payees are free-text fields with autofill enabled. The autofill function suggests prior entries that match what has been typed, but there is no database entry yet to draw on. Selecting an autofill option enters that name into the form. In your example, there is only one option, “Cash,” so the Tab key serves to make that selection. If there were more, you might have to scroll down the list first, then press Tab or Enter. A second press of Tab moves you to the next field. In other words, first enter a name, then move to the next field.
  • Bank accounts, customers, suppliers, and posting accounts are already defined as subsidiary ledgers. So they do not need to be entered, only selected. Pressing Tab can select them and move to the next field. They already exist as entries in a different part of the database. And only those pre-existing choices can be used.

There is actually a third type of behavior, too. In some free-text fields, the autofill function is not enabled. For those, pressing Tab makes the entry and moves to the next field, using whatever has been entered so far. In fact, when making an entry into a field where autofill is enabled, if you keep typing past the point where Manager has any suggestions to make, the program behaves like I’ve just described, using the entry as typed and moving to the next field.

In summary, as long as the program cannot determine whether your entry is complete, it will not move to the next field when pressing Tab. If it has reason to believe the entry is complete, it accepts it and moves to the next field. So, the behavior is quite simple, but not so easy to understand without a lot of experimentation.

Thanks @Tut for a very helpful and complete explanation. I now understand the reasoning behind the different behaviours and will adjust my approach to each situation accordingly.