A while ago, one of our esteemed paying customers asked us if we could provide him with proper receipts for his purchases. Due to a series of misunderstandings, I had been convinced that this was actually already taken care of by our payment processor, which I eventually realized was not actually the case.
Oops. Rookie mistake!
So this week I spent some time teaching our order processing systems to generate nice PDF receipts and make them available for download from our users' account pages. As we have records of all our previous transactions, I will be generating receipts back in time for all of our customers and they should become available for download on Monday or Tuesday at the latest.
For the techies in the crowd, here is a brief summary of how the system works:
The most interesting part of this process was writing the tool which customizes the ODT template. This turned out to be a relatively trivial task since the Open Document format is actually just a bunch of XML files in a ZIP container - both very easy to manipulate with code.
The most annoying part, was that
unoconv seems to be relatively unstable and prone to randomly crashing. So much of the work involved was making sure the batch processing systems were robust enough to notice failures and retry. This is also the main reason there may at times be a slight delay between accepting an order and the receipt becoming available for download.
Please feel free to let us know if you feel the new receipts are inadequate in any way.