Bij Pronamic krijgen we regelmatig de vraag om de factuurdatum toe te voegen aan de Magento factuur PDF. Volgens de belastingdienst moet de factuurdatum immers verplicht op de factuur staan. Op internet zijn gelukkig genoeg pagina’s te vinden waarop wordt uitgelegd hoe je dit voor elkaar kunt krijgen.
- http://www.magentocommerce.com/boards/viewthread/194421/#t240623
- http://www.mforum.nl/magento-programmeren/5848-verander-zelf-je-pdf-factuur-pakbon-en-creditnota.html
Als je de factuurdatum achter het factuurnummer wilt plaatsen in de PDF kun je daarvoor de volgende code gebruiken.
$page->drawText(Mage::helper('sales')->__('Invoice Date') . ': ' . Mage::helper('core')->formatDate($invoice->getCreatedAt(), 'full', false), 285, 780, 'UTF-8');
Deze regel kun je toevoegen aan het bestand ‘app/code/local/Mage/Sales/Model/Order/Pdf’ onder de regel:
$page->drawText(Mage::helper('sales')->__('Invoice # ') . $invoice->getIncrementId(), 35, 780, 'UTF-8');
De datum kan in verschillende formaten worden weergegeven in de PDF. Hier voor wordt gebruik gemaakt van de ‘formatDate’ functie. Binnen de 2e parameter kun je opgeven in welk formaat de datum weergegeven moet worden. Je kunt hiervoor kiezen uit de volgende PHP class constanten uit de Mage_Core_Model_Locale class:
- Mage_Core_Model_Locale::FORMAT_TYPE_FULL = ‘full’
- Mage_Core_Model_Locale::FORMAT_TYPE_LONG = ‘long’
- Mage_Core_Model_Locale::FORMAT_TYPE_MEDIUM = ‘medium’
- Mage_Core_Model_Locale::FORMAT_TYPE_SHORT = ‘short’
Als je werkt met de Nederlandse Magento dan kun je de volgende output verwachten:
- ‘full’ = maandag 31 januari 2011
- ‘long’ = 31 januari 2011
- ‘medium’ = 31 jan. 2011
- ‘short’ = 31-01-11
Met de 3e parameter kun je overigens opgeven of je de tijd ook wilt weergeven. Als je hier false opgeeft zal de tijd niet worden weergeven, bij true wel.