Stephen Smith's Blog

Musings on Machine Learning…

Posts Tagged ‘day end processing

Day End Processing

with 20 comments

Sage ERP Accpac Day End Processing is a rather simple form in I/C Periodic Processing. It only has Process and Cancel buttons and you are expected to run it after the close of business every day. But what does it do? The online help states:

Use this dialog box to:

  • Update costing data for all transactions (unless you chose the option to update costing during posting).
  • Produce general ledger journal entries from the transactions that were posted during the day (unless you do item costing during posting or create G/L transactions using the Create G/L Batch icon).
  • Produce a posting journal for each type of transaction that was posted.
  • Update Inventory Control statistics and transaction history.

Day End Processing also performs processing tasks for the Order Entry and Purchase Orders modules, if you have them:

  • Processing transactions that were posted during the day in Order Entry and Purchase Orders.
  • Activating and posting future sales orders and purchase orders that have reached their order date, and updating quantities on sales order and on purchase order.
  • Removing quotes and purchase requisitions with expiration dates up to and including the session date for day-end processing.
  • Updating sales commissions.
  • Creating batches of Accounts Receivable summary invoices and credit notes from posted Order Entry transactions.
  • Deleting completed transaction details if you do not keep transaction history.
  • Updating statistics and history in Order Entry and Purchase Orders.

Below is the flow in and out of Inventory. All of these transactions affect costing and generate sub-ledger transactions.

The main purpose of Day End is to move a lot of processing away from data entry. Generally in a large Accpac installation you will have hundreds of people entering Orders, Invoices, POs, etc. They need to get their work done in the most efficient way possible. A person entering Orders from the CRM system doesn’t want to have to wait for A/R and G/L transactions to be created every time. What they care about is entering their Orders as quickly as possible. As a side benefit, Day End can batch all the transactions together, so rather than each Order creating a single G/L Batch, these can all be combined reducing the number of documents downstream.

However there are a number of misunderstandings and confusion about Day End. This blog posting is looking to cover a few topics around Day End to hopefully make things a bit clearer.

Over the years we have also changed the way Day End operates and added additional options to let you choose when things happen. Prior to version 5.2A, all the functions mentioned above had to be done during Day End and there were no alternatives. People became imaginative and ran macros to run Day End on a frequent basis. Why were people doing this? The main reason was that for many businesses, updating the costing in inventory only once a day is not sufficient, if costs are changing quickly you want this reflected right away. Another reason is that if you operate your business 24×7 then you don’t have an after-hours time period when you can run this. Plus for some people Day End was taking longer than the overnight period to complete.

In version 5.2A we introduced the feature of “Day End at Posting Time”. With this mode essentially whenever you posted a document in I/C, O/E or P/O, we would run Day End. Then you never had to run the original stand-alone Day End screen and you could operate 24×7 without running a separate Day End process and your I/C Costing was always up-to-date. This worked fine for some people (usually people with lower volume), but it caused problems for others. One was that it slowed down posting time of documents too much and impeded the productivity of people posting Orders and such. Second, when you have longer transactions, you now run a larger risk of multi-user conflicts (which are really quite annoying). Third, this resulted in a large number of G/L, A/R and A/P batches being produced. The usual workaround for people that really need this was to turn off other features that slow down posting such as “Keep Statistics” or “Keep History”. You can speed up posting quite a bit by turning off various options in the various Accounting Module’s Options screens. However you then lose use of these features and often which you do can be a difficult trade-off.

In version 5.5A we introduced the feature of “Costing during Posting”. Here when you post an I/C, O/E or P/O document we would run the Costing part of Day End, but not all the other parts. This turned out to be a good compromise. It didn’t noticeably slow down document posting and hence didn’t introduce more multi-user conflicts. So people could now keep their Costing data up-to-date without frequently running Day End. However you still need to run the Day End processing function at night to create all the sub-ledger documents, create audit history and other miscellaneous functions.

Now let’s go through each of the Day End functions in a bit more detail.

Cost Transactions

This is based on the Item Costing Method and is when the costing buckets are updated for the affected items in I/C. Basically depending on whether we are buying or selling:

  • Incoming Transactions: Increases Total Quantity/Cost in Location Details/Costing Buckets
  • Outgoing Transactions: Calculates/Removes Quantity/Cost from Location Details/Costing Buckets

Create Audit Information

Day End is responsible for populating all the various I/C, O/E and P/O audit history tables including:

  • Posting Journals (all transactions)
  • Item Valuation (all transactions)
  • IC Transaction History (all transactions)
  • IC Statistics (all transactions)
  • IC Serial Numbers Audit (IC and OE Shipments)
  • IC Sales Statistics (IC and OE Shipments)
  • OE Sales History (OE transactions)
  • OE Sales Statistics (OE transactions)
  • OE Commissions Audit (OE Invoices/Credit Notes/Debit Notes)
  • PO Purchase History (PO transactions)
  • PO Payables Clearing Audit (PO transactions)

Generate GL/AR/AP/PM/FA Entries

Create all the various batches in the sub-ledgers. These include:

  • GL Entries (all transactions)
  • AR Entries (OE Invoices, Credit Notes, and Debit Notes)
  • AP Entries (PO Invoices, Credit Notes, and Debit Notes)
  • PM Entries (IC Shipments, OE Shipments, PO Purchase Orders / Receipts / Invoices / Returns / Credit Notes / Debit Notes)
  • FA Entries (IC Internal Usages, PO Receipts)

Miscellaneous Functions

Then there are a collection of miscellaneous functions that include:

  • Activates future orders (OE)
  • Deletes expired quotes that have not been activated (OE)
  • Deletes completed orders if “Keep History” is OFF (OE)
  • Activates future purchase orders (PO)
  • Clears completed transactions if “Keep History” is OFF (PO)

Day End Processing Structure

Day End Processing (DEP) is structured as follows:

Note that DEP doesn’t process all transactions in chronological order.


Your best bet is to use “Costing during Posting”. This will give you real-time costing without badly affecting performance. As ERP packages address larger organizations there tend to be more and more of these types of operations. The more people doing data entry, the less you want them burdening the application and database servers to maximize productivity. Many tier one ERP packages split this into more parts, the advantage of this is that several (that aren’t adjacent) can be run at once without causing multi-user conflicts. Sage ERP Accpac has always been under pressure to combine things down into all-in-one operations that work well for smaller businesses, however if we are to move the operations suite into larger Enterprises then we will have to slice these processes up finer.


Written by smist08

April 2, 2011 at 4:21 pm