Monday, September 30, 2013

Post #27 Cash - A Label or a Category

Now that I've been using the Site for about 9 months, I understand things a little better. The one niggle I've had for some time now is how to treat cash. All the cash withdrawals are categorized under cash. The actual expense head, such as Paying Salaries, or Fuel etc. are folded under cash. The challenge around this comes when you want to know how much are you spending on lets say, Fuel. There is a Category called Fuel which covers all the Card payments. But when I pay for Fuel through Cash, it falls under Category Cash and sub category Fuel. To get all the Fuel expenses, I need to add expenses under Fuel Category and Cash->Fuel. There is a workaround which allows me to get the right picture. But then its a workaround.

The question is how to treat cash? The solution, treat Cash as a Label and not a Category. To implement this I had to make major changes to my application.

In a real world application this would be a big Change Request. As there are real users who would be impacted. Their data needs to be moved seamlessly. The challenge was to identify a migration strategy. I wrote down the impact areas. Made changes to Dev env and noted each step. And then executed it in prod.

Given I'm the SME, Business and Dev, this should have been an easy job. But no, after all the movements I still faced 2 errors.
- Filters on Cash Transactions. I should have caught it during regression, but did not
- Rules. I completely forgot about that there might be rules around Labeling and these need to be addressed before the movement.
I got both these errors in prod. I fixed them and rewrote a few Rules and Budgets to adjust.

Honestly, if it were a live site with thousands of customers, this change would have been next to impossible to implement.

Note: Along the way had a few run ins with Sencha again. The command line does not recognize the changes made. Its a big headache. The tool is not yet mature.  

No comments: