VirtueMart 1.1.0 - Invoice, Delivery Note, Receipt

Category: VirtueMart


This extension is not more maintained. Try to see Phoca Cart extension instead - e-commerce solution for Joomla! CMS. (See demo)
This article is obsolete. check out the updated article:
VirtueMart Invoice, Delivery Note and Receipt

Guide and files used on this site are not more supported.


This article describes how to install 'Invoice, Delivery Note, Receipt' addon for VirtueMart 1.1.0 (VirtueMart is created by Soeren Eberhardt, this addon was created by Ingemar Fällman, refactored for VirtuMart 1.1.x version and new PDF behaviour added by Jan Pavelka) in Joomla! 1.5.

The addon produces PDF Invoices, Delivery notes and Receipts from Orders created by VirtueMart users (customers).





If you have installed Joomla!1.5 and VirtueMart 1.1 on your server, do following steps...


1. Download the following file from this server.

Download VirtueMart Invoice, Delivery Note, Receipt Addon


2. Copy 'admin.install_delivery_sql.php':

  • FROM ''
  • TO your server: 'administrator/components/com_virtuemart/html/admin.install_delivery_sql.php'


3. Login as administrator into your site in administrator area. Copy the following URL link (change the [your-site] to your own site), paste it into the address bar of your browser and click enter on your keyboard:

  • [your-site]/administrator/index2.php?option=com_virtuemart&page=admin.install_delivery_sql.php

This script install necessary data into your database. After successfull installation of this data remove the 'admin.install_delivery_sql.php' FROM your server.


4. Copy the following files into your server:

  • FROM ''
  • TO your server: 'administrator/components/com_virtuemart/classes/ps_delivery.php'
  • FROM ''
  • TO your server: 'administrator/components/com_virtuemart/classes/ps_order_delivery.php'
  • FROM ''
  • TO your server: 'administrator/components/com_virtuemart/pdf/delivery.pdf.php'
  • FROM ''
  • TO your server: 'administrator/components/com_virtuemart/pdf/phoca.tcpdf.php'
  • FROM ''
  • TO your server: 'libraries/joomla/document/printpdf/index.html'
  • FROM ''
  • TO your server: 'libraries/joomla/document/printpdf/printpdf.php'

The '' includes the standard Joomla! 1.5 folder structure, so you can copy whole folders into your server (If you do it, don't forget that the 'admin.install_delivery_sql.php' is included and will be copied too. It should be removed after successful database data intsallation.)


5. Modify (edit in text editor) the following files (Before you do it, please backup your files) on your server:


File: 'administrator/components/com_virtuemart/languages/common/english.php'
Paste the following code (without tags) into this file (don't forget to add the comma (,) after the last item before these new items)

  // Delivery
'VM_DELIVERY_TAB_LBL' => 'Delivery',
'VM_DELIVERY_NOTE' => 'Delivery Note',
'VM_DELIVERY_NUMBER' => 'Deliveryno.',
'VM_DELIVERY_OBLITERATED_BY' => 'Obliterated by',
'VM_DELIVERY_EXTENT_FULL' => 'Full delivery',
'VM_DELIVERY_EXTENT_PARTIAL' => 'Partial delivery',
'VM_DELIVERY_ADD' => 'New delivery',
'VM_DELIVERY_VALUE' => 'Product value',
'VM_DELIVERY_NOT_COMPLETE' => 'Not all products are delivered!',
'VM_DELIVERY_COMPLETE' => 'All products are delivered.',
'VM_DELIVERY_EDIT' => "Change delivery",
'VM_DELIVERY_SAVE_CHANGES' => "Save changes",
'VM_DELIVERY_INVOICE_DUE' => "Invoice is due",
'VM_DELIVERY_SEND_INVOICE' => "Create invoice",
'VM_DELIVERY_PREPAIED' => "Customer has prepaid the order.",
'VM_DELIVERY_DAYS' => "days",
'VM_DELIVERY_DELAY_INTEREST' => "Delay interest",
'VM_DELIVERY_REALLY_OBLITERATE ' => "Do you realy want to obliterate this delivery?",
'VM_DELIVERY_PRINT_BILL_TERMS_LBL' => "Terms of payment",
'VM_DELIVERY_PRINT_SHIP_TO_LBL' => "Shipment address",
'VM_DELIVERY_PRINT_BILL_TO_LBL' => "Billing adress",
'VM_DELIVERY_PRINT_YOUR_REF_LBL' => 'Your reference',
'VM_DELIVERY_PRINT_OUR_REF_LBL' => 'Our reference',
'VM_DELIVERY_PRINT_SHIPPING_LBL' => 'Shipping and Handling Fee',
'VM_DELIVERY_PRINT_INVOICE_INFO' => 'Enter bill number (%s) when you pay this bill.',
'PEAR_LOG_CRIT' => 'Critical',
'PEAR_LOG_ERR' => 'Error',
'PEAR_LOG_WARNING' => 'Warning'
// END Delivery

Other Langages: Download VirtueMart Invoice, Delivery Note, Receipt Addon Languages


File: 'administrator/components/com_virtuemart/html/order.order_print.php'
Row: 170 + (in VirtueMart 1.1.5 it is a line cca 191)
Paste the following code (without tags) after row 170 (after $tab->endTab(); and before $tab->endPane();)

  // Delivery
$tab->startTab$VM_LANG->_('VM_DELIVERY_TAB_LBL'), "delivery_pane" );


For sending Invoice, Delivery Note, Receipt via Email see the
'Sending Invoice, Delivery Note, Receipt via Email' addon.


On some servers only PNG or JPG logo format will be displayed in PDF. Don't use GIF or other unsuported formats.

If you have an order in your VirtueMart, go to Orders » List Orders. Click on Order Number of an Order and you should see the folder Delivery here. You can create Invoices, Delivery notes and Receipts here and print them as PDF document.

It can happen that after some action in Delivery folder (clicking on button), you will be redirect to the first folder (Order Status Change). Just click on Delivery folder again to process the action.
TCPDF error: Some data has already been output, can't send PDF file

PDF document needs to have header without any error, sometimes it can happen, that some error is rendered before the document header. Then PDF cannot be displayed in browser. In such case check out your Joomla! and VirtueMart installation if it does not produce php errors.

Mostly this is caused by wrong encoding of the files - e.g. language file. Check if your langauge file is saved as UFT-8 without BOM encoding. You can check it with text editor like e.g. Notepad++ is. Open the language file (e.g. administrator/components/com_virtuemart/languages/common/english.php) in Notepad++, click on Encoding and select Encoding in UFT-8 without BOM. And save the file.








Powered by Phoca