Day End Processing

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.

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:

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

Summary

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.

20 Responses

[…] business logic in everything they do. I/C owns the Day End Processing task which I blogged about here. Both the Lot Tracking and Serialized Inventory modules actually reside entirely within the I/C […]

This is very valuable piece of information. Could you, please, blog or provide more insight in some way of how to most efficiently solve the problems with errors on Day End (e.g. if it “…coud not process all the records…”)? Accpac provides nearly no information on the causes when it happens. Running data integrity, of course, provides some help. But, maybe, there are some more precise tools or ways how to obtain provide targeted information on reasons why the Day End fails.

[…] Most data processing in P/O 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). For more on Day End Processing check out this blog post. […]

Day end will create AR and AP invoices along with GL journal entries. I don’t think it creates bank entries directly, but they will be created as a consequence of processing the AR and AP documents created.

In the past week we twice had a problem with day end (Failed to locate proration model (8390 PORCPZ1.c)
On closer inspection I found a receipt that was done and went through day end more than a month ago was the cause for the day end to stop. I had to delete this receipt from all tables and recreate it. Any idea on why this would happen?

The proration model records (POPRXC/POPRXH/POPRXL/POPRXP) are created when the receipt is posted, to manage the subsequent changes due to additional costs or invoices. This error indicates that the receipt must be manipulated after it is day ended, Would have anyone edited the invoice in SQL management studio or something? Otherwise a bit of a mystery as to how it got into this state.

This happened at one of our clients who have no access to the SQL server. They did have a “torn page” on their data the first week in September. The receipts giving us the problems, are all before that date. Can this have something to do with it?

A torn page means that something was corrupted during a write to the disk. This is potentially quite serious and it is possible this affected that. Make sure you run DBCC checkdb to make sure things are ok.

Hi Stephen. This is a great article. But I have another question that I am not clear about. I now refer to Sage 300. In IC SETUP OPTIONS | COSTING tab, there is a drop-down with the description Create Sub-Ledger Transactions and Audit info. During. If I choose POSTING instead of DAY END PROCESSING, is there any reason to still run a DAY END? From the above, it appears to indicate that the functions mentioned on the tab are in fact the rest of the day end process. If so, what is left for DAY END to do?

if you do both costing during posting and create subledger batches, then you don’t need to do day end. This was a feature of 5.4 for people that didn’t like day end. The disadvantage is that it makes posting documents slower. One good compromise is to do costing during posting so costing is updated in real time, then do create subledger batches during dayend, to speed up document posting.

I have set costing and create sub-ledger both to POSTING. When some receipts are entered, the user occasionally gets an error: You cannot run Day End Processing until other users have completed day end processing. When the screen is closed, the receipt entry is lost. For receipts with serialized items and 61 line items, the is frustrating. Is there any work around for this?

Day end can cause the screens to have record modified by another user errors, so usually its less annoying to have people out of the system. How bad this is depends on the various options you have set, for instance if you have costing during posting then day end is mostly just creating the sub-ledger batches. Some people used to run day end frequently to get costing run, but generally costing during posting is a better option then run day end once at day end when the system is quiet.

Hi Stephen
Great post!!! I have a question and hopefully you would be able to help. We currently have 62a and we have every module set to create and posting a new batch for the section create Gl transactions by in the Gl integration screen. Every once in while we have to run day end processing due to an error and it will create open IC batches in the GL and not automatically post them. They seem to be batches that have a drill down to IC shipments then to material usage in .PJC. PJC and IC are set to automatically post the batch in the GL so I’m not sure why some batches are not. The costing in IC is set for Posting. Hope you can shed some light on this issue 🙂
Thanks