Conventional wisdom says you don’t go-live with SAP financials in the middle of the month (strictly speaking I should say the middle of the accounting period, but I’ll say month as a generic term for the posting period). I recently went through a mid-month SAP financials and logistics go-live and so far it has been a success.
Initially the project team had the expected you-can’t-do-that reaction when the idea of a mid-month go-live was suggested. We took three main steps to determine whether or not we were crazy or had a viable go-live option:
- We asked SAP. As one of the main participants on the project we got them to do an internal review with some platinum consultants with the objective of telling us why we could not go-live mid-month.
- We asked our project team, both client and consulting resources. Again, the goal was to tell us why we couldn’t do it.
- We Googled like maniacs to find something to support and justify the conventional wisdom. We failed to find anything substantial that would deter us.
Armed with the conviction that there was no reason we couldn’t go-live mid-month we set about defining the details of how we would pull it off.
Conventional Wisdom: Why You Don’t Go-live Mid-Month
My big disclaimer is that each SAP project has unique characteristics and what worked for us may not work for you, nonetheless I encourage you to keep an open mind and push until you find your insurmountable barrier, if it exists. I would even contend that one of the biggest barriers may be your most experienced project team members and their gut reaction. I admit my first reaction to the suggestion was “NO,” but as we drilled into the specifics of our project my inchoate objections crumbled. The conventional wisdom is typically grounded in truth and experience, but conventional wisdom only applies to conventional situations. To use a consulting cliché: challenge your assumptions.
In our research we found a consensus that there are three main areas that make a mid-month cut-over a bad idea.
Assets: I’m no expert on assets but the general word was that depreciation gets “messed up” if you cut over mid-month. Owing to my limited experience in this area I’ll take that on faith, but this was not considered an issue as assets was out of scope for our project and asset postings will be done by journal entries.
Payroll: Again, I’m not an expert on payroll, but this was another situation where payroll was out of scope as the process is outsourced to a third party provider and journal entries are posted instead. It was not considered a show stopping concern.
Year-to-Year Period comparisons: by cutting over mid-month some folks on the interwebs expressed concern that the month-over-month comparison for the go-live year would be no use until the third year. Let’s say you go-live in the middle of June 2010 with partial balances in SAP (the remainder being in the legacy system), when June 2011 comes around you can’t compare the two Junes because one month is partial and one is complete. You have to wait until June 2012 for a meaningful comparison. This was not an issue for us because we converted three prior fiscal years of account balances with the go-live month balances being the balances as of the go-live date along with the transactional activity for the rest of the month.
Factors Leading to an SAP Mid-Month Go-Live
The ugly truth is that we went live mid-month out of necessity, not by choice. Our original plan was to go-live on the first of the month, but we weren’t ready and a focused re-planning exercise identified that we could go live three weeks later. Changing the go-live date to the first of the next month was not acceptable for a variety of reasons, including political considerations – it’s never a purely technical decision, so no surprise there.
Adapting the SAP Go-Live Strategy for Mid-Month Cut-Over
Once we knew we were going live mid-month we had to work out how to handle key areas of functionality: particular areas of interest were open A/P items, inventory balances, customer deposits, and the GR/IR account. On top of this historical account balances needed to be loaded and we needed to ensure that FI conversions reconciled with logistics conversions.
Finance and Logistics Reconciliation
We came up with an approach that allowed us to readily identify differences between account balances converted by FI compared to the conversion by MM. Consider the example of inventory conversion.
Standard SAP postings for the initial inventory balance with movement type 561 post to a pair of accounts similar to these:
- DR Inventory (135010)
- CR Conversion account (399175)
Instead of making this posting we changed the account determination for MM conversion to post as follows:
- DR Inventory (135010)
- CR Inventory conversion (135011)
Now when we converted historical balances into FI the inventory posting was:
- DR Inventory conversion (135011)
- CR Conversion account (399999)
The benefit of this approach was that any balance on the 135011 account meant there was a difference between what was converted via MM and via FI. This became the basis of the work list that had to be reconciled. The actual operational G/L account for inventory (135010) could be used immediately after the go-live without worrying about it becoming part of the ongoing reconciliation process.
Also, standard SAP does not allow direct posting to the inventory account (135010) and this approach allowed us to leave it as delivered.
We used a similar process, i.e. a conversion account instead of operational account, to support the cut over for accounts payable, customer deposits and the GR/IR account.
In our environment we are fortunate to have a situation where invoices are not received before the goods. Consequently at the time of conversion there were purchase orders where goods have been received and not invoiced. The typical GR/IR process is as follows:
- DR Inventory (135010)
- CR GR/IR (211200)
- DR GR/IR (211200)
- CR Accounts Payable
At the time of conversion the good receipt has already happened and we did not want to reconstruct the PO processing so that we could use MIRO processing when the invoice is received. Instead we converted historical balances for the GR/IR account by posting to a new account, 211201 as follows:
- DR Conversion account (399999)
- CR GR/IR conversion (211201)
Now when the invoices are received they will be posted with an FB60 transaction as follows:
- DR GR/IR conversion (211201)
- CR Accounts Payable
We know we are giving up some integrated capability for a period of time until these purchase orders and invoices wash through the system, but it means that once the GR/IR conversion account gets to zero we are done. The typical life cycle for PO is 6-8 weeks so this is a temporary situation. The true GR/IR account, 211200, will be used as intended and the benefits of MIGO and MIRO processing will be realized.
Month End Processing in the Old System
Going live mid-month also meant that the prior period was closed in the old legacy system and the month end balances were converted over in the same way as any other period. It was a straightforward extension of our process to pull the mid-month account balances from the legacy system during go-live weekend and load them into SAP, too.
Financial Statement Impacts
The approach that we took meant we introduced several accounts to the chart of accounts for conversion only. Consequently we had to update our financial statement versions to include these accounts and assign them to the correct positions in the report structure. Clearly this is not a difficult task, but one that is needed.
SAP Mid-Month Go-Live Conclusions
I am skipping over some of the detailed considerations of how we made a mid-month go-live work for our project. The details of how to make it work, the nuts and bolts of reconciliation, how we tested it (iteratively!), how we worked the differences identified between FI and MM/SD conversions, etc. aren’t here. It wasn’t always easy and we had to do it in a short amount of time, but my key message is that we found a way to do it: the conventional wisdom wasn’t and isn’t necessarily wrong, just we found another path.