fbpx

How to generate Prestashop Invoice by Customer name

5 1 1 1 1 1 Rating 100%

Want to generate the invoice by customer name instead of the boring numbers? It's so easy - on this Prestashop Tutorial, 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 backup your website / your file first. When you 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 invoice name will be IN_number_customername.pdf. For example : IN000001_Natalia_Eva.pdf.

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

Check the video to change it easier.

Have a nice weekend!

PrestaSOO website uses cookies. By continuing to use this website, you are giving consent to cookies being used. More details… X