• Permanently Enable Button on UI

    I have a button script located on a Cash Receipts Entry screen. Sage disables it by default until a customer number has been entered. The purpose of the button is to assist the user with locating the customer number, so this doesn't work for our use-case…

  • Button Script to Add Comment Line to GD_Lines Table in SO Invoice Data Entry

    From the Payment tab in SO Invoice Data Entry I have added a button with the caption "CC Receipt". Upon a user clicking this button I would like a comment (Item code /C) added to the next line number with details from the credit card.


  • 'Table' Does not have correct permissions, when running script

    Hi, I made a script in Sales Order Entry that loops thru the lines and changes a few fields based on the previous lines (trying to group lines together for a report).

    I'm getting an error now and after a lot of troubleshooting I realized that I only get…

  • Script to find the Contact Code from the Confirm To in Sales Order

    Hi, I'm trying to write a script to find the Contact Code using the Confirm To in the Sales Order header so that I can populate some user defined fields in the contact code maintenance into the sales order header. I have this so far, but it's not finding…

  • Type mismatch


    I'm trying to convert numbers entered into a text field to an integer value.  I have tried:



    but nothing seems to work.  Any ideas?



  • Creating a simple script to restrict specific GL accounts from certain users

    Hi, I am trying to create a script that puts the focus back on the GL account field when specific GL accounts are selected by user. So, when a user enters a GL account with a UDF_RESTRICTED value of Y, then Sage will focus back on the GL account and not…

  • SO Invoice Data Entry: Button Script to get Invoice No from an SO No

    I have added a button script to the SO Invoice Data Entry MAIN panel and was wanting to make looking up an invoice that has already been batched a little quicker.

    Essentially, instead of the user typing the invoice # they would type the sales order #…

  • Using python with the BOI

    We have a python (3.10) application that we want to use to create a sales order in Sage 100.

    I have installed pywin32 so the python script can access win32/COM.

    This code works up to the point where I try to call a method on the SY_Session object:


  • Script to Synchronize Customer Billing Address in Sales Order Data Entry

    I was attempting to create a VB Script (to be executed via an External Link button) that would update the billing address within a sales order from the customer's AR address. Currently our admins do not have the ability to manually change a customer's…

  • How to use the "SO_PickingSheetPrinting" method "SelectOrder" to queue sales order picking sheets to be printed

    From a BOI script I would like to select individual orders so that a type "4" record will be added to "SO_SalesOrderPrint" table. The method "SelectOrder" calls for two separated string parameters: "hdrRec$" and "dtrRec$". This is confusing. Why would…

  • Using BOI to print Quote

    Looking to use the BOI to retrieve a quote as a PDF. Can see topics here about generating sales orders as PDF's, example:


  • Looping a table while batches enabled


    I want to loop through all my not-registered invoices.

    What I do (in general) is:

    dynamic obj = pvx.NewObject("AP_ManualCheck_bus", oSession);
    obj.nMoveFirst();   //To get to the first record 
    //Rest of code

    The problem is that I have…

  • 100E - Sage 100 - Object Interface Course


    I want to read and write data in sage100 database, so after some research I found out this course for reference.

    But just need to validate that is this course really guides on how to read and write back data to Sage100 database or not?

    This is the…

  • Sales Order Entry / Totals Tab / PaymentObj

    I believe the Deposit Payment Type on the Totals panel and other data reside in PaymentObj.  What table is associated with this object?  Where/how can I find the data?

  • Unable to drop object in event script

    I have a working event script tied to S/O detail that fires on post validation of quantity ordered.  The script automatically creates a BOM Production Entry for the item entered, updates the production entry and updates the GL DTR.  The problem I'm having…

  • GetResultSets pagination

    Is there a way to paginate the GetResultSets() function in boi? I'm thinking sort of like how in SQL, you can use OFFSET and LIMIT to divide the query results into multiple pages. Is there a way to do that with the GetResultSets() function?

  • Rebuild Sort Files using BOI?

    Has anyone been able to Rebuild Sort Files (and/or Key Files) using BOI? Last post on this topic from 12 years ago said no, but perhaps someone has figured it out since?

    I see the objects SY_Rebuild_bus in the Object Reference but am not certain if that…

  • Button Script to delete Sales order with cancel code

    Hello all,

    I wrote a script with the goal to delete sales orders with a specific condition. So I can delete sales orders just fine its just that when the orders are deleted the cancel reason code is not flowing to history it is staying blank. I am even…

  • Sage 100 BOI Script to Create Inventory Transactions

    I'm writing a BOI script to create Inventory Adjustment Transactions.  I want to use the next available entry number so I have the GetNextEntryNo(refNo$) function in my script.  What I can't figure out is what the "refNo$" needs to be.…

  • Sage 100 SQL - Use Script Tied to Button on Production Entry Header to Open UDT Screen and Return Data From UDT to Production Header

    Is it possible from the Production Header panel, via a script, either tied to a button click event or on one of the table events, to open an existing UDT (so that the user can see the UDT), then get a value from it and set a textbox on the Production…

  • Populate Object (e.g. BM Production Entry) and open UI

    I am looking for a way to use a script in Sage to create an entry, e.g. a Bill of Materials Production entry, and then open the UI for this entry to have the user complete it. I know how to open the UI for a specific program, and  I know that I can open…

  • User Defined Script - Problems Getting Child Handle

    I'm trying to accumulate the quantities of all the detail lines in an AR invoice, but only if the item is of a certain type.  I defined a UDF for that checkbox, and put it in the Item Maintenance screen.

    I would like the total to update whenever a user…

  • Creating PO via BOI Write Issue

    Hello All! I have an issue with creating a PO via BOI that I was hoping someone can help me with. We're using  Sage 100cloud Premium 2019 Version Here's my code:

    using (DispatchObject poObject = new DispatchObject(pvx.InvokeMethod("NewObject…

  • Bill of Materials InvokeProgram Script

    I am trying to launch either BOM Inquiry or Maintenance using an InvokeProgram or Process User Defined Script, but any time I add the Bill I get the error "You do not have security rights to create the record" but I am not trying to create a record. Any…

  • Paperless Office Email from AR Invoice History Printing Report through BOI


    I have an issue with automating invoice emails through Paperless from the AR Invoice History Printing report. The code below works fine in my test environment but fails (without an error) in the target environment.

    My test environment is v20…