• Error 88 on Sales Order Entry Lines

    We are experiencing an error 88 on Sales Order Lines.  The error occurs only on large orders with numerous lines, especially when adding inventory items to the order on the fly.  The line prewrite script is failing and referencing different UDT objects…

  • Button Script on Customer Maintenance to open UDT maintenance UI for a particular AR_UDT. The second step would be to pass the Customer Number to the CM_UDTMaintSelect_UI

    We would like a Button Script on Customer Maintenance to open UDT maintenance UI for a particular AR_UDT.

    The second step would be to pass the Customer Number to the CM_UDTMaintSelect_UI. This would work great as there are multiple records in the UDT…

  • BOI not pushing web orders to Sage 100

    We are encountering an issue where CIM Cloud web orders are successfully pushing to the ERP Driver but is failing to create a BOI session. Any suggestions on what other pieces we can troubleshoot before reinstalling the ERP Driver? 

    What we have tried…

  • Is the BOI going to stick around for awhile? Is there a better way to communicate with Sage 100

    I've been working with the Sage 100 BOI for some time now and have done a lot of C# applications that interact with the BOI for all sorts of Sage 100 integrations.  As we all know the "API" is pretty clunky.  I thought about creating a class…

  • Sale order zipcode import issue after upgrading from Sage 2018 to 2021


    We just recently upgraded to Sage 2018 to 2021 and our third-party web service(Deposco) sale order imports are now having issues after migration.

    Error response: FAILED : Exception: Error trying to set property BillToZipCode$ with value 46550. Last…

  • Update existing PO lines

    I am new to this so please bear with me. I have the following script ( i can only post a portion of the code. The SPAM blocker flagged it as malicious) that is used to update two UDF fields from a .csv file. It is called via a custom application. I am…

  • Copy UDF Values from AR_CUSTOMER.M4T to Equivalent UDFs on new Sales Orders

    New to this forum, and new to using the Business Object Interface.  


    I'm on Sage 100 2022 Standard, and am about to implement Sage Alerts & Workflow.  One of the tasks I will be creating will periodically look at all open Sales Orders and…

  • Persistent connection to Sage BOI with PHP?

    Our company is working on a locally hosted PHP web-server that connects with our local Sage 100 instance for our internal use. So far it's working pretty well, but it takes about 10 seconds to open up a session in Sage 100 with the BOI and execute a script…

  • DFDM Modifications to Allow UDT Field Lookups

    When viewing a multi-line field within DFDM I noticed that one of the UDF fields within the current table (AR_Customer) had a Nomads Tag that suggested I may be able to possibly manipulate a different multiline field to perform a lookup within a UDT.

  • CustomerNo$ not on file

    We have no issues creating AR invoices in the ProvideX library with Sage 100 Advanced. We have several clients using our integration (all with Advanced). We were told our code would not need to change to support Premium (SQL). After setting up Premium…

  • BOI Create Completion Transaction for Work Ticket

    I'm trying to use Business Objects to create a completion transaction for a Work Ticket in Sage 100 2022.  I can't seem to figure out how to add the work ticket to the actual transaction.  Below is a slimmed down version at its simplest form of…

  • Delete Change Items in BOI

    Is it possible to do this? I've been able to populate the IM_DeleteChangeItems table using BOI, but I can't figure out how to actually apply the changes to the item codes using BOI.

    If it's not possible that's okay, but please let me know if that…

  • BOI Update Receipt of Goods Register Sage 100 Premium 2022 BOI

    Hi All,

    I am having an issue running PO_ReceiptRegister_upd. I am trying to run the Receipt of Goods Register from BOI.

    oSS.InvokeMethod("nSetDate", "P/O", date);
    oSS.InvokeMethod("nSetModule", "P/O");
    //DispatchObject security = new DispatchObject…

  • NetCore IIS scoped requests - Sage BOI - Cannot initiate multiple "SY_Session"

    HI All!

    We've put together a netcore API hosted on IIS for integrating with other tools we have.  All of our services on the API are scoped to give the requests their own instances and dependencies.  

    public static void AppServices(this IServiceCollection…

  • Read line items for a specific Invoice order without using a loop for every order.

     using (DispatchObject soObject = new DispatchObject(pvx.InvokeMethod("NewObject", "SO_Invoice_bus", oSS.GetObject())))              	 {
                        soObject.InvokeMethod("nSetKeyValue", new object[] { "InvoiceNo$", strRefNumber });

  • C# BOI example of creating an AR_Invoice with lines/details

    Is there anyone that can help with providing an example of creating an AR Invoice with lines/details in C# using either BOI or the nuget package www.nuget.org/.../

  • 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:


  • Sage100.ObjectManagement Interfaces .net Error when creating line entry

               var sessionLogon = new SessionLogon
                    CompanyCode = companyCode,
                    UserLogon = new NetworkCredential { UserName = userName, Password = password },
                    ModuleCode = ModuleNames.AccountsReceivable…

  • C# Create Sales Invoice From Sales Order; nSetKey() fails, sLastErrorMsg = "The [InvoiceNo] is invalid"

    I am on Sage 100c Standard 2016 (Version (yes, I know it is very old, and have plans to upgrade to a supported version).  I am attempting to create a program in C# that creates a sales invoice from a sales order.

    When my program executes the…

  • Cleanup() returns null

    I have a C# code that integrates with Sage 100 2021 Standard.

    After performing some action I want to clean and close the session I opened. for this I'm using:


    for some reason the nCleanup() returns null instead…

  • How to get business object names for table from Sage 100 BOI

    Is there a way to get a list of all the business object names for a table from the Sage 100 BOI? The SY_File object from the FileObj property on the session object seems to have methods to get a list of all the table names. Looking to expand on that where…

  • 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…

  • Access PO_ReceiptReturnMatRqByPO

    How can I access the table object PO_ReceiptReturnMatRqByPO? I need to delete a record from this table which refers to a ghost receipt and locks my PO.

    There isn't a file with _bus or _svc, so using NewObject returns "NewObject Error 90".…

  • Looking for a Microsoft Power App expert

    Looking for a Microsoft Power App expert who can develop a power app application that will fetch data from the SQL database in bulk and then send that data to Sage 100 ERP via Sage 100 API connector which is already installed. Data to be picked and sent…

  • How do I enter account Partner_Account Number on Sage University as the website does not have an option to update it?

    Hi All,

    I have placed an order for a course on Sage university but the system is not allowing me make the payment. Hence, we reached sales customer service via email and they reset the same and asked us to try and purchase the course again to redirect…