Quantcast
Channel: Finance – The Happy Coder
Viewing all articles
Browse latest Browse all 3

Invoice Approval System – Part I

0
0

invoice
I have built a lot of applications during my career, some of which I have already shared with you, but the Invoice Approval System is one of my favorites. I actually created three (3) different systems, each one increasingly more sophisticated, and so I will write this article in three (3) parts.

I was approached by my manager one morning and was asked if I had some time to help the Accounting Department with a problem they were having. I agreed to meet with them, thinking they might have an Excel spreadsheet that was giving them some trouble and it would be a quick fix. I can’t remember the last time I was more wrong! The group that needed my help was Accounts Payable and it wasn’t a problem with a spreadsheet. They needed a system built in which they could track invoices that were out for approval. The system in place was as-follows:

  1. Invoice is received by AP
  2. Invoice scanned to PDF
  3. PDF sent via e-mail to person responsible for approval
  4. Approval is received
  5. Invoice is paid

Pretty simple, right? It was but it was also riddled with problems. The main problem was that there was absolutely no record keeping; they didn’t know who had an invoice sitting in their Inbox awaiting approval or how long it was sitting there. I will get to the other problem later, which is when I discovered it too. I asked a few questions, laid out my vision to the group and then got to work. I figured they were already using e-mail so that would be my starting point – the application would be Microsoft Outlook based with an Access database on the back-end for reporting purposes. I was comfortable writing VBA for Excel and Access but had never done much with Outlook before, in fact, the only Outlook automation I had done was through Excel VBA code to automate form letter mailing. It is important to remember that this project was done in a post-Melissa world (for those unfamiliar with Melissa you can read all about it here) and automating Outlook was much trickier due to new security features. My first challenge was how to get around the Outlook security and I discovered that you could do so by writing code that was executed by a “rule” set up in Outlook. This meant that the AP clerk sending the invoice would send it to Outlook for processing – it was exactly what they were used to doing anyway! They just needed to send it to the Accounts Payable e-mail address with the approvers name embedded in the message along with a specific subject text. The new process looked like this:

  1. Invoice is received by AP
  2. Invoice scanned to PDF
  3. E-mail is sent to “Accounts Payable”
  4. Invoice number and approver is stored in Access database
  5. PDF sent via e-mail to person responsible for approval
  6. Approval is received
  7. Access database records approval
  8. AP clerk is notified of approval
  9. Invoice is paid

You can clearly see that there is more going on but no one is doing any more work than before; the computer is working hard and a record is being kept. I was able to get this system up and running within a few days but I just couldn’t leave it alone. I decided to add a feature that I thought would be helpful – an automated reminder. Everyone gets busy and chores not directly related to your job tend to get put aside so I decided to send gentle reminders to anyone with an outstanding invoice in their inbox. The interval we decided upon was 3 days and I accomplished this by creating “tasks” within Outlook that triggered code when they became due.

I was happy with the resulting application, but more importantly so was my client. There was now some accountability and invoices were being approved and paid in a more timely manner. It took some creativity to make this work (you remember Creativity, right?) but I was up to it. Little did I know that I was nowhere near done with this project – not by a long shot! One of the downsides of this solution was that Outlook had to be running 24×7 and to do that I had to get a virtual machine set up. This was okay but not ideal and there was an interest in having this application made into something web-based.

Check back for “Invoice Approval System – Part II” when we go web with this application….

If you would like to know more about this project or have one you would like to discuss, please write to me at joe@joevalencia.site90.com.


Filed under: Access, Excel, Microsoft Office, Outlook, VBA Tagged: Accounting, Accounting Department, Accounts Payable, approval system, awaiting approval, excel spreadsheet, excel vba code, Finance, invoice, invoice approval

Viewing all articles
Browse latest Browse all 3

Latest Images

Trending Articles





Latest Images