> Which screens are you looking at?
>
> There may be an issue with the screen, or there may be an issue with a
> Payment being considered applied when it is applied to a BillingAccount
> rather than when it is actually applied to an Invoice as it should be.
>
> The main entity in question is PaymentApplication. When a Payment is
> applied to a BillingAccount there should be a record there, but if the
> PaymentApplication record(s) doesn't have the invoiceId field populated it
> should not be considered applied to an Invoice and therefore "consumed".
>
> If you could look into the code that would be great, or if others reading
> in who have experience in this area and wrote those screens could get
> involved that would be great.
>
> -David
>
>
[hidden email] wrote:
> > David,
> > I applied a Payment to a billingaccount. Now If I want apply it to a
> > Invoice. The Problem is the Screens that are used to apply a Payment does
> > not let do this.
> >
> > Can you or somebody review these screens. Once we know what to do, I'll
> > redo the code and provide a Patch for it.
> >
> > Regards
> > Anil Patel
> >
> >
> >
> > David E Jones <
[hidden email]> wrote:
> >
> > Si Chen wrote:
> >> Payment increases balance of a Billing Account. Invoice decreases it.
> >> These payments are not related to invoices.
> >
> > This is not quite correct...
> >
> > A Payment applied to a BillingAccount should still be applied to an
> > Invoice. If a Payment comes in before the Invoice, then the Invoice
> > should be "applied" to the Payment when it comes in, or as they come in.
> >
> > There still seems to be some confusion about BillingAccounts. This has
> > been discussed before, so I'm not sure how to put it best...
> >
> > A BillingAccount is essentially nothing. Just forget that it exists in
> > relation to regular Invoice and Payment processes. With or without a
> > BillingAccount those operate and flow the same.
> >
> > A BillingAccount simply allows for more organization of Invoices and
> > Payments related to things like the following (which is not an exhaustive
> > list by any means):
> >
> > - keep track of "credit" available to a customer for purchase on account
> > - keep track of Payments in advance
> > - keep track of a sub-set of Payments and Invoices for a specific client,
> > ie allow them to have multiple billings accounts - allow multiple
> > authorized parties to bill against the same account which one party is
> > responsible for paying
> >
> > Perhaps the best way to see how these might work is just to look at the
> > data structure, and to do so with no assumptions but rather focusing on
> > finding questions instead of answers, and then once those questions are
> > laid out (perhaps on paper if need be) then find the answers to the
> > bigger picture.
> >
> > I haven't reviewed the implementation of all of these things in detail to
> > verify they are working like this, other than review here and there of
> > commits and work done. If anything is assuming that Payments assigned to
> > a BillingAccount are never assigned to Invoices, then that needs to be
> > corrected. I'm not sure what that would even mean because in order for
> > books to balance and for Payments and Invoices to be "closed", they have
> > to be assigned.
> >
> > -David