Stephen Smith's Blog

Musings on Machine Learning…

Posts Tagged ‘order entry

Value Added Application Features for Sage 300 ERP 2012

with 5 comments


With each release, besides the big features, we implement a number of common requests that customers have made through our ideas web site. This blog posting covers a number of these that will appear in our forthcoming Sage 300 ERP 2012 release.

Many of the items will appear in the Order Entry screen (OE1100).  Below is a screen shot where you can find most of the items mentioned for Order Entry.

Alternate Line Shading for Grid/List Controls

Many of the grid, list and table controls in Sage 300 ERP are quite wide and following a row from left to right can be difficult or require a lot of concentration. With the 2012 release all such table controls will display alternate line shading to make it easier to visually track horizontally.

Some tables in Sage 300 ERP are colorful, what about these? Actually the shading is done by taking 95% of the existing color, so the displayed grey is actually 95% of white. In more colorful tables this then gives the same effect in whatever color is being used. On a technical note, this will happen in anything implemented using either a grid or viewlist control.

Add Entered By Field to Order Entry

In the Orion project, we added the Entered By field to the database, with the intention of adding the field to the web version of Order Entry and the VB UI. We are not proceeding at this time with the web screen, but we will still include this field on the VB UI. The field will appear in the Header section of the UI, and will not be editable by the user.

The field will be added to the header section of the UI (not on the tabs) and will not be editable by the user. The field value will be the user name that first posted the order. If the order is subsequently changed and re-posted, the value in the Entered By field will still show the original user that posted the order.

Add On Hold Reason Field to Order Entry

In the Orion project, we added the On Hold Reason field to the database, with the intention of adding the field to the web version of Order Entry and the VB UI. We are not proceeding at this time with the web screen, but we will still include this field on the VB UI. The field will appear in the Header section of the document.

The field (250 characters) will be added to the header section of the document. Whether the field is editable is determined by the state of the On Hold field. If the order is On Hold, the On Hold Reason field will be editable. If the order is subsequently taken off hold, the On Hold Reason field will be blanked out and disabled.

Allow User to Copy Order in Order Entry

There is a Copy Orders UI in Order Entry that allows user to copy an order or range of orders. Users have requested that we allow the user to copy an order from the main Order Entry screen. So they would have an order open in Order Entry, and want the option to copy that order without having to go to the Copy Orders UI and then enter all of the details of that order for copying.

There should be a button at the bottom of Order Entry titled “Copy Order” that launches the Copy Orders UI with the details of the current order already defaulted to the fields on the UI. The user would only be able to do this on a posted order with no pending changes. The user would be able to edit the details of the order on the Copy Orders UI as they would normally be able to do.

Allow User to Create Purchase Orders in Order Entry

There is a Create PO’s from OE function in PO (PO5520) that users can use to create POs from OE requirements. The request is that users be able to create the PO’s directly in Order Entry, without having to go into the Create POs from OE UI and manually enter the details of the current order that they have to create POs for.

There should be a button at the bottom of Order Entry titled “Create PO” that launches the Create PO’s from OE UI with the details of the current order already defaulted to the fields on the UI. The user would only be able to do this on a posted order with no pending changes. The user would be able to edit the details of the order on the Create PO’s UI as they would normally be able to do.

Add Requested By Field to Order Entry

A request has been made to add a “Requested By” date field that would represent the date that the customer wants to have the goods delivered to their door. The field would be on both the header and details of the order, with the default being the same date as the Expected Ship Date. A user would get a warning if they entered a Requested By date that is before the Expected Ship Date. The Requested By date would also be on each detail line (since each detail line can be separately shipped).

Move Ship Via Code, Description and Tracking Number fields from the Customer Tab to the Order tab on Order Entry.

At TPAC, we received a number of requests from partners that we move the Ship Via Code and its description from the Customer tab on Order Entry to the Order tab.

In addition to doing the change to the Ship Via code and description fields, we will bring the Tracking Number field over, too, as they are related fields. In order to make room for this, we are going to move some of the fields around on Order Entry, as well as combine the Entered By (see above) and Source field (this was a suggestion by UCD).

Add Option to Exclude Inactive Accounts from the GL Chart of Accounts Reports

Currently, all Chart of Accounts Reports include will include all GL Accounts in the selected range, whether they are active or flagged as Inactive in GL. The request is that we add an option to the GL Chart of Accounts UI (GL4101) to allow users to exclude accounts that are flagged in GL as Inactive. By default, the reports will still print all accounts, but if the user selects to exclude inactive accounts, only Active accounts will be shown on the reports.

