Many of you Magento web developers out there may know – the PDF invoice template in Magento is reasonably hideous to look at.
I’ve taken it upon myself to create a much nicer version of it, which I have used on a couple of sites; I haven’t come across any issues with it as of yet, although I’m sure there may well be some tweaks that need to be made, so if you do use it, and make any tweaks to better it, please let me know and I will update the files!
Improvements Include:
- Increased Font Size
- More Legible Font (Sans-Serif)
- Order/Invoice Numbers and Date Moved to Top Right
- Address Fits on 3 lines to the right of the logo
- Lighter Colour Scheme, more appropriate for printing
- Much cleaner style
Magento Invoice Before
Magento Invoice After
Not all of the files in the zip have been edited, but I put them all in to keep them together and help any fellow hackers to find the right files.
Install the Magento Invoice Template
To install the template, simply unpack the zip file attached to this post, and upload to your Magento “app/code” folder. The files are all stored in the “local” folder, which means no core files will be overwritten.
Let me know how you get on!
04:30 21/04/2011
Great idea, thanks for sharing!
What versions of Magento have you tested this with? I am running 1.4.2, any luck using your template on it?
08:44 21/04/2011
Currently, I have only tested this on Version 1.4.1.1. Have you tried it on 1.4.2?
01:41 27/04/2011
Your template is really good, its way better.
13:12 29/04/2011
Thanks. It seems so easy but having problems with the install.
1. I downloaded the file.
2. Unpacked it.
3. Uploaded the contents to (root)/app/code.
Nothing happens.
13:29 02/05/2011
Ok, to help others… The installation instructions are not correct. The downloaded file contains another zip file but without the file extension.
What I did:
1. Add .zip to the file so you extract it properly.
2. Place all the files from the Pdf directory (local\Mage\Sales\Model\Order\Pdf) on your Magento website. The path on your Magento website should be /app/code/core/Mage/Sales/Model/Order/Pdf. You’re overwriting the old files so making a backup is adviced.
That’s it! Thanks for the templates!
Tested this on Magento 1.5.1.0.
14:23 02/05/2011
Cheers for that. I’ll have a look at the zip file tomorrow – must be because it was zipped on a mac…
I should mention, I don’t recommend overwriting core files, which is why I recommended to upload the files to app/code/local, rather than app/code/core – as Magento should default to use the local files before the core ones.
13:44 09/05/2011
Wow, i got it, thank you so much.
19:09 24/05/2011
Hi thanks for this great contribution.
I tried it on my website, but the product name overlaps the sku:
http://www.synmoto.com/images/invoice_layout.jpg
Im using magento ver. 1.4.1.0
Can you help with an update?
Thanks
19:10 24/05/2011
http://www.synmoto.com/images/invoice_layout.jpg
14:49 25/05/2011
Hi Julian, that seems like a tricky one. I will probably update this template at some point, but at this moment in time I don’t have time!
Are you able to use PHP at all?
17:24 07/06/2011
i can use myphp… but i dont really know enough to change the layout
09:48 08/06/2011
Hi Julian – I’m not sure if you’re asking a question?
20:02 15/06/2011
Hi
MY Web name is http://www.corset2corset.co.uk/magento/index.php/checkout/cart/
Have A Problem in Vat .Vat Value in Not Add The Products Price . Vat Show The – and I will be Add The Vat Value in Products With Price Kindly Help me
17:55 05/08/2011
Hi Julian,
Dont know if you will come back and read this but for anyone else that is having a problem with the “Product Name” writing over the “SKU”.
You need to do the following:-
1. Unzip the package and go to \Mage\Sales\Model\Order\Pdf\Items\Invoice”
2. Open “default.php” in your editor
3. On or around line 51 find:-
‘text’ => Mage::helper(‘core/string’)->str_split($item->getName(), 60, true, true),
change to
‘text’ => Mage::helper(‘core/string’)->str_split($item->getName(), 50, true, true),
5. Upload edited file to your server and you are done.
Hope this helps someone :-)
Stu