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

  • Enable to write multiline description in product object

    I am tring to write multiline extended description of product but not able to write it using description. i used \r\n and \n for carrige return or line break but it ignored and description come with single line.

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


  • Sage 100 - Determine if update is programmatic via BOI or Sage Application user

    Wondering if there are some flags/properties in the BOI object that can be used to determine if an update (CI_Item in this case) are

    coming from a Sage Application user or from a BOI program within a Pre-Write script.

    psuedo=allow spaces when coming…

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

  • BOI to update the PO Lines from an external data source

    Hi Forum,

    I need to write a BOI script to update a PO Line UDF from an external Data Source.

    My question is, how can i get the line to update the UDF, i wrote a little script to update the line but i get the message that the o.oLines is in read only…

  • Importing Invoices in BOI doesn't import SO number

    Hi Forum,

    I am importing SO Invoices with a BOI script, imports fine but i cannot get the Sales Order Number to update.

    I have 2 scripts, one to import invoices (I cannot set the SO # here, no error just no SO value in the Invoice Header).

    the second…

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

  • Why would a FedExx FXI-A integration profile created to access a Sage 100 order table require multiple credential logins when processing orders during the day?

    Why would a FedEx FXI-A profile created to access a Sage 100 order table require multiple credential logins when processing orders during the day?

    A  FedEx FXI-A integration data file mapping profile was created to allow access to a Sage 100 order…

  • Forcing Price override for SO_Invoice Line

    I'm currently trying to integrate SO_Invoice using BOI and needing to override pricing on the line item,

    below is snippet of the code on the line level

     retVal = oSOInvoice.oLines.nAddLine()
     retVal = oSOInvoice.oLines.nSetValue("ItemCode$", "XX…

  • Best option for extracting data out of Sage 100 into Third-Party software

    We are looking at a Third-Party software called Master Control for our QA/QC documentation processing.  With that, we want to be able to extract data out of Sage 100c Advanced v2019.2 (upgrading to v2021 shortly) from Scanco's Manufacturing module, as…

  • Sage BOI SO Invoice non inventory item erroring out (invalid)

    Hi all, I'm in need of some guidance and help as I'm stuck in my process of inserting an SO Invoice using SO_Invoice_Bus that includes non inventory (like misc or charges item)

    these items are in sales order with 0 quantity and need to be in the…

  • Looking for consultant to help in installation of Sage API into our sage 100 2020


    We are looking for consultant to help in installation of Sage API into our sage 100 2020 or someone who has worked on similar projects

     Please check below link for understanding:


  • register manual checks


    I have a script to add manualChecks to Sage100. It works.

    I want to register the checks through in the code. I tried to do it with the code I used to register invoices:


  • Can't access lines of receipt of invoice

    I created a receipt of invoice, applied PO to it, changed some info- and in the end I called


    where record is the pvxDynamic representing PO_Receipt_bus. I know that after the write, I have a new receipt in Sage and it's valid


  • AP_OpenInvoice with balance 0


    I'm trying to write a code that gets all the invoices which were fully paid. My idea was to take all the invoice and remove all the open invoices from "AP_OpenInvoice".

    But, I see invoices in that tables that have 0 balance. So probsbly…

  • creating a receipt of invoice with BOI

    Hi, I'm trying to write a code to create a new invoice from PO

    1. set the key ReceiptType$
    2. set the key ReceiptNo$
    3. call setKey()
    4. set PurchaseOrderNo$
    5. set InvoiceNo$

    Now i want to add the lines of the po to the receipt. In addition, i want it to be multiple…

  • Sales Order Payment Table


    Hi Sage Family,

    I'm trying to create a SO_SalesOrderPayment record using an external BOI script. Ebridge is creating the Sales Order and Customer record. The client didn't find out until implemtation that the CC pre-authorization wasn't being done…

  • How to get help from Sage for an API issue?

    I'm a Sage 100 business partner and I've just performed a server migration from an on-premise server to a cloud server. A third party product that was working fine on-premise, isn't working in the cloud installation. The 3rd party developer believes there…

  • PO Receipt of Goods EditKey EditLine

    I have a working Receipt of Goods Visual Studio VB console app.  It's an integration project.  I have a textfile that has the receiving data.  It's easy enough to MoveFirst and MoveNext and match the text data to the PO Line using LineKey (or I could…

  • PO Receipt of Goods what objects to use

    Visual Studio VB app.

    I want to use SelectNewBatch method.  I am using these objects:

    taskID = oSS.nLookupTask("PO_ReceiptOfGoods_ui")
    retVAL = oSS.nSetProgram(taskID)
    oSEC = oPVX.NewObject("PO_ReceiptOfGoods_ui", oSS)
    oBUS = oPVX.NewObject…

  • Object Handle to UDT in PowerShell or C#


    I need to establish an object handle in PowerShell to a UDT. I know how to do it in VBScript. Does anyone know the proper syntax in PS? If not C# would be helpful as well because I could try to figure it out from there.

    For regular object handles…