There will be a checkbox added to the UI (GL4101), and the reports (Detail – Short/Long Form, Valid Currencies, Allocation, Control Account Subledgers, Fiscal Set Comparison, and Rollup Accounts) will need to be changed to accept the new parameter and print the parameter (if selected) at the top of the report.

Add Ability to Filter by Range of Fiscal Years on GL Transactions Listing Report

Currently, the GL Transactions Listing Report (GL4103) allows users to select only one fiscal year, but a range of fiscal periods, as parameters on the report. The request is to allow users to select a range of both years and periods for the report.

The selectors for the year and periods on GL 4103 will be changed to Year/Period pickers to allow a From and To date range to include both the year and period. The Report will also be changed to accept the parameter and print the parameters at the top of the report.

Update 2012/06/26: It looks like this feature didn’t make code complete, so its being moved to Product Update 1.

Allow User to Print OE Invoices Directly from AR Customer Inquiry

The Customer Inquiry feature in Accounts Receivable allows users to view details of customer transactions, from both OE and AR. Currently, the user can only print documents from AR from Customer/Document Inquiry, although the user is able to drill down to the OE documents. The request is that the user be able to print an OE Invoice from Customer/Document Inquiry without having to go to OE first. There are several ways we could implement this. We could enable the user to drill down to the OE Invoice from Customer and/or Document Inquiry, and then enable printing of the invoice from the OE Invoice Entry UI (OE1900), OR we could place a button on the document inquiry UI allowing the user to print the OE Invoice (which would launch the OE Invoices form from that UI).

Allow User to Reverse GL Batches, Rather Than Just Single Entries

Currently, a user can reverse a single entry. There are multiple requests to allow users to reverse an entire batch.

We will change the Create Reverse Entry UI to allow users to optionally reverse an entire batch, or just a single entry. They will be able to customize the Entry Descriptions that will be used in the new reverse batch.

Exclude Inactive IC Items from IC Physical Inventory Reports

Pretty apparent, not much else to say.


These are just to show the smaller features that are often lost among the bigger items that are included in our releases.

Update 2012/06/07:

• There will not be a Copy Order button on OE1100. Instead, it will be an option on the file menu labeled “Copy Current Order”.
• The “Requested By” field will actually be labelled “Deliver By”.

Written by smist08

June 2, 2012 at 5:52 pm

More on Sage ERP Accpac 6.1A Order Entry

with one comment


Sage ERP Accpac 6.1A is starting to come together with most screens mostly implemented. Beta will be starting soon. It’s been seven months or so since we kicked off development and we’re all starting to look forward to release. I started to show a number of screens from the new Web Based Order Entry module here, now with this blog posting we’ll look at a few more aspects of Order Entry 6.1A in the web.

Remember that you aren’t forced to use the new Web UIs, we hope you will use them; however, all the regular VB based UIs are still there just like they are in 6.0A (or 5.x). This means if you have heavily customized O/E screen you can continue to use those and choose when and if you will move the customizations to the new screens. Also if you are incredibly well trained in heads down order entry on the old screens and what to maintain that, then you are free to do so. In fact you can have some users running the old screen and some users running the new screens, they all co-exist perfectly in one installation.

Generally the web based screens have the same functionality as the current VB based screens. However things may be moved around a bit or styled to look a bit nicer. Below is a screen shot of the new Order Entry UI showing the customer credit check popup. Which shows Ronald Black is very much over his credit limit.

Reports are still based on Crystal Reports. In fact we haven’t changed the current O/E reports at all. This way you can use exactly the same customized reports in the web that you are currently using in Accpac. The general mechanism of running reports is the same, you first get a screen that asks you for various ranges, filters and other options for the report, and then when you click print you get the actual Crystal Report. This means there is no extra cost re-doing customized forms when you go to version 6.1A whether you use the Web screens or not. Below is the form for getting the options for the O/E Aged Orders report:

Notice that the “Print” button is actually a combo-box where you can have the report open in a new tab, or replace the current tab. If you select a new tab, then you can have multiple versions of the report open at once and compare them. The reports are displayed in the Accpac Web Portal using the Crystal HTML Viewer. There is no requirement for a plug-in or ActiveX control. This means you can view these reports in any browser on any device. The reports are run on the server using the Crystal Java runtime, so there is no requirement for any extra server like Crystal Enterprise. When you press “Print” you get the following:

