New Invoice Dialog Box

Geert Janssens janssens-geert at telenet.be
Sat Jan 16 12:17:37 EST 2010


On Saturday 16 January 2010, Derek Atkins wrote:
> Hi,
> 
> Yawar Amin <yawar.amin at gmail.com> writes:
> > On 1/12/10 9:02 PM, Bill Jacqmein said:
> >> http://www.ghacks.net/2010/01/11/invoicing-with-gnucash/
> >
> > I just looked through this article (it's pretty good) and looks like the
> > New Invoice dialog box is asking the exact same information  (invoice
> > ID, customer ID, date opened etc.) that can be input in the invoice
> > while it's being edited. Wouldn't it be simpler to have the Business >
> > Customer > New Invoice command immediately open up a new invoice that
> > can then be edited as the user wishes?
> 
> No, you cannot input or change the invoice ID, customer ID, date opened,
> etc in the main Invoice page where you enter your invoice line items.
> Think of it like an Account and an Account Register; you cannot edit the
> Account information from the Register; you have to open up an "Edit
> Account" dialog to change the account properties (vs. the account
> contents -- the splits/transactions).
> 
> The Invoice is designed in exactly the same way.  You have the Invoice
> Information (IDs, dates, etc) and then the Invoice Contents (the line
> item entries).  In order to change the Info you need to 'edit' the
> invoice "metadata" (by clicking on the Edit Invoice button).
> 
> The only meta-information you can edit from the main invoice window is
> the Notes field and the 'active' button.
> 
> Would it be SIMPLER?  Maybe..  But it would be wrong.  It exists as a
> dual window in order to protect the invoice from corruption by errant
> inputs.
> 
> > Y.
> 
> -derek
> 
I certainly agree on the concept: protect the invoice metadata while entering 
the invoice content.

I do believe on the other hand this can also be achieved within one single 
window:
* New invoice could immediately open the invoice, with the metadata fields 
enabled for input.
* Add a "Done" or "Proceed" or whatever button to the metadata fields.
* Once clicked, disable the metadata fields (with visual feedback) and shift 
focus to the ledger to enter invoice content.
* Keep the "Edit Invoice" button to allow changing the metadata later on.
* When clicked, re-enable the metadata fields (also with visual feedback) and 
lock the ledger, until done is clicked again.

With visual feedback I imagine changing the background color of either the 
fields or the complete metadata block.

The above is only a rough sketch of the idea. It obviously still needs 
refining. And I'm aware it requires several often user-invisible changes to 
the widgets used on the invoice window.

This approach essentially integrates the dialog box into the invoice window.

Why would I want this ?
Mainly because my usage of GnuCash often involves repetitive invoice creation 
(enter x invoices in a row). Every popup window that can be avoided in such a 
workflow increases the efficiency.

I don't think the use case where invoices are only occasionally entered are 
negatively affected with such a change.

Geert


More information about the gnucash-devel mailing list