Making my money management app

I’ve been fiddling around with making a money management app for some time now. I wrote an eBucks calculator in Python to make sure that FNB wasn’t screwing me out of my rewards because I got tired of guesstimating the amount I should get. This was juuust before they released their own nifty calculator on the website.

Nevertheless, the exercise was good (my algorithm was spot on), as it serves as a backup check for me in case I get suspicious (which is all the time). Of course, two weeks ago I threw all my code out and started over because I’m sure I can implement the algorithm in a different way.

The reason I decided to create my own app is because, for years, I would track my spending in a spreadsheet on an ad hoc basis. I never spent enough for it to be a major issue. Last year, in preparation for all the big changes, my spending/saving habits changed/increased, and I had to include another person’s money habits as well.

I started using 22seven to track my (and now our) spending habits, and it has helped substantially. We went into financial lockdown last year to save as much as we could. Case in point: we spent the same amount on Eating Out and Takeouts in the first quarter of 2016 as we did for the whole of 2015.

This happened because not only did we virtually stop going out last year, but my husband moved into the house on his own, there was no time to cook because he was doing shifts as part of his training for the new job, and when I saw him on the weekend we didn’t want to hang around at my parents’ house.

The point is, I felt like I had to make my own app because though 22seven could track my transactions, I felt like the budget/spending plan side of it was not working for me. Also, it’s fun.


My experience with H&M: An analysis.

Yesterday, at the behest of my sisters and after weeks of them hyping it, the SO and I decided to visit H&M at the Waterfront. We were there when it opened at 9am.

I have not seen a shop fill up with people so quickly. I was so overwhelmed by the size, the super long escalator, the amount of clothing. I ended up getting a number of dresses and tank tops at 3 for 2, while the SO got a bunch of tshirts and shorts.

The experience was quite pleasant, and the prices are affordable, even at “normal” price. Quality of the clothing seems good as well (I’m currently wearing one of the dresses I procured), but we’ll see in the long run.


My experience using AliExpress: An analysis.

I’ve known AliExpress existed, and I’ve toyed with the idea of ordering some stuff from them. I was a bit hesitant about ordering things from China, and even more apprehensive about my goods going through the South African Post Office.

In August, I had a lengthy chat with one of my colleagues about ordering goods from them, so I decided to give it a shot. I chose items which had free shipping and were small. After getting lost on the site for a few hours (it’s so massive!), I ended up ordering a pair of sports Bluetooth earphones (for the SO), a pink rhinestone phone cover (for me), a pink Vivofit band (for me), a Hello Kitty pink and black wireless mouse (for me), and some wedding shoe stickers (for us).

I figured that the items were small enough to send via normal post and that indeed was the case. I received the stickers after 6 weeks in a small envelope that I had to go pick up. I didn’t get a collection slip, but a call from the Post Office instead. Hmm.

Sadly, none of my other items arrived. The total cost was R235 + R18 for the USD conversion, so since this was an experiment I am willing to write that money off. Luckily, Ali has this awesome Buyer Protection programme. Even though my expected delivery time on all the products is 2 days away from expiring (after ETA was 15 – 60 days), I’ve selected to extend the buyer protection time by another 30 days. If my items don’t arrive within that extended time frame, the seller will ship me another item for free.

Nice. I’ve already made peace with the fact that my Hello Kitty mouse was stolen when it reached the airport here. I say this because when I contacted the seller, he sent me this:

My mouse arrived at ORT on the 6th of September. That was two weeks after I ordered it. It’s been in the country for 6 weeks. I’m pretty sure I won’t be seeing that mouse. I had a discussion the other day about stealing being the national pastime (although some say it’s hijacking, others say it’s denial).

Customers try to rip businesses such as insurance companies off (thereby increasing the rates for those of us who try to live honestly). Businesses try to rip customers off (all the monopolies we enjoy here in Mzansi) and act like they are mercifully bestowing their products and services on us (leading me to have to lose my mind in order to get merely adequate customer service). It’s all good if everyone is stealing from everyone, because then it would balance out, but not all of us are playing that game.