Since, so far only O/E has moved to the Web, if you drill down to a form in another module you will get a VB UI. This functionality will only work if you are running in the 32-Bit version of Internet Explorer. All other functionality works in other browsers like Chrome, Safari or Firefox; but, you can only run non-web based programs from the 32-Bit version of IE. Partly this is why the previous screen shots are from my favorite browser which is Chrome, but the next screen shot is from IE. The next screen shot shows choosing Inquiry from the Customer’s context menu in the Web Screen. Then this runs the A/R Customer Inquiry screen which we still only have a VB version for.

Of course there are Web versions of all the various statistics and inquiry screens such as Salesperson Inquiry pictured below:

Then we have all the setup screens such as Ship-via Codes pictured below:


The intent of this blog posting was to give a further view into the forthcoming Web Based Order Entry module. Just to show what’s coming soon…

Update 2011/09/17: Actually it turns out there is an open plug-in interface that works for Firefox, Chrome and Safari which has allowed us to develop a single plug-in that now lets the VB UIs run from these Browsers. So now there are no limitations using Chrome, Firefox or Safari.

Written by smist08

September 4, 2011 at 12:26 am

Posted in sage 300

Tagged with , ,

A Quick Tour of Sage ERP Accpac Order Entry 6.1A

with 5 comments

The initial release of Sage ERP Accpac 6.1A will include all the Web Screens for the Order Entry module. We started showing these Web Screens publicly at the North American Sage Summit conference which I blogged on here. We had a number of sessions where we ran through the Order Entry process, entering an order in SageCRM using our Quote to Order features, then bringing that order up in the new Web Screen, charging a credit card using Sage Exchange all run from  a Web Browser. We got quite a good reception to what we were showing. We received lots of suggestions, many of which will be incorporated in the final product.

At Summit, we had a usability lab where we assigned partners and customers tasks in Order Entry and then observed how well they did completing these tasks. Out of this testing we will be making a number of adjustments to the screens shown below. Things like moving the disclosure panels for Customer Info, Custom Fields and Sale Split up above the table (right now they are below and don’t show on the screen shots below). Move the Ship-via Code out of the Customer disclosure panel and into the regular header fields. Users had a bit of trouble because Tabbing isn’t quite working and if you hit F5 the browser refreshed, but these problems will be fixed by release. Generally the Users we tested at Summit were quite good and we set a record in the percentage of tasks completed.

All the screen shots in this article are from the July 26, 2011 build of Accpac 6.1A. The product is rapidly evolving as we finish the functionality and refine the design.  We make extensive user of Cascading Style Sheets (CSS) that allow us to change the product quite dramatically in a simple manner.

All the screen shots were made running in the Google Chrome browser. Mostly because this is my favorite browser, but also to show that we now support more than IE. The main goal of this multi-browser support is so we can run on tablets like the iPad along with Macs as well as the regular Windows PCs we’ve always supported. I like the Chrome browser because it’s very fast and seems to display web pages the best.

The first screen shot shows the new Order Entry screen running in the Sage ERP Accpac Portal. For regular Accpac users this screen should still look familiar, but updated to a more modern appearance. This is the screen and notebook tab where you would do most of your data entry. Here you would enter all the detail lines that make up the order.

Once you have entered all your detail lines, then you would go on to possibly confirm the sales tax information from the Taxes tab. And then go to the Totals tab to confirm the order totals and possibly give a discount as shown in the screen shot below:

Generally as a mid-market ERP product there are quite a lot of fields in Accpac’s various records. For instance in the Order Detail record which is displayed in the table, potentially a user could have to do quite a bit of horizontal scrolling to access all the fields. Plus we now have the detail optional fields in line in the table rather than in a popup resulting in even more columns. Of course you can customize your table to set the field widths to anything you wish and from the View menu on the upper right corner of the table you can re-arrange the fields and hide fields you don’t use. However Accpac has always had the concept of a “Zoom” form where you can get a form view of all the fields in the table. In fact the zoom form gives you access to a bit more information than is available directly in the table. With 6.1A and the Web UIs we have preserved that and you can bring up a form or zoom view of the table as show in the following screen shot:

As we’ve designed the new Order Entry screens we’ve tried to keep the information you need as handy as possible without completely cluttering up the screen. We’ve used a number of techniques to accomplish this including notebook tabs, disclosure panels and popup forms. The popup forms can be run from buttons or from hyperlinks. Below is a screen shot where the user clicked on the quantity available link to get a popup showing the quantity available by location.


We are very excited to be finally rolling out Web Based Accounting Applications. We’re hoping that only requiring an URL to run will reduce TCO for all our users. We are hoping that the new improved designs will make learning and using the product much easier.

Written by smist08

July 30, 2011 at 11:04 pm

Posted in sage 300

Tagged with , ,

Tables and Data Flow of the Accpac Order Entry Module

with 14 comments

This blog posting will be looking at the structure of some of the parts of the Order Entry (O/E) module of the Sage ERP Accpac product. You can find the structure of the individual tables in the Accpac Application Object Model (AOM), which must be viewed in IE. However this doesn’t tell you how the tables are related or how data flows from one table to another as you post various transactions. There are 94 tables in O/E, so obviously we can’t describe each in a single blog post. So we’ll just look at a few interesting cases. Understanding these relationships can be especially important to people writing sophisticated custom reports or BI Views.

The main types of database tables in O/E can be categorized as:

  • Setup
  • Data Entry
  • Processing
  • Periodic Processing

Order Entry is one of the main entry points for data into the Accpac system. Notice that unlike other modules, O/E has no master data files. Typically Order Entry will have the most users, often with hundreds of people entering orders at one time. There are multiple sources of orders including the Quote to Orders screen inside SageCRM, the main Accpac Order Entry screen and many ISV solutions (such as Point of Sale retail solutions or Web Stores) that feed transactions into Order Entry. Documents from Order Entry then flow into A/R, inventory is updated in I/C and all financial numbers end up in G/L. Below is a diagram showing this flow:


The Setup Tables are:

OEOPT (OE0480): OE Options. Various global options for the O/E module.

OEPLAT (OE0540): Templates.

OEMISC (OE0440): Miscellaneous Charges.

OEMISCT (OE0460): Misc Charge Taxes.

OEMISCO (OE0450): Misc Charge Optional Fields.

OEVIA (OE0760): Ship Via Codes.

OEOFH (OE0475): Optional Field Locations.

OEOFD (OE0470): Optional Fields.

OEGLREF (OE0272): G/L Reference Integration.

OEMSG (OE0465): E-mail Messages.

Besides the standard tables that each application has, O/E has very few setup tables. However beware that O/E uses the setup tables in A/R and I/C extensively so look to these as well when considering what affects O/E.

Data Entry

Data Entry is the largest part of O/E. There are many tables involved in just entering an order. Then you have shipments, invoices, and credit/debit notes. Each of these involve tracking serial numbers, lot numbers, kitting information, bill of material information and optional fields. Many of the tables (like OEORDH) are quite large records with many fields.

All the data entry tables rely heavily on header/detail relationships. Each level of indentation indicates that the indented level is a detail of the less indented level. For more on header detail relationships check out this. The reason the Order Details table has sub-details is that say you order a widget with quantity 10 which has serial numbers, then the system needs to record the 10 serial numbers in this sub-detail. Similarly if the widget is subject to Lot Tracking then there may be several Lots that the 10 items come from which needs to be tracked.


OEORDH (OE0520): Order Headers. There is one of these for each order. Note that this is one View that is spread over two physical tables: OEORDH and OEORDH1. Each OEORDH record has a matching OEORDH1 record, logically these combine to form one large record.

OEORDD (OE0500): Order Details. There is one of these for each detail line in an order.

OEORDDO (OE0501): Order Detail Optional Fields

OEORDDB (OE0503): Order BOM Details

OEORDDD (OE0502): Order Kitting Details

OEORDDDS (OE0504): Order Kitting Serial Numbers

OEORDDDL (OE0506): Order Kitting Lot Numbers

OEORDDS (OE0508): Order Detail Serial Numbers.

OEORDDL (OE0507): Order Detail Lot Numbers

OECOINO (OE0180): Order Comments

OETERMO (OE0740): Order Payment Schedules

OEORDQ (OE0526): Order from Quotes

OEORDHO (OE0522): Order Header Optional Fields


Whenever you ship anything whether from the Shipment Entry screen or by entering Quantity Shipped in the Order Entry screen then one of these Shipment documents is created either by copying all the relevant information from the Order Entry document that is being shipped or by creating a new stand-alone shipment that has no matching Order.

OESHIH (OE0692): Shipment Headers. One of these for each Shipment.

OESHID (OE0691): Shipment Details

OESHTD (OE0697): Shipment Day End Details

OESHIDO (OE0702): Shipment Detail Optional Fields

OESHIDB (OE0705): Shipment BOM Details

OESHIDD (OE0703): Shipment Kitting Details

OESHIDDS (OE0706): Shipment Kitting Serial Numbers

