Custom Fields in Xero Invoices
I am often asked if its possible to add custom fields in Xero Invoices. The most common request is just for extra information to add somewhere on the page, or for an extra column.
Custom fields are not a feature in Xero invoicing. However, there is a way to use the Merge Fields available with advanced invoice templates to create multiple custom fields into Xero invoices. Advanced invoice templates are used to create your own design for invoices and other document types and part of this is inserting data fields into the document.
This article assumes you are familiar with advanced invoice templates.
Data fields you don't normally use can be repurposed for custom information and added to your custom invoice pretty much anywhere on the page. Examples might be a project reference, a message about terms for this particular invoice, or something specific to this client that you want to describe outside the pricing lines of the invoice. You control where the information appears, as well as the font / colour / size and other attributes. There are limitations of course!
I recommend only using fields you can enter directly when creating or editing an invoice. That way you can see what you're doing and not risk forgetting to update hidden data for the next invoice and potentially approving and sending an invoice with incorrect information.
The only extra data fields that can be entered when creating or editing an invoice are address related.
Custom Invoice Fields
There are 10 Address related data fields available to enter when creating or editing an invoice in Xero's New Invoicing.
So the question is, can you spare any of these fields to be used as a custom field instead?
Contact Billing Address Line 1 - Explained
When creating or editing an invoice, you will see "Address Line 1" and you can only enter 1 line of information here (up to around 250 characters). However, if you go directly into Xero Contacts and edit the Contact you will find there are actually 4 lines - Address Line 1, Address Line 2, Address Line 3 and Address Line 4. Lines 1 to 4 always print together as a block of 4 lines and it's not possible to print Address Line 1 by itself .
Perhaps you don't use physical addresses at all, so could use any of those fields as custom fields?
Or if it suits your business you could choose to enter permanent Contact address information directly from the Contact areas of Xero using Address Lines 1 - 4, potentially leaving other fields such as City/Town, State/Region, ZIP/Postcode or Country free for use as custom fields.
TIP: If you export all your contact address details from Lines 1 to 4 it will export into 4 separate columns but not labelled City/Town, State/Region, Sip/Postcode, Country.
If you do need to enter physical address information at the time of creating /editing an invoice, and you do need all the fields listed above, then you will not be able to use them as custom fields - end of story unfortunately.
Invoice number and reference
Another option is to consider if you can make better use of the Invoice Number and Reference fields. A big advantage of using these fields is that information is fully searchable with Xero's global search (the wee magnifying glass top right).
For example if you format your advanced invoice template to allow text to run across the page you could enter a string into the Invoice number field such as :
"INV-5555 Ref: 465266 PO Number: 888446" or even more. The invoice number will populate automatically when you create the invoice and you add in the rest. This would then leave the original Reference field in your Xero invoice free to use elsewhere as a custom field. It might look something like this:
You could do the same with the Reference data field. The most common repurposing of the reference field is using it for a Quote or Purchase number.
Custom Extra Column
The type of information I have been asked to provide a custom column for are things like a project manager's name, a date, a project number etc. The ability to add an extra column in the main body of the invoice is very limited and the option explained here will only work for some businesses in some circumstances.
There are three data fields on each invoice line where text can be entered - Item Code, Item Name and Description. The Description is the only one where data can be entered when creating an invoice. Item Code and Item Name can only be entered from Business / Products and Services.
However, many businesses only ever use the Description for their Products and Services, and don't use the Item Code or Item Name at all. If this is the case, then there may be opportunity to use the Description as the custom field, and start using Item Code and Item Name for regular information.
As below you can see the standard invoice from Xero only prints the Description.
However, it is possible to print the Item Code (up to 30 Characters) and Item Name (up to 50 Characters) on an advanced invoice template. Here's a print of an advanced invoice template before any modification - you can see it prints the Item Code and Description, but not the Item Name which you can add yourself. You can also separate the Item Code, Item Name, and Item Description into separate columns unlike this default shown where the Item Code and Description is run on in the same column.
This option will only suit a business that has preset products and services, and does not need to add in new products and services when invoicing.
That really is the only option for an extra column unless you want to talk to a developer to do something outside Xero.