Jump to content

Invoice Number Label In Proforma Pdf


Blesta Addons

Recommended Posts

I'm not sure this is necessary. It seems fairly common to not label the invoice number as proforma because the entire invoice is already designated proforma. But if this were done, then I imagine it would need to apply to "Invoice Date" as well.

 

What are you requirements for invoice term labeling?

Link to comment
Share on other sites

I'm not sure this is necessary. It seems fairly common to not label the invoice number as proforma because the entire invoice is already designated proforma. But if this were done, then I imagine it would need to apply to "Invoice Date" as well.

 

What are you requirements for invoice term labeling?

Does invoice number has sense for you ?

proforma and invoice they are seperated docs , so in proforma , no invoice term should be referenced .

Link to comment
Share on other sites

  • 6 months later...

Sorry to up this ...

 

today we have relieved a claim by  client about this ; we have hack the core files, in updates we lose the modification .

 

some times i ask myself why blesta staff is not fixing some minor bugs/request that will take just 3 or 5 min of code modification !!!!!!!!!!

 

PROFORMA / INVOICE / are a different docs , and is confusing for client s to see in Proforma pdf the term "invoice" !!!

 

Invoice Number: PROFORMA-1738
Customer Number: 3616
Invoice Date: Aug 30, 2015

 

when we see this in a proforma is really confusing for all .

 

a simple fix we have put is to merge between invoice_type and language .

 

this is also affecting the description rendered by the gateways , it return "invoice  PROFORMA-1738" .... i never see a proforma with invoice entitled . 

 

wake up blesta team :)  , Europe market is a strict market and some small errors/behavior  can cause a serious fiscal problem .

Link to comment
Share on other sites

I believe it's cultural, if your country legal framework is not inspired US-UK old way, you know what is a Pro-forma, but when your country legal framework is close/from US/UK old way, you do not bother to call invoice (unpaid or paid) and using same order/id serial for both, so you do not bother so much with traceability because your accountability law do not have such requirement.

 

You know being from EU, I use Pro-Forma label for unpaid invoice, but some US  corporate customer for wish I made though proforma an official proposal, even did not understand it's was the formal proposal, they just do not know so much this word.

 

But since UK within EU since years, so there is same need for accountability to have separate serial for unpaid invoice and paid invoice, and believe it's a matter of time such accountability traceability requirement will be worldwide to prevent fraud.

 

it's real not hard to have 2 separate serial in the Blesta core database, one for unpaid and one for paid invoice, but until this is not understood...

Link to comment
Share on other sites

Thanks for the CORE-1803.

 

 

Since you and your clients find "Invoice Number" confusing for pro forma invoices, do you also suggest separating pro forma invoices and regular invoices from the list of invoices in the client/admin UI shown on the client profile?

 

This can be a  good addition , i have resolved this by changing the name widget to "Proformas / Invoices" not a professional solution  but  accepted solution that we can live with it ;)

 

 

 

.

Link to comment
Share on other sites

@naja7host, why do you rely on modifying the core? You can easily create a new invoice template and simply extend the original template, without having to write much code.

 

/components/invoice_templates/custom_invoice/custom_invoice_pdf.php

<?php
require_once '../default_invoice/default_invoice_pdf.php';

CustomInvoicePdf extends DefaultInvoicePdf {}

/components/invoice_templates/custom_invoice/custom_invoice.php

<?php
require_once '../default_invoice/default_invoice.php';
require_once 'customer_invoice_pdf.php';

CustomInvoice extends DefaultInvoice {
    public function __construct() {
        parent::__construct();
        Language::loadLang("custom_invoice", null, dirname(__FILE__) . DS . "language" . DS);
    }

    public function setMeta($meta) {
        parent::setMeta($meta);
        
        // Load different language for this template if given
        if (isset($meta['language']))
            Language::loadLang("custom_invoice", $meta['language'], dirname(__FILE__) . DS . "language" . DS);

        $this->pdf = new CustomInvoicePdf("P", "px", $this->meta['paper_size'], true, 'UTF-8', false, $font);
        
        // Set the meta data to use for this invoice
        $this->pdf->meta = $this->meta;
    }
}

Then just supply your own custom language file, you can even extend the language:

 

/components/invoice_templates/custom_invoice/language/en_us/custom_invoice.php

<?php
$lang['DefaultInvoice.invoice_id_code'] = "Number:";
$lang['DefaultInvoice.date_billed'] = "Date:";

Link to comment
Share on other sites

 

@naja7host, why do you rely on modifying the core? You can easily create a new invoice template and simply extend the original template, without having to write much code.

 

/components/invoice_templates/custom_invoice/custom_invoice_pdf.php

<?php
require_once '../default_invoice/default_invoice_pdf.php';

CustomInvoicePdf extends DefaultInvoicePdf {}

/components/invoice_templates/custom_invoice/custom_invoice.php

<?php
require_once '../default_invoice/default_invoice.php';
require_once 'customer_invoice_pdf.php';

CustomInvoice extends DefaultInvoice {
    public function __construct() {
        parent::__construct();
        Language::loadLang("custom_invoice", null, dirname(__FILE__) . DS . "language" . DS);
    }

    public function setMeta($meta) {
        parent::setMeta($meta);
        
        // Load different language for this template if given
        if (isset($meta['language']))
            Language::loadLang("custom_invoice", $meta['language'], dirname(__FILE__) . DS . "language" . DS);

        $this->pdf = new CustomInvoicePdf("P", "px", $this->meta['paper_size'], true, 'UTF-8', false, $font);
        
        // Set the meta data to use for this invoice
        $this->pdf->meta = $this->meta;
    }
}

Then just supply your own custom language file, you can even extend the language:

 

/components/invoice_templates/custom_invoice/language/en_us/custom_invoice.php

<?php
$lang['DefaultInvoice.invoice_id_code'] = "Number:";
$lang['DefaultInvoice.date_billed'] = "Date:";

 

Great way  .... i will test it in my european site and i will use the idea in my HTML invoice components .

 

i have found also  some of my clients who use the Quote plugin has the same issue ,  so i can't force the clients to a custom solution that they don't want it .

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...