Here's my use case, which I'm guessing might be quite common:

End user visits the site and registers for an event/membership, etc., but rather than pay themselves using their own card/Paypal a/c, etc., they want to optionally provide a purchase order reference and get an invoice that is made out to their employer (or similar), so that the employer can pay the bill.

It feels like the billing block and the invoicing feature are close to being able to meet a need like this, but there doesn't yet seem to be any obvious way to make the required alterations.

What I'm seeing as default behaviour is that the invoice does use the billing address, but not the billing name (it seems to ignore this and use the contact's name instead - which makes me wonder why there is an option to enter a billing name at all, especially as there's no apparent UI to edit it or indeed do anything with it.

And then there's the billing block itself. If I could use a profile of my choosing for the billing block, then I could include the fields I want, such as employer's name, purchase order reference and/or other custom fields, etc. I see there's this Billing Block Adjustment extension (https://civicrm.org/extensions/billing-block-adjustment), which might possibly do the trick. Anyone using that have any advice about what it can provide?

And then, assuming I can get all of that doing what I want, there's the issue of getting the right fields into the invoice layout, which I assume is doable using tokens or similar?

Am I going in the right direction with this, or is there a better way?

  • I hear you Graham. What outcome did you achieve?
    – petednz - fuzion
    Commented Jun 14, 2018 at 4:35
  • IN particular I am trying to capture the name of the Billing Person without needing to create a separate contact - not sure if it makes more sense to just add a Custom Field for this, or to use the Billing Name field.
    – petednz - fuzion
    Commented Jun 14, 2018 at 4:49
  • Nearly three years on from my original question - has there been any progress on this? I'd still like to implement the invoice functionality, but I need to be able to allow the user to specify the name and address of the organisation that will appear on the invoice.
    – Graham
    Commented Jun 7, 2019 at 17:14
  • 1
    Five years on and this is something I was looking for as well. I'm surprised more people aren't asking for this.
    – Barijohn
    Commented Aug 16, 2021 at 12:34
  • Could you give examples of what it looks like on other systems? Where I'm from, a participant would register, and either pay with their card and submit an expense that is refunded on the next pay, or pay with their company/employee card.
    – bgm
    Commented Aug 17, 2021 at 1:03

1 Answer 1


Time flies ;) Maybe this will help you and others? I use this billing block (Smarty). It includes the employer, what is needed often.

{capture assign=display_name}{contact.employer_id.display_name}{/capture}{capture assign=adresstype}{contact.location_type_id}{/capture} {if $adresstype eq 2} {$display_name}
{/if} {capture assign=addressee}{contact.addressee}{/capture}{if $addressee} {$addressee}
{/if} {capture assign=supplemental_address_1}{contact.supplemental_address_1}{/capture}{if $supplemental_address_1} {$supplemental_address_1}
{/if} {contact.street_address}
{contact.postal_code}{ }{contact.city}
{capture assign=country}{contact.country}{/capture}{if $country ne 'Deutschland'} {$country}{/if}


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.