Being nice is definitely overrated

I just spoke about this other day, and now I have definitive proof. I have two stories to tell.

My Vodacom contract ends on soon, so I got ready to go into battle with them. I want to change to prepaid asap, so that I can do this asap. This means that the day my contract ends, it needs to be cancelled and my number converted to prepaid. I got a bit antsy when I noticed that my last payment would be my full installment, instead of a pro-rated amount.

I laid a complaint on HelloPeter, and while I got a standard response, no one got back to me. So I threw my toys out of the cot on Twitter:

and almost immediately got contacted by Vodacom Support. A few hours later, someone from the Social Media team phoned me and explained the billing system, and that it’s not really set up to facilitate pro-rated billing in the last month etc etc. I asked why could they pro-rate me at the start of the contract, since I started in the middle of the month, but they can’t do it at the end, because surely then the amounts will balance out?

I was then informed that most people rather just stick with the full payment in the last month, because if their contract ends in the middle of the month and they convert to prepaid, they lose their bundles. That’s why most people prefer to stick it out until the end of the month.

I must admit, I lost it a little bit when I heard that. Most people? Am I most people? My contract ends 24 months after I signed it, and I want to change to prepaid on that day. Why must I hang around until the end of the month in fear of losing my bundles which I have paid for?

After raising my voice (and giving her major attitude, which was uncalled for :-/), she said she would need to escalate it. An hour later I get a call from a Senior Consultant, who, after laying out some options for me, informed me that yes, they can process the cancellation on the date my contract ends, convert to prepaid, and remove the charge for the unused bundles from my account. Now was that so hard? Why did I have to be rude first?

The second story is about my sister. A few weeks ago, there was a mix-up with a hotel booking she made. Long story short, the hotel had to refund her money. To date, she has still not received her money back. I told her to phone them, or go into to see the manager, lose her mind, and watch the money appear in her account within two days. She didn’t, and here we are, still waiting.

When she asked my dad to send them a curt email two days ago, the manager responds immediately, and the hotel sends a payment notification yesterday. The money hasn’t appeared yet, but there’s a plausible two day delay between the different banks. My point is, going in with guns blazing seems to be the only way to get things done the proper way in this country. People have been allowing businesses to dictate how we as clients should be treated, when those businesses would not exist without clients.


A couponing haul of clothing

I have a 6 months (interest-free) account at Edgars. Like many people starting out, I opened the account 3 months after I started my internship, in order to start building my credit rating. At the time (I say that like it wasn’t only 5 years ago), Edgars was the first place you would go to open an account, because they would take anybody. I knew very little about finance stuff then, but I knew enough to insist on the 6-month account, and a super low limit (I think it was R1500).

Once a month, I would buy something small at Jet to keep the account active – a pair of socks, some jeans, a BlackBerry (!!!) for the SO so that we could Mxit (!!!) – and would pay the balance within 3 months. I’d also buy some things on behalf of my mom or sisters.

That was before I realised there was a better way to do things. As the account is interest-free, I have 6 months to pay off a cash purchase. Like a lay-bye, but I actually have the stuff already. Now, the tricky thing is that, of course, they want you to tip over into the interest zone. By paying off the installment amount, and not the minimum due, one can avoid this harrowing fate. I shouldn’t need to mention that this amount should be paid in-store, with a credit card swipe (1.5% eBucks + contribution to monthly spend + 100% spend on credit card) instead of an EFT (more convenient, but no eBucks and no contribution to monthly spend).

I’ve gone off point. I need to explain that badly structured post title. Over the last year, I’ve been taking advantage of Edgars’ sales. I’m not talking about the sales where they mark up the price of the items, or where they make it half-price but still end up with 200% profit.

