Project Daisy: Part VI.
Fixing issues with shopping cart and shipping cost calculations.
Project Daisy is over: I have received the final payment and feedback, and the client says that she is happy with the final result.
That’s what I wrote in my last post.
However, it turned out that the project wasn’t over. There were shortcomings in the shopping cart’s settings and its correspondence with the client’s PayPal account that required re-setting and guidance.
Daisy preferred to meet and ‘walk through’ the issues and new settings together, so we met Yesterday in a cafe in the city.
I’ll take it as an opportunity to cover one more aspect of freelance project work: after-service/support – the extra work that comes on (unpaid, usually) to make adjustments, fix issues and provide guidance.
The issues with this project were:
1. Lack of product ID in orders
When Daisy received an order, it told her:
- how many items the customer ordered
- which varieties (choice of product options)
- what the customer paid
- contact and shipping information
… but not precisely which products, so she had to call up customers and ask what they had ordered!
I saw a copy of an order. Like Daisy said, it shows the generic product name without the bit of the name that identifies the product. That doesn’t make sense, because the identifying bit is the middle of the name.
The item code that identify the products (as a back-up) isn’t shown either. Why is there an option to fill in item numbers in Vistaprint’s PayPal-integrated shopping carts, if that information doesn’t go through with the orders? That doesn’t make sense either.
Also, all the info displays on the shopping cart summary when doing a test purchase – it just doesn’t pass on to PayPal. I searched forums and asked Vistaprint’s support (they didn’t come back yet) and still can’t find a logical explanation.
However, the changes (product ID as part of the name rather than just the product description, and item code) were made only a bit over a week ago and the last order is only a bit younger than that, so maybe somehow there is a delay in the impact of changing the settings.
Time will tell if that’s the case. Yesterday we re-published the settings and Daisy will let me know if she doesn’t get the product ID info through with the next order. If that’s the case, then I might have received a response from Vistaprint by then or tips on one of the forums and can take it from there.
2. The shipping cost calculation has silly consequences when customers buy multiple products (that aren’t bundled)
When a customer buys a product, the shipping charge is added during check-out. The shipping charge is the flat rate Daisy chose when I set up the shopping cart.
However, a new shipping charge is added each time the customer ads a new product to his/her shopping basket. The shipping charge is added each time the ‘Buy’ button is clicked. Since Daisy’s products are small, cheap and light weight, and since customers typically buy multiple items at once, the shipping charge becomes a ridiculous amount relative to the volume and value of the products.
That’s my fault. I should have thought of and advised Daisy that the ‘flat rate’ shipping option would work that way. Vistaprint’s shopping cart offers an alternativ shipping option, namely to use shipping calculations specified in one’s PayPal account:
On PayPal, the shipping charge can be calculated based on price ranges. That is the best option in this case.
It was a bit of a puzzle to set up the shipping costs and price ranges in PayPal. It took some time with scenario planning and a calculator to define price ranges that ensured that lightweight products aren’t shipped to dearly, and that heavier products and bundles with volume discounts aren’t shipped to cheap.
It isn’t an option to calculate shipping charges based on weight and/or dimensions in PayPal (or at least not in the Australian version). If Daisy changes her prices, then she’ll need to adjust the shipping calculations accordingly. As for now, the settings are in balance and work.
Support & profitability
Since I was fixing something the customer could reasonably expect to work, I didn’t charge for the additional meeting and research time. The learning is:
After-service/support can soon pull a low priced project into the red because regardless how cheap it is, adjustments will still need to be made, limitations will emerge, work-arounds will be required, and guidance will be needed.
In my case the project didn’t cause a loss, but only because my income is so minuscule that the opportunity cost of spending extra time on anything is very low.
Of course, the time consumption also has to do with inexperience. If I got a new project on the same platform, then I’d know how to avoid the pitfalls and most likely finish the project faster.
The simplicity of providing support by xkcd:
Read more: Journaling Project Daisy.
6 thoughts on “Freelance Project Support – Fixing Issues”
The unforeseen is frustrating, especially when it takes up your resouces. Best of luck to you navigating the final touches! 🙂
Thank you Lori! Hopefully the final touches work now, without more intervention from my side:-)
I had the xkcd chart taped to my desk at my previous job 😀
Interesting post to read from a freelancer’s perspective. I do this exact same thing for clients where basically either the project team or the client has fucked up. And I’ve become quite good at determining which of the two it is, and then either making the project team fix it for free, or explaining to the client why it’s going to cost him/her extra.
I’ve considered doing freelancing myself. But if I did so, I would definitely insist on testing and bilaterally approving EVERYTHING I build, so that any surprises afterwards are billable. Otherwise I know I’m just going to get haunted by “but it’s BROKEN fix it NOW” requests even years after the project. 😉
That is a healthy professional attitude.
My work was/is almost semi-professional in the sense that I have very little control over the “behind the scene” stuff, so customisations and testing rely on a platform with very limited options for design and “looking into the machinery” to see what it wrong. And it is cheap. I don’t actually like working like that at all.
I actually have a new project hanging for the same client which I am have been avoiding getting started on, partly because what she wants is likely to mess up her shipping cost calculations for her other products. Not due to a fault of hers, but simply the inflexibility of her platform (it is all WYSIWYG… and almost like trying to do web design in Word! very annoying).
I didn’t want the project…. I knew she likes thing very cheap, so I set my price a bit higher than I thought she would accept, but she said yes:-( I remember the settings worked eventually but were sort of a work-around on the very inflexible platform. So finding a way that works for both existing products and the new, different products in the same time will be a puzzle and may not be possible (I told her that from the start). A while ago I did all the work in Preview mode, but when I fully realised how changing the shipping settings in her PayPal account will affect the shipping calculations for her other products if I’m not extremely careful… I had to leave it for another day with plenty of time, and cancel the work I had done on with the shopping cart. It couldn’t be just saved as a draft. And I got so annoyed about that, that I’m still having it hanging. I keep having other work that comes in the way for the work on her website due to the need for an unknown amount of time to experiment because I can’t just save the work half way without affecting the existing shopping processes on the site.
“web design in Word”… ok, that definitely qualifies as horror. *shudder*
Good luck with that project, it sounds like a nightmare.
Yes I feel very unprofessional for not having done it yet. One of those things that keep nagging from the back of the head. How can I say I work freelance when I am not getting the work done? Right now I have some other work (my employed work, deadline Monday plus a new assignment starting) I need to get out of the way first.