Stephen Smith's Blog

Musings on Machine Learning…

Introducing the SDK for the Sage 300 Web UIs

with 13 comments


Sage 300 has always provided an SDK to allow ISVs to create accounting applications in the same way that we create our own applications like General Ledger or Order Entry. In the past our internal application developers have usually only had the SDK installed for doing their own work.

Further these ISVs can install their applications into a working Sage 300 installation by just copying a specific set of folders. We then will see these folders and allow that module to be activated and used.

The new Web Screens will have the same ability to create custom accounting applications and to easily add them to one of our installations.

We will be starting the beta program for this SDK shortly, so this should start to give people a preview of what is coming.

This overview assumes you have an existing SDK program. That you have Sage 300 Views and VB UIs. That you have an activation UI and can activate your module, making it known to Sage 300. This is just how to create the actual Web UI components.

The Module Creation Wizard

We are first going to create a Visual Studio solution for your Accounting module. Then we will use another wizard to add the screens to this solution. The solution will contain several projects that correspond to the parts of a UI screen. This is different than each screen having its own project. This stays in tune with how the ASP.Net MVC tools create solutions and allows us to leverage everything built into Visual Studio.

Create a Visual Studio project. We provide a project wizard to create your solution. Let’s pretend we are going to create the Project and Job Costing module:


The wizard will then ask you some questions about your module.


And then create a solution with the correct project structure for your application.


This solution now has the correct structure to add screens to, plus it has all the module level compents and references. This will compile, but there isn’t anything to run yet.

The UI Wizard

Now you create your separate UIs by running our Code Generation Wizard. You get this by right clicking on the solution and choosing it from the context menu.


This then brings up a wizard that you can step through.


Depending on what you choose for the Code Type, you will get a relevant screen for the details. If you choose Flat you will get the following:


The View ID will be used to generate the model and business repository for this screen. Basically it will use the View meta-data to generate C# classes that will provide most of the functionality to perform standard CRUD type operations.

Next you get a screen to specify which resource file to use for your stirngs:


Like all our previous SDKs there is full support for producing a multi-language product. Of course as in the past its up to you whether you leverage this or not.

Now you get to select some options of features to include:


With in the Sage accounting modules the I/C, O/E and P/O Views contain more functionality for determining if a fields is editable or not than do the G/L, A/R or A/P screens. The “Generate Dynamic Enablement” indicates whether all the checking editbable is done by your UIs or by your Views.

Now its time to confirm to generate the code:


And finally you get the list of files that it generated for you:


The wizard has used the meta-data from the Sage 300 Business Logic View, in this case the PJC Cost Types view to generate the code for a Business Reposity to use and an empty HTML screen.

Real Work

Running these wizards is quite quick and hopefully they give you a good start. The solution will compile and run, but all you get is a blank screen, since the generated Razor View just contains a TODO to add some controls. Now the real work begins adding controls to your Razor Views, adding custom processing logic and generally wiring things up.

You can now use the code-debug-fix cycle within Visual Studio and hopefully find it a productive way to create your Sage 300 screens.

In future articles I’ll talk about creating the Razor Views, using the extension functions we supply to help make this process easier and the CSS that is used to give the screens a standard look and feel. Then we will need to go into how to wire up finders, perform custom processing and all the other things required to make a Sage 300 screen.


This was a very quick look at the SDK for our Web Screens. We haven’t covered any coding yet, but we will. All the functionality used is built into the DLLs installed with Sage 300, so the actual SDK component is quite small. Besides the wizard, there is a lot of framework support to help you with common components and abstractions to hide some of the details.

Written by smist08

November 27, 2015 at 6:19 pm

13 Responses

Subscribe to comments with RSS.

  1. […] Introduction Sage 300 has always provided an SDK to allow ISVs to create accounting applications in the same way that we create our own applications like General Ledger or Order Entry. In the past …  […]

  2. Hi Stephen, how can I get the SDK? Can I be added to the beta testing program?

    Mario Lavignasse

    December 2, 2015 at 6:39 pm

    • Sorry but the beta program is currently full. Anyone that is part of the DPP program will be able to download the SDK in conjunction with the February release.


      December 2, 2015 at 6:50 pm

  3. Hi Stephen, How about Macro recording and external App integration? Is it released for finance modules…


    December 4, 2015 at 4:10 am

    • The regular SDK for 2016 is already available. This includes many integration technologies. VBA and Macro recording is still available for the Windows Desktop screens. Macros don’t make sense in the web, where we are running in browsers on all sorts of devices. What we will be adding are Web Services that can be used for these purposes.


      December 4, 2015 at 9:17 pm

  4. […] my last posting I showed how to quickly create an empty Sage 300 Web UI by running our two new wizards from Visual […]

  5. Stephen, are their plans for DPP training in Richmond after the release of the new SDK in Feb, or web training? If not, then any plans pre or post TPAC in April? Would be nice to know if around TPAC for planning travel dates and length of stay.


    December 5, 2015 at 7:10 pm

    • Yes we will be doing it adjacent to TPAC. We should be sending out information shortly.


      December 5, 2015 at 7:27 pm

      • Super, thank you!


        December 5, 2015 at 8:02 pm

  6. […] been talking about how to develop Web UIs using our beta SDK. But so far we’ve only been running these in Visual Studio, we haven’t talked about how to […]

  7. Hi Stephen,

    Accpac 300 2016 version will be completely web based? i.e. No VB screens anymore?


    December 31, 2015 at 11:22 am

    • We’re in a transition period. The VB UIs will stay for awhile. A lot of people have a lot invested in customization’s and training. We are still developing out the complete set of Web UIs, but as we do each release, more and more will be available and more and more companies will be able to transition to them.


      December 31, 2015 at 4:06 pm

  8. […] I was very happy to be able to head over there and give a one-day training class on our new Web UIs SDK, and then give a few sessions in the main conferences. This year the conference combined all the […]

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: