Invoice Payment Methods & Payments


I have defined several payment methods in IP like Bank1, Bank2, Cash, etc. One of the Payment Methods I use to issue invoices is Credit which means that the client gets the invoice first and will pay at a later date. In that stage, the invoice will display Credit as the payment method.

When the client makes a payment, for example using Bank1, I go to Payments > Enter Payment to record the payment. But then I can not select a different payment method, because the Payment Method field is disabled. This makes sense up to some point, but we don’t always know how the client will pay.

I could in theory leave the Payment method Blank when issuing an Invoice, but with this approach there are 2 problems:

  1. PHP errors when producing Invoice PDF
  2. The printed invoice that the client gets, does not display that it’s a credit invoice which is a must for me

Only solution is to have a different custom field for that, but I’d rather not go that way.

Is there an option to re-enable the payment method field when entering a payment, allowing to overwrite the payment method with the new one?

Thanks for reading :slight_smile:

Hi Felix,
I had the same issue. Not 100% sure how I fixed it, but I think it was: Settings>Invoices>Standard payment method: None.
You could try this. When it does not work for you, I can have a closer look at the other settings.

@Benny54 thanks for the reply :slight_smile:

Unfortunately, I can’t leave blank (none) the payment method. The only solution that might work is to edit the PDF template and check if the payment method is defined. If it’s not (payment method = none) print on the invoice Credit as the payment method (aka client will pay at a later date). If the payment method is defined, just print the method on the invoice.

Unless someone else has a better approach …

OK. I have solved this with the following code in /application/views/invoice_templates/pdf/YOUR-TEMPLATE.php

<?php if ($invoice->payment_method) { _htmlsc($payment_method->payment_method_name); } else { echo 'CREDIT'; }?>

With the above code, the PDF Invoice will print CREDIT when no payment method has been selected and when entering a payment we can select whichever method we want. If a payment method is already specified (e.g. CASH) then the PDF Invoice will print CASH.

I hope this helps others as well :slight_smile:

1 Like