External Script to Create Cash Receipts Batch

It's me again.

Looking into using VBA or potentially a vb.net windows form app to potentially create and update Cash Receipt Batches & Deposits. External scripting documentation seems to be pretty limited and I am not sure where to even start when it comes external Sage automation.

If it's even possible, I'd prefer to use (VB's, not Sage's) GetObject() to get the active instance of a running Sage 100 workstation application and use it's active connection to perform these tasks... If not, then can someone explain how to create the scripting object and sign into Sage?

Once I have an active/logged-in session, is it business as usual for setting the _bus object handle [i.e. oSession.AsObject(oSession.GetObject( ... ))] and using .SetKey() and .SetValue() to insert/update records? 

And are there any special considerations I should be made aware of when using external scripts that differ from something like a button script? i.e. do I need to log off the session before destroying it? Will logging off also log the user out of a true Sage instance they were running (if not using GetObject from earlier)? etc

Appreciate the assistance.

Parents Reply Children
  • 0 in reply to Kevin M

    We have a vendor that accepts payments in an online portal. They drop a daily csv file to us via sFTP. Sure it would have been nice to just schedule automated VI imports, but it can't ever be that easy...

    First, the idea of raw VI-importing is dropped cold before we can even get started because we use batches. Management doesn't like using anything other than the 'Next' button to assign batch numbers and deposit numbers, which VI can't support because it can't pass the auto-generated batch/deposit numbers from CashReceiptDeposit over to CashReceiptHeader even though it can generate them.

    Second, we need a way to quickly locate payment exceptions and an easy way to correct them. The summary view this program could provide would help make that process run smoother. The deposits would be imported with the corrections made first rather than fumbling around in different deposits using the Data Entry UI that have to be viewed separately from one another and with very limited information in them.

    Third, these payments need to be grouped together in a way they would hit our bank. There may be 2 or 3 different payments containing a number of different invoice payments each day so there needs to be 2 or 3 deposits created based on some preset rules. These rules could be applied before importing.

    Even if the end still resulted in this exporting a clean CSV file, it still was able to handle the above tasks first. The file would now include assigned batch and deposit numbers and it would have a static file name that VI would know where to look. It would allow for visual verification and confirmation of the deposit from a summary view perspective before importing the file.

    If you really want to know the details, it usually involves a management meeting on process improvement ideas where everyone in that meeting starts sharing their programming ideas but doesn't know what "Hello, World!" refers to. I come in after the fact when it's time to implement them.

    Non-portal deposits are to still be manually entered from Sage. This was intended to automate the majority of the vendor's payment file.

  • 0 in reply to SoonerFan21

    OK, makes sense.

    For importing cash receipts, I usually run the input data through a scripted process (VBScript... or import raw data to a UDT then trigger a Visual Cut report based on the UDT data...) to shape the batches and assign the deposit #'s, then output a single CSV for VI automation.