OESHTDD (OE0699): Shipment Day End Details of Details

OESHIDDL (OE0707): Shipment Kitting Detail Lot Numbers

OESHIDS (OE0709): Shipment Detail Serial Numbers

OESHTDS (OE0671): Shipment Day End Serial Numbers

OESHIDL (OE0708): Shipment Detail Lot Numbers

OESHTDL (OE0670): Shipment Day End Lot Numbers

OECOINS (OE0190): Comments and Instructions

OESHIR (OE0694): Multiple Orders to Shipment

OETERMS (OE0745): Shipment Payment Schedules

OESHIHO (OE0704): Shipment Header Optional Fields


When you Invoice a shipment then one of these documents is created by copying the relevant information from the shipment document. These can be created from the Invoice screen or by specifying “Create Invoice” in the Order Entry screen (as long as you ship something).

OEINVH (OE0420): Invoice Headers

OEINVD (OE0400): Invoice Details

OEINVDO (OE0401): Invoice Detail Optional Fields

OEINVDB (OE0403): Invoice BOM Details

OEINVDD (OE0402): Invoice Kitting Details

OEINVDDS (OE0404): Invoice Kitting Detail Serial Numbers

OEINVDDL (OE0405): Invoice Kitting Detail Lot Numbers

OEINVDS (OE0407): Invoice Detail Serial Numbers

OEINVDL (OE0406): Invoice Detail Lot Numbers

OECOINI (OE0160): Invoice Comments

OETERMI (OE0720): Invoice Payment Schedules

OEINVR (OE0427): Multiple Shipments to Invoice

OEINVHO (OE0422): Invoice Header Optional Fields

Return / Credit Notes

These are the Credit/Debit note documents that are created and much be applied to invoices.

OECRDH (OE0240): Credit Note Headers

OECRDD (OE0220): Credit Note Details

OECRDDO (OE0221): Credit/Debit Detail Optional Fields

OECRDDB (OE0223): Credit/Debit BOM Details

OECRDDD (OE0222): Credit/Debit Kitting Details

                OECRDDDS (OE0224): Credit/Debit Kitting Detail Serial Numbers

                OECRDDDL (OE0225): Credit/Debit Kitting Detail Lot Numbers

OECRDDS (OE0227): Credit/Debit Detail Serial Numbers

OECRDDL (OE0226): Credit/Debit Detail Lot Numbers

OECOINC (OE0140): Credit Note Comments

OECRDHO (OE0242): Credit/Debit Note Optional Fields

Data Flow

Below is a diagram showing the data flow of data from the O/E entry views through Day End into the various history and statistics files.

Data Processing

Most data process in O/E happens at Day End time, whether this is initiated from I/C Day End Processing or you have the perform day end during posting option set. You can also choose to split the operation and do costing during posting and the rest (like sub-ledger batch generation) during I/C Day End. I/C Day End will call the Day End processing View in each application that subscribes to Day End (including O/E and P/O).

Day End Processing

Invoked by the master day end processing superview, ICDEP.

OEDEND (OE0260): OE Day End Master

The following are called to process each type of document

OEPOSTO (OE0600): OE Order Posting

OEPOSTS (OE0605): OE Shipment Posting

OEPOSTI (OE0580): OE Invoice Posting

OEPOSTC (OE0560): OE Credit Note Posting

Audit tables

OEAUDH (OE0120): Posting Journals

OEAUDD (OE0100): Posting Journal Details

OEAUDDP (OE0110): Posting Journal Detail Optional Fields

OEAUDDD (Oe0105): Posting Journal Detail-Detail

OEAUDHP (OE0123): Posting Journal Header Optional Fields

History tables

OECOMM (OE0200): Commissions

OESHHD (OE0690): Sales History

OESHDT (OE0685): Sales History Details


OESTATS (OE0700): Sales Statistics

Periodic Processing

There are a small set of superviews that perform various periodic processing functions. These Views typically don’t have tables behind them and perform maintenance type operations. There are also processing functions built into the entry Views where you set a number of fields and then call viewProcess to perform the operation. Some of the stand-alone superviews include:

OECH (OE0130): Clear History and Entries

OEINTCK (OE0280): OE Integrity Check

OEDLDN (OE0265): Drill Down (called by AR and IC to drill down to OE documents).


Hopefully this blog posting provides a bit more insight into how O/E operates and hopefully helps when you use O/E, interface to O/E or are creating custom O/E reports or forms.


Written by smist08

July 23, 2011 at 8:09 pm

Posted in sage 300

Tagged with , , ,