I’m talking about playing the game, only buying the things that are on sale when I was planning on getting them anyway. Last year, I was looking for a chocolate brown long boot, because I didn’t have any brown boots. I spent two months looking at different shops, and found a nice pair for R500 at Edgars. I then waited a month, and bought it at the end of August for R200.

This year is a bit different, because of My Epic Revamp. I’ve thrown out about 1/4 of my summer wardrobe, and half of my winter clothes because they are now too big. As the weather gets warmer and I carry on towards my goal, I’ll be chucking more summer clothes out. This means I basically need an entirely new wardrobe.

The SO needs new clothes as well, since he has much less clothing than I do, so he ends up wearing things out alot faster. He also has a penchant for destroying jeans and sandals rapidly, due to walking absolutely everywhere. So when we walked into the V&A Edgars a few weeks ago to window shop, I did not expect to walk out of there R1400 later.

Yes, we were overwhelmed by the sales, but we got 5 Tom Tailor Shirts, 1 pair of Reebok sandals, 1 Tom Tailor hoodie (for him), and 1 casual top, 4 underwear sets, and 1 pair of Jessica Simpson boots (for me). Strictly speaking, the boots were not entirely necessary, but they were an overly inflated R1899 (I paid R300, which is the most I’ll pay for shoes anyway), and are super comfortable.

In total, the real price for this haul would have been about R6000. I would never have bought these items at normal price, and only bought them at sale price because those were things we were planning on buying anyway. I also now get to spread the cost of this haul over 6 months, interest-free. I need to say this: couponed.


My first extreme couponing moment at PNP

I am well aware that this country will have never have coupons and such on the level that America has. This is because everyone would do it here, and that kind of business model is not sustainable.

The other day, I checked my smart shopper vouchers at the kiosk and discovered some vouchers waiting for me. There were a bunch of instant savings ones, like 70c off Maggi, R1.50 off tuna, R3.30 off mushrooms etc. Only valid for a single unit though, but every voucher was for items I purchased regularly.

I also had a few multiplier vouchers, so 2x points on chocolates, 2x points on fruit and veg, and 2x points on the full transaction. I also had a till point 3x multiplier voucher for hand and body items. Hmm.

Since this is the closest I’m going to get to real extreme couponing, I started working. I checked my stockbox at home, asked the SO what he needed, and checked my cupboard. Conveniently, the items I had vouchers for were on special anyway, so even my single unit vouchers would discount the product even more.

The Lindt dark chocolate was marked down by R10 per slab, so I bought a few for my multiplier voucher, and now I have a supply of dark chocolate to last me about 2 months. Once I had all the groceries optimised, I went to the clothing section. Two of my workout pants are getting too big for me (yay!), so I added a slim fit one to my basket. I also had been planning on buying new pantyhose for a few weeks, so I figured I should do that now.

I then wandered into the mens section, because I had been looking for a nice grey casual shirt for the SO for a while. Conveniently, I found one. When I got to the till, I probably handed over about 11 vouchers to the cashier. At the end, I had instant savings of R15 (only?), but couple that with most of the products having been on sale anyway, the multipliers on the various categories plus the double multiplier on the whole transaction, I’m pretty sure I came out ahead.


Finance tracking – manual vs automagic

I’ve been using 22seven for about a year now. While it is an excellent service, and the automatic classification of transactions helps, I am still not comfortable with the service having access to my accounts.

I do not relish the idea of manually tracking transactions in a spreadsheet. Every few weeks, I consider dropping all my account statement csvs into a folder and throwing some Python at it as a semi-automated compromise, but I get tired just thinking about it.

It will be fairly easy to write a script to sort all of this out for me (sounds like a perfect task for my Raspberry Pi when I eventually get it), but I can’t seem to gather the energy to really dig into this now.

In theory, once a month on a set date, I would login to all my accounts, download the csv files into some folder structure I’ve set up, and run the script to analyse the contents. Setting up the classifications will be tedious, but once it’s done, I’ll only ever have to add to it for new stores.

Splitting transactions will be a pain though. 22seven makes that part easy.