When I woke up this morning, I was pondering how to produce a custom Statement report for a client. They want a statement that shows outstanding receivables balances, but also shows original amounts from a SOP invoice, such as gross amount, markdown amount, and net amount. And they also want to see the total amount of payments applied to each invoice. And they want to see any 'adjustments' made to the SOP invoice by means of other adjusting invoices or returns. Oh, the outstanding balances also need to be in aging columns on the statement. And did I mention that they don't actually want transaction level detail? The data needs to be summarized by a special transaction grouping, where multiple invoices may be included in the group. Oh, and the data on the report needs to also be provided to the customer as a CSV file. Because the report and CSV file need to be automatically e-mailed to the customer.
It makes business sense, but it's a mind bending exercise trying to figure out how to get all of that information onto a single report. There is a slightly complex custom SQL view. Then there is a Crystal Report with some wacky formulas and running totals and groups. Then I have to automatically generate the CSV files. Then there is Liaison Messenger EDD for distributing the reports and files via e-mail. It's a handful.
After working on that for a while, I checked on the status of a test EFT transaction that a client sent from GP. Thankfully the payment went through okay, despite the several bugs in the GP 2010 CCD+ ACH file formats.
Then at 10am I deployed some changes to a custom PO Export application for another customer. The trading partner that is receiving the PO files has some interesting limitations with their custom system, so the client and I are having to reverse engineer their system behavior to figure out how to send new POs, changes to PO lines, partial line quantity cancellations, and then full line cancellations. It looks like we may have to send PO line quantity updates net of any receipts that have occurred. So if they originally had quantity of 20 on the PO, changed the quantity to 15, but have already received 9, but then cancel the line, I may need to send a cancellation for quantity of 6. Make sense? Fun stuff.
Then back to the custom Statement for 90 minutes.
Then at noon I had a call with another client that is having two GP issues. I developed a moderately complex custom order import application that automatically creates SOP orders and purchase orders for inventory items, non-inventory items, and drop ship items, all simultaneously. It seems that SOP/POP linking doesn't work properly with these imported SOP orders and purchase orders in GP 2010 for some reason, so there may be an issue with eConnect 2010. To help save them time, I'm going to add the ability to automatically link certain SOP lines with the PO lines. Unfortunately, eConnect does not allow you to link a SOP line item with an existing PO or PO line, so that has to be developed from scratch. And they are also using another small customization that I wrote for them that isn't playing well with their Nodus CCA credit card processing module, so I need to make some changes there as well.
Then another call to discuss some new requirements for the PO Export I just updated.
Then back to the custom Statement report.
And next up, I have a call with another client to assist with a GP 2010 SP3 upgrade, since an eConnect GL JE import that I developed is getting an error due to an SP1 bug. So what should have been a very simple integration deployment has turned into a GP SP upgrade before we can even resume testing of the integration.
After that, I'll be back on the custom Statement report, even though I still have to work on a custom eConnect Project Accounting Misc Log import for another client.
And then there is the occasional Dynamics GP Land blog post that I need to think about and write.
This is all just an example to point out a few themes of consulting.
1. The breadth and depth of knowledge required to be a competent, full service Dynamics GP consultant is staggering. I think we take it for granted, but really, when you think about everything from debits and credits to SQL queries, to business process, to accounting controls, to all of the different modules, to product support, to project management, it requires a pretty huge pile of knowledge and skills to take care of your customers. And any one consultant typically only handles certain realms, such as application consultant vs. technical consultant. I used to feel a little self conscious about our billing rates, and definitely understand if a client gasps or growls at the hourly fee, but given the knowledge we're being asked to provide at a moment's notice (and the constant investment that requires), I don't think we're being too unreasonable.
2. Task switching is very expensive. I read a news blurb years ago about a study that tested people's ability to handle interruptions when they were performing a task that required focus and concentration. I believe that it found that on average, people required about 15 minutes to recover from an interruption and get back to the task.
UPDATE: It was a NYTimes.com article from 2008, titled "Fighting a War Against Distraction". And my recollection was incorrect--apparently it can take up to 30 minutes to recover from a distraction. Great article, with many other points about focus and distraction in the workplace.
I can definitely relate, as I often have a hard time getting back into that custom Statement report, remembering where I was at and what I needed to do next. And just the mental process of switching tasks feels like I have to clear my 'memory buffer' from the prior task and fill it back up with the new task at hand.
Anyway, it's a busy day and my GP upgrade call is starting, so that's all my brain can handle for now.
Steve Endow is a Dynamics GP Certified Trainer and Dynamics GP Certified IT Professional in Los Angeles. He is also the owner of Precipio Services, which provides Dynamics GP integrations, customizations, and automation solutions.