I have the following BPM as a SalesOrder.Update Directive. It puts
customers on credit hold during order entry if the customer has open
invoices older than 61 days (about 2 months), I net all credits. We
are single company so I hard coded the company name. I hope this
helps you.
/* Put Customer on Credit Hold if they have open invoice (net of
credits) over 60 days old */
for each ttOrderHed where (ttOrderHed.RowMod = "A" or
ttOrderHed.RowMod = "U") no-lock.
Find Customer Where Customer.Company = "ICC" and Customer.CustNum =
ttOrderHed.CustNum no-lock.
If Customer.CreditHold = False Then do:
Define variable Bal as decimal init 0 no-undo.
for each InvcHead where InvcHead.Company = "ICC" and
InvcHead.Posted = True and InvcHead.CustNum = ttOrderHed.CustNum and
InvcHead.OpenInvoice = True no-lock.
/* accumulate all credits and invoices over 60 days and all credits*/
If ( InvcHead.InvoiceDate < Today - 61 ) or (InvcHead.InvoiceBal <
0 ) Then Assign Bal = Bal + InvcHead.InvoiceBal.
End. /* for each InvcHead */
If Bal > 5 Then do:
Find Customer where Customer.Company = "ICC" and
Customer.CustNum = ttOrderHed.CustNum exclusive-lock. If
Customer.CreditHold <> True Then do:
run lib\UpdateTableBuffer.p(input BUFFER
Customer:HANDLE,"CreditHold",True).
run lib\UpdateTableBuffer.p(input BUFFER
Customer:HANDLE,"CreditHoldDate",Today).
run lib\UpdateTableBuffer.p(input BUFFER
Customer:HANDLE,"CreditHoldSource","Over 60 Days (BPM)").
End. /* do <> True */
End. /*do Bal > 5 */
End. /* CreditHold = False */
End. /* each ttOrderHed */
customers on credit hold during order entry if the customer has open
invoices older than 61 days (about 2 months), I net all credits. We
are single company so I hard coded the company name. I hope this
helps you.
/* Put Customer on Credit Hold if they have open invoice (net of
credits) over 60 days old */
for each ttOrderHed where (ttOrderHed.RowMod = "A" or
ttOrderHed.RowMod = "U") no-lock.
Find Customer Where Customer.Company = "ICC" and Customer.CustNum =
ttOrderHed.CustNum no-lock.
If Customer.CreditHold = False Then do:
Define variable Bal as decimal init 0 no-undo.
for each InvcHead where InvcHead.Company = "ICC" and
InvcHead.Posted = True and InvcHead.CustNum = ttOrderHed.CustNum and
InvcHead.OpenInvoice = True no-lock.
/* accumulate all credits and invoices over 60 days and all credits*/
If ( InvcHead.InvoiceDate < Today - 61 ) or (InvcHead.InvoiceBal <
0 ) Then Assign Bal = Bal + InvcHead.InvoiceBal.
End. /* for each InvcHead */
If Bal > 5 Then do:
Find Customer where Customer.Company = "ICC" and
Customer.CustNum = ttOrderHed.CustNum exclusive-lock. If
Customer.CreditHold <> True Then do:
run lib\UpdateTableBuffer.p(input BUFFER
Customer:HANDLE,"CreditHold",True).
run lib\UpdateTableBuffer.p(input BUFFER
Customer:HANDLE,"CreditHoldDate",Today).
run lib\UpdateTableBuffer.p(input BUFFER
Customer:HANDLE,"CreditHoldSource","Over 60 Days (BPM)").
End. /* do <> True */
End. /*do Bal > 5 */
End. /* CreditHold = False */
End. /* each ttOrderHed */
--- In vantage@yahoogroups.com, "wm_l_gann" <wgann@...> wrote:
>
> Did anyone ever figure out how to build such a BPM? I'm trying and
> it's giving me fits because the credit hold flag is in the customer
> table, but customer is not in scope for invoice.update.
>
> Anyone have any ideas?
>
> Bill Gann
> Wastequip, Inc.
>
> --- In vantage@yahoogroups.com, "Scott Litzau" <scott.litzau@>
wrote:
> >
> > If you can figure that out can you set up a BPM to take customers
> and their
> > orders off credit hold if they falls under their credit limit. I
have an
> > enhancement request in for that one.
> >
> > Scott Litzau, MCP
> > Olympus Flag & Banner
> > Information Systems Manager
> > scott.litzau@
> > P: 414-365-9732
> > F: 414-355-1931
> >
> >
> > -----Original Message-----
> > From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com] On
> Behalf Of
> > Edward F. Fox, Jr.
> > Sent: Thursday, June 26, 2008 10:14 AM
> > To: vantage@yahoogroups.com
> > Subject: RE: [Vantage] Accounts receivable credit hold by past due
> >
> > I think you could set up a BPM to do that. I would like to
> investigate that
> > myself too.
> >
> >
> >
> > Edward F. Fox, Jr., CPA
> > Controller
> > Maxson Automatic Machinery Company
> >
> > _____
> >
> > From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com] On
> Behalf Of
> > fsu87atl
> > Sent: Thursday, June 26, 2008 11:10 AM
> > To: vantage@yahoogroups.com
> > Subject: [Vantage] Accounts receivable credit hold by past due
> >
> >
> > Is there a way that the system will automaticly place a customer
on
> > credit hold if they are past due? Where would this be set up? I
do
> > not see this in company config.
> >
>