Gnucash Lots?
Linas Vepstas
linas@linas.org
Mon, 20 May 2002 20:19:43 -0500
On Mon, May 20, 2002 at 10:06:39AM -0400, Derek Atkins was heard to remark:
> linas@linas.org (Linas Vepstas) writes:
>
> > Yes, each invoice is a 'lot'.
> >
> > > The customer pays you a sum of money to
> > > pay for their whole outstanding balance at once (or, worse, only part
> > > of their outstanding balance). What is the UI that processes this
> > > payment?
> >
> > I'm not sure I understand what you are asking.
> > There needs to be a UI that displays a 'lot' aka 'invoice'.
>
> Except you're not showing just one lot. Assume you've posted five
> invoices to this customer -- there are now five open lots awaiting
> payment. This means the UI has to be able to display all five open
> lots at once (and allow a single "payment" transaction to split into
> all of them).
I don't see that you have to show all five invoices at once. Maybe a
one-or-two-line summary of each invoice, showing the balance, the
due-date, the invoice number...
Imagine an invoice from digikey. It would be five pages long, listing
transistors, resistors, and whatnot; I'm not sure I'd have the
intestinal fortitude to view more than one of these at a time ...
Otherwise, I'd show only one invoice per dialog, and include a button
that is labelled 'show next invoice for this customer'.
> > > In particular, how do you present "lots" to the user in an
> > > easy to understand manner such that the payment transaction can have
> > > multiple splits to clear out the various lots?
> >
> > I don't quite understand why this is a 'hard question'. I imagine
> > that there might be an 'invoice report' which looks similar to
> > the 'transaction report', except that it only shows the
> > transactions/splits associated with a particular lot.
>
> Showing just a particular lot is insufficient.
I don't see why its 'insufficient'. One lot == one invoice. Other
accounting packages only display one invoice at a time, I don't see
anything wrong with that.
> Showing all the splits
> for a partcular _customer_ is an interesting report, and is on my list
> of reports-to-write.
Dunno, I'd think that showing a list of all invoices
(a line or two, each) is far more interesting ...
My year-old digikey order: I don't want to see each split. I just want
to see the date, the amount and the words 'paid in full'.
> > It would be nice to be able to embed the register window into a visual
> > layout that looks more like an invoice, with name, address showing, etc.
>
> Already done (have you even LOOKED at current cvs to see what's
> already there?)
Uhh, no, I was just answering your question.
>
> > > I consider this challenging because, simplistically, a user wants to
> > > just say "This customer paid $X on date Y" and have everything else
> > > happen magically (perhaps with some configuration that says something
> > > like FIFO).
> >
> > Yes, you'd want to have something that searches through an account to
> > find all unpaid invoices (all open lots), and apply payment to each.
> > A fifo would do the trick. Someone needs to write such a fifo.
> > I've no particular opinion as to whether such fifoes belong in the
> > engine, or elsewhere ...
>
> True, but the question is: how much control do you let the user have
> over this process? The more control the user has, the more
> challenging the UI. I've got a "payment dialog" which currently gives
> the user zero choice.. They choose a company, enter the amount, date,
> a reference number, a memo, and chose the bank and posting accounts,
> and the dialog does the rest.
A fifo, correctly implemented, allows payments to be automatically
applied, without having to reference a specific invoice. This is
because the fifo can automatically find any open/unpaid invoices,
and tell you what the balance is.
> Currently none of the invoice code (posting or paying) is tied into
> Lots.
Well, you *did* say you needed lots 'yesterday'.
I don't expect you to start using lots immediately (they're not ready)
but I'm not going to give them high priority if I sense that there is no
interest ...
--linas
--
pub 1024D/01045933 2001-02-01 Linas Vepstas (Labas!) <linas@linas.org>
PGP Key fingerprint = 8305 2521 6000 0B5E 8984 3F54 64A9 9A82 0104 5933