How to generate PrestaShop Invoice by Customer name

Want to generate PDF invoice by customer's name instead of the boring numbers? It's so easy - on this guide, I will show you how to do it:

Are you ready? Follow me.

How to generate Prestashop Invoice by Customer name

Before you do anything else, please make sure to backup your website / your file first. When you have done, let's go.

Step I - Modify function getFilename()

Open and edit function getFilename() in your-website/classes/pdf/HTMLTemplateInvoice.php by using your favourite editor.

Step II - Get the customer object : Find getFilename() function (line 500):

  public function getFilename()
      {
          $id_lang = Context::getContext()->language->id;
          $id_shop = (int)$this->order->id_shop;
          $format = '%1$s%2$06d';
  

Change it to:

  public function getFilename()
      {
          $id_lang = Context::getContext()->language->id;
          $id_shop = (int)$this->order->id_shop;
          $format = '%1$s%2$06d';
          $customer = new Customer((int)$this->order->id_customer);
  

Step III - Return with the name and the number

Look into this code:

  return sprintf(
              $format,
              Configuration::get('PS_INVOICE_PREFIX', $id_lang, null, $id_shop),
              $this->order_invoice->number,
              date('Y', strtotime($this->order_invoice->date_add))
          ).'.pdf';
  

Change it to:

  return sprintf(
              $format,
              Configuration::get('PS_INVOICE_PREFIX', $id_lang, null, $id_shop),
              $this->order_invoice->number,
              date('Y', strtotime($this->order_invoice->date_add))
          ).'_'.$customer->firstname.'_'.$customer->lastname.'.pdf';
  

Final - Enjoy your result

The generated invoice name will be IN_number_customername.pdf. For example IN000001_Natalia_Eva.pdf. We also released a new module called DocumenThemix to help you to customize and personalize the Prestashop Invoice template as well as Delivery Slip & Credit Slip. You should take a view on it and try for a while - it's powerful and easy to use.

Is it cool, huh? Don't forget our blog to find useful Prestashop tutorials.

Check the video to change it easier.

Have a nice weekend!

Get this Advanced Cart Rules module

New module.

Xleft module

Xleft shows customers how much more they need to spend to get free shipping in real time.

Latest modules update!

ChargeMe v5.4.1 ⊙
Clear the cart & redirect to the checkout page.


Age Restriction - 18+ v2.3.4⊙
Fix the Smarty issues.


Newsletter Popup v3.2.5 ⊙
Enhance the level of security.


Trusty v1.4.7 ⊙
Compatible with both PrestaShop 1.7 & PrestaShop 8.

PrestaSOO team
Everything you need to make a living doing work you love.

Discover

It is a wise investment

PrestaShop modules we created first to solve the problem of our own business - an e-Commerce site. That means they are very useful for serious business. If you value your web property, these modules are a wise investment.
Sarah Reeves, App Developer @ PrestaSOO
Made with in Paris & Hanoi
PrestaSOO © 2024. All rights reserved. // Privacy Policy Terms of Service