Stephen Smith's Blog

Musings on Machine Learning…

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

20 Responses

Subscribe to comments with RSS.

  1. […] 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 […]

  2. […] For more details on the Day End Processing Process, have a look at this blog post. […]

    Stephen Smith's Blog

    August 27, 2011 at 7:40 pm

  3. Hi Steven,

    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.

    I think this could be of interest to many of us.

    Thank you for what you are doing and best regards,

    Aivars Olins.

    Aivars Olins

    August 28, 2011 at 7:12 am

  4. […] 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. […]

  5. Is day end going to affect bank rec and AR invoice posting? We have inventory management system and auto invoicing in AR.


    March 4, 2014 at 1:14 am

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


      March 4, 2014 at 5:46 am

  6. 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?

    Jean Dauth

    September 23, 2014 at 4:55 am

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


      September 23, 2014 at 9:07 pm

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

        Jean Dauth

        September 25, 2014 at 4:29 am

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


        October 2, 2014 at 3:59 am

  7. 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?

    Rodney Spaulding

    December 12, 2014 at 3:19 am

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


      December 12, 2014 at 5:09 am

  8. 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?

    Marc Duguay

    June 16, 2015 at 6:52 pm

    • I would recommend not creating the sub-ledger batches during POSTING. Only do costing during posting. That should cause less multi-user friction.


      June 16, 2015 at 8:28 pm

  9. Hey Stephen, I would like to automate the day end process to run overnight, Do I need an add on module such as orchid system or can I create s process myself?

    Tim Sly

    June 26, 2015 at 7:13 am

  10. Hi Stephen, is it recommended to have all uses exit Sage/accpac while day end is running? specifically users that are using the inventory affected applications?
    Appreciate your feedback.
    thanks Kelly

    Kelly Ricci

    August 27, 2015 at 11:30 pm

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


      August 28, 2015 at 2:49 pm

  11. 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 🙂


    February 28, 2017 at 12:53 pm


    Oluwaseun Oredipe

    August 21, 2019 at 4:12 pm

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 )

Google photo

You are commenting using your Google 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: