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

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

  • Purging Records from UDT used as Lookup Table on Sales Order Entry

    I have developed a UDT and using as a lookup table for UDF in Sales Order Entry.  Prior to updating the table with new look up values my script is:

    Do until oUDT.Eof = 1
         retVal = oUDT.GetValue("UDF_SHIP_VIA$",Via)
         if Via <> "" then…

  • 100E - Sage 100 - Object Interface Course Purchase Issue


    I purchased the above mentioned course on Sage university but I was not able to access the material as the payment was pending.

    Also, I got a auto mail from sage informing that one of their sales person will contact us for payment part, but I haven…

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

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

  • Read & Write data in Sage100 using Business Object Interface


    I am new to Sage100 and customer is using Sage100 advanced which comes with ProvideX ODBC driver which only allows to read data from Sage100.

    I did some research on the functionality to write back the data in Sage100 but was not able to find any supporting…

  • How to automatically create Work Ticket in Production Management from Sales Order using BOI

    I have built an order importer that automatically creates sales orders based off of an EDI file from our customers.  It works great.  We are currently upgrading Sage 100 to include Production Management Plus and I want to be able to add in the ability to…

  • A batch number is not set up when creating invoice using BOI

    Hi all, 

    I was searching around and was not able to find issue that would provide me a hint on the problem I'm currently facing and was hoping to request some help from the community.

    I'm getting the error of.. A batch number is not set up


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

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

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

  • Purchase Order Receipt not properly saving

    I'm working on an integration for a client and am trying to create PO Receipts using c# and Sage 100's BOI. The end result shows the vendor when I look at all PO Receipts, but the receipt is empty when I view the full receipt

    Here are the current…

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

  • BOI - Bypass Separate Check Popup

    I'm working on a BOI script to create Manual Check entries from a CSV. 

    Everything can import successfully, except when the invoice was set with SeparateCheck = "Y". In regular UI, you get the popup message "The Invoice ____ is flagged for separate…