Sage 100

 View Only
  • 1.  Automated way to update AR Aging Buckets

    Posted 02-19-2025 11:59

    A customer is looking for an automated way to update AR Aging buckets. I know there are several ways including printing AR Aged Invoice Report, Statements, Run Rebuild Sorts and answer yes to update aging.

    And some of these can be added to Sage 100 Task Scheduler - which I'm hesitant to do because Task Scheduler seems to be one of those "it usually works" features and I'm not interested in creating a long term support project and having to debug why a report might not have run.

    I have seen people mention using perform logic attached to a VI job. And that seems like one of the better ways to manage this provided it's fairly "bullet proof" if I create a BAT file to attached to Windows Task Scheduler.

    Would anyone have a sample perform logic they could share - both for my own use and also for the library? 



    ------------------------------
    Wayne Schulz
    wayne@s-consult.com
    Schulz Consulting
    (860) 516-8990
    CT
    ------------------------------


  • 2.  RE: Automated way to update AR Aging Buckets

    Posted 02-19-2025 12:25

    For a client several years ago we implemented a Script that runs the A/R Aging out to Paperless, daily via Windows Task Scheduler on the server.  This worked fine until we realized it's just picking up the Aging Date as per the last time the Aging was run.  Therefore, we needed someone to run the Aging daily, ideally at least Mon - Fri.  Hadn't gotten back to trying to figure out if that's rectifiable.



    ------------------------------
    Brett Zimmerman
    Net at Work
    Greater Boston Area
    ------------------------------



  • 3.  RE: Automated way to update AR Aging Buckets

    Posted 02-19-2025 13:55

    Brett - what was the issue here - was it that the report date on the server wasn't changing?  What was the key difference between running it unattended on the server through scheduler and someone at their desk running the report (this is our current proposed workaround)?



    ------------------------------
    Wayne Schulz
    wayne@s-consult.com
    Schulz Consulting
    (860) 516-8990
    CT
    ------------------------------



  • 4.  RE: Automated way to update AR Aging Buckets

    Posted 02-19-2025 14:27

    I think the issue with scheduling the Aging report is that it uses the module date as the aging date... and the module date doesn't get updated by the task scheduler.

    I seem to remember doing a SQL script many years ago to set the module date for a Premium client, to bypass that problem... but my memory of the details might be mixing this situation up with something else.



    ------------------------------
    Kevin Moyes
    Technical Systems Analyst
    Munjal White Consulting Co.
    Toronto ON
    ------------------------------



  • 5.  RE: Automated way to update AR Aging Buckets

    Posted 02-19-2025 15:52

    Seems like another "little" PITA issue that Sage could fix.  Is this on the Ideation for 2026?



    ------------------------------
    Jeff Schwenk
    Owner
    Bottomline Software, Inc.
    Waynesboro VA
    (540) 221-4444

    Improving bottom lines for over 25 years!
    ------------------------------



  • 6.  RE: Automated way to update AR Aging Buckets

    Posted 02-20-2025 15:51

    I'm not entirely sure what the issue was, @Wayne Schulz, but it sounds like Kevin is familiar.



    ------------------------------
    Brett Zimmerman
    Net at Work
    Greater Boston Area
    ------------------------------



  • 7.  RE: Automated way to update AR Aging Buckets

    Posted 02-21-2025 00:01

    This should be solvable by using the report object's GetOptions, ReplaceDefault, and SetOptions method to replace the aging date with a dynamic date in the YYYYMMDD format.



    ------------------------------
    David Speck II
    Blytheco LLC
    ------------------------------



  • 8.  RE: Automated way to update AR Aging Buckets

    Posted 02-21-2025 00:16
    Edited by David Speck II 02-21-2025 00:17

    Recently had a customer ask for a modification to a job that toggles a customer's credit hold based on those aging fields so I used perform logic on the following events to do this.

    • On Execution: Get the object handle to the AR_Customer_Svc object.
      • oAR_Customer_Svc = NEW("AR_Customer_Svc", %SYS_SS) ! '
    • On Completion: Drop the AR_Customer_Svc object.
      • DROP OBJECT oAR_Customer_Svc; oAR_Customer_Svc = 0 ! '
    • After Read: Age the customer by pointing the first argument to the column that holds the ARDivisionNo and the second argument to the column that holds the CustomerNo.
      • oAR_Customer_Svc'AgeCustomer(IMP$[1], IMP$[2])

    The import job can be set up to use ODBC as the source with a specific DSN set up for the target company or you can select the SOTAMAS90 DSN and click the "key" button to enter credentials.  You will have to specify the company by entering the user name followed by the vertical pipe and the company code, i.e. odbc|ABC.  Select AR_Customer as the source table and then select at least the ARDivisionNo and CustomerNo field.  Add at least the ARDivisionNo and CustomerNo fields to the Data tab.  You could optionally create a UDF to populate with the current system date to identify the last date the job ran successfully but this will cause the customer record to be updated and will change the UserUpdatedKey.  If you don't want to update the customer record, you can just add something to the Select tab to make it where it is impossible for any records to meet the criteria, such as ARDivision being equal to ZZ or something similar.   

    Once the job is set up and compiled, you can either schedule it using Task Scheduler in Sage 100 or use the old external shortcut approach to schedule the job.



    ------------------------------
    David Speck II
    Blytheco LLC
    ------------------------------



  • 9.  RE: Automated way to update AR Aging Buckets

    Posted 02-21-2025 19:40

    Very cool!!



    ------------------------------
    Brett Zimmerman
    Net at Work
    Greater Boston Area
    ------------------------------