Xero - beautiful accounting software

Xero Business Community

Xero Business Community

Hi everyone, Come on over to the new discussions in Xero Central. It’s a more intuitive way to connect and chat all things business with one another. Ask questions, dish out answers, and get involved.

You can still view topics in the Xero Business Community to see all the useful knowledge that’s been shared there; and you can restart conversations you feel have been of huge value to you on Xero Central.

If you have brilliant ideas for innovations, you can keep on adding feature requests in the Xero Business Community, and voting on existing requests. There’s more in store, as we come up with the best way to take on your thoughts and share developments
Community > Feature Requests >

Unique contact ID to allow duplicate Contact names

Started by Neil Weston in Feature Requests | Done!

I am yet to sign up for Xero and am going through a bit of research to see if it suits my needs before doing so - so please excuse this if it is already an obvious feature. However, I have been unable to find the answer in the support so far.

I am currently using MYOB and the feature in that which is important to me is the provision of a unique Customer/Supplier Card ID# - and being able to import using that unique id with duplicates being automatically rejected.

Is this able to be done with Xero or is it an upcoming (really soon) feature?

Thanks kindly
If you're wanting to specifically vote for including multiple contact person names and email addresses, please do so on this thread. The thread for Duplicate contact names can be found here:
Contacts: Allow duplicate contact names Thanks, Community Managers
You're right, we don't have this yet but want to make many improvements to Contacts, this being one of them. I can't promise that it's coming soon though I'm sorry.

Catherine Walker (Community Manager)

Thanks for the feedback Catherine, very much appreciated.

That would be great. While the firm that I am looking to use Xero with is by no means large, it does have a few hundred transactions each day and increasing - and at the moment these are pretty much all to new clients. Even going forward in the future a large portion of our turnover will be from "new" business.

By the nature of the business we do, we do need to create a separate contact for each new client - not just a one size fits all "Cash Sale" card, etc.

The transactions are also 99% to individuals rather than entities and we already have a number of "John Smith's", "Tom Brown's", etc. We also have more than 8,000 cards in our system and this will only increase significantly.

So, a unique contact key is super important to us and unfortunately just can't be done without.

So sadly, I will just have to move ahead with MYOB at the moment, but I will keep a really interested eye on Xero for the appropriate update in the future.

Thanks again.

Neil Weston

I have been using xero for a few months now & also miss this option compared to our old program- This is expecially beneficial when dealing with many government departments that all get addressed to same name only different addresses. I find that I have to put the address in brackets to differentiate & this looks doesn't look good on customers invoices.


Yes, I agree Narelle, presentation and looking business-like is another very important consideration.

My firm also works with Government Departments and this is a part of our consideration too.

The same would go for dealing with other businesses who also have multiple divisions or addresses, that you still have to account for separately.

Often when that business has a long name, you are then trying to squeeze things all up because of limited field length. Again loosing that all important professional look. - Which in turn, if there is any reference to Xero on your invoices only make Xero look unprofessional and incapable.

I am sure that there a number of reasons why MYOB put the ability for the inclusion of a unique reference number on their cards years ago.

I think anyone who has worked with MYOB for a long time, and I can go back to when they were Best Books on this, know that they are not too interested in product improvement unless it is either put onto them by statutory provisions or very strong customer demand.

Sorta, tells you how quickly Xero should react to this provision, as I wonder how many people look at the product and walk away from it as being unsatisfactory without taking the time to express their opinion in these forums?

Thank you for taking the time to do so.

Neil Weston

I have heard good things about Xero, but this is a real deal-breaker for me. I would have thought it was fundamental to have the ability to assign a client reference number / account number / card ID (call it what you will) to a client record - even if it isn't automatic.

lt then gives you the ability to use bill payment systems like Bpay or to have non-changing direct deposit references for clients who regularly make payments to you.

Even the ability to add a custom field to Xero's contact records would enable you to do this.

It seems like a simple addition to me - just one more field! It's a shame Xero doesn't plan to do this any time soon :(

Phil Wainwright

+1! I currently have a number of clients on other applications that i cannot convert to Xero without this. Xero have announced that is is going to be developed, but no delivery date that I am aware of. This is on my top 5 of missing features!

Rhys Roberts

yes please! Different addresses as well!

Eugene Siterman

+1 for the different addresses

Paul Swinton

+100! We need this feature badly - one company, different branches are billed seperately and to different address, but still need to be collected under one company - need account ID codes!

Debbie Maden

Agree Xero needs a contact code or unique ID, where by you can search for either the name or the code. Various industries rely on this ability.

Kim Fielding

We are a membership based organisation and I'm trying to get the Finance Manager to convert to Xero, but we can't until this happens as the membership number must be on the invoice :( Please add this function as soon as possible

Shelley Lancaster

We are running into this as well, we work with government departments that have subdivisions, but the account is the department as a whole. Have to change the contact person every invoice at the moment =P

Finance Team

Yes please!

Lauren Harvey

Same issue for some of our clients who work with insurance companies. The quote/invoice needs to go to the claim officer who requested the job (of which there are multiple) but the invoice needs to be in the name of the company and the statements, remittance etc needs to go to the accounts person within the company. We investigated using CapsualCRM to provide a solution but because the limitation is at the Xero level there is no work around for this. MYOB enables multiple email addresses to be stored against the customer card. This would be a quick solution.

Kirsten Blake

Absolutely, Yes!

Nick Dorogavtsev

Same issue for some of our clients who work with insurance companies. The quote/invoice needs to go to the claim officer who requested the job (of which there are multiple) but the invoice needs to be in the name of the company and the statements, remittance etc needs to go to the accounts person within the company. We investigated using CapsualCRM to provide a solution but because the limitation is at the Xero level there is no work around for this. MYOB enables multiple email addresses to be stored against the customer card. This would be a quick solution.

Kirsten Blake

A much needed feature!

Mozo Finance Team

Multiple addresses for one contact would be great!
Particularly for when a business has clients who have multiple delivery addresses, but the same billing address. I have customised invoice templates so that the 'physical address' (or delivery address) appears on custom packing slips for a manufacturing client of ours. This is great, however some of their customers have several warehouse delivery addresses throughout the country and they want to quickly and easily choose which delivery address to appear on the packing slips. Because of the inability to do this they are reluctant to move to xero..
I have been thinking of ways around this, and am looking at bringing in inventory items for different delivery addresses to appear in the body of the invoice at the end. Not ideal but this could be a way around this..

Melissa Marriner

Agree this is a needed feature, is there any update from xero on progress/timescale?

ARCH Accounts


And could you please update these support requests with additional information a bit more regularly? Just so we know if you're working on it, when it's scheduled, etc.

Admin GoHiring

As per Neil Watson 10 months ago, when will multiple contact names be available per customer?

Russell Jackson

several of our clients require invoices sent to more than one email address. Currently the only way to do this is to manually add addresses when batch sending. facility ofr including multiple addresses at the contact stage, ideally all copied over from WorkFlowmax, would make life much easier. Alasdair

Alasdair Bavister

Thanks for the suggestions and votes so far. If you're wanting to specifically vote for including multiple contact person names and email addresses, please do so on this thread.

Catherine Walker (Community Manager)

Dealbreaker for me too - since we have more than one John Smith, our system can't export data to Xero or it will combine them. Needs to have unique customer number.

Seems so simple too. It's actually more complicated how they have it now with having a unique first and last name.

- Ian

Ian Russell

Btw - Catherine - I looked at the thread you linked to, to me that is a different issue.

MYOB has a great contact management system (for an accounting system).

Ian Russell

Totally agree, want to have multiple addresses for one contact (as well as the email one that I have commented on in the other thread).

Gemma Torr

Yes please.

As it looks like I will have to import and export out of our current CRM software (no Xero integration), this is really important.

Fiona Brooker

Unique contact codes/reference would be a great help if were introduced within Xero. I cannot transfer my Practice's bookkeeping to Xero due to this.

Lalit Gupta

Its been nearly a year since we were told "no time soon" for unique client id numbers, multiple client contacts and multiple client locations. Just wondering if Xero has made any progress on this one?

Phil Wainwright

Unique Card Identifier is badly needed in XERO.

Bikash Bhandari


We need this feature to help reconcile accounts. A unique customer reference that is automatically added to every invoice for that customer would simplify our processes

Stephen McCullan

Xero contacts needs to be beefed up, no doubt about it

Tim Robinson

+1 Client requires ID for factoring of debtors

Campbell Jordan

After a couple of years of intending to get around to transferring our accounting to Xero, I sat down a few hours ago to get started. I've just looked at importing our customer records, and found that there's no customer ID field. I'm amazed! Everything we do as a business revolves around the customer ID. Customers change their business names, but the ID is always the same. I can't see how I can proceed without this field, or the ability to add it. My Xero dreams are shattered! Back to the (non Xero) drawing board.

Andy Hunt

Is there any news on the addition of a Customer ID field?

Matt Wright

+1 Please resolve for multiple email addresses

Benjamin Franks

+1 - yes was amazed when I spotted it did not have this feature. We work with financial advisers and many have similar names with 'Independent Financial Advisers' in their name, so for us really important. Also helps when dealing with customers as some like to quote their customer code to ensure we are talking about the correct account, or reference it on bank payments they make, etc.

Jason Wykes

I would really like this feature too. I have used the country (physical address) field to populate with client code at this stage so I can map contact data based on it. I have also been able to customise the statement to show this field but with a description of "Client Code". Bit of a rough work around but is helping with payments from clients and mapping data.

Paul Dawson

Merged: Ability to assign a client or supplier, alphanumeric code

I use client and supplier codes in my practice to organise filing, amongst other things and would find the ability to add this information to invoices a useful feature.

Chris Gascoyne

Hey everyone - sorry I don't have any news on this. Any changes I'll let you know here. If client codes are something that you need, you can always look into one of our Add-On Partners - who can provide greater functionality with managing Contacts.

Brittany H (Community Manager)

@Paul Dawson - I have created a similar work around as this has become a bit of an issue for me: I use the 'Reference' field in the same way and have adappted my incoices to use this as a client code. However, this system falls down if one's clients use purchase orders or require a specific refence on their invoices... Perhaps a lesser used field would have been more prudent, as in the case of your 'Country code' - Thank you.

Chris Gascoyne

Yes please. A Client Code/ID feature would be a massive benefit. Our firm has used a client code for the last 100 years and it is the client code that we have used to identify clients through the various systems within our practice. And yes, occasionally clients do have he same name. So count me in as one more vote to those already made above. Kind regards.

Justin Pengilly

Just a reminder. +1s do not count as votes, so if this is something you wish to show your support for then please vote. Cheers.

Brittany H (Community Manager)

I need to understand why adding a feature, such as a simple field for unique reference/id in Xero is so hard to do? This feature was first suggested in 2012! It is causing us real issues when matching data due to dupes. I read that this was "coming soon". What does that mean?

Donna Barradale

Well, after a patient two years, here I am back again and while I notice the incredible number of improvements made in XERO over the past two years, it is indeed sad that this much needed feature has not been added as yet.

I also appreciate George's aspect as above in that the seemingly simple inclusion of a client account number in the "Card" system (and also multiple contact address info) would probably need to extend down to Purchase Ledger or Sales Ledger level.

Obviously, once the same name is allowed for multiple cards, it is only the ID number that the Ledgers would have to recognise the Ledger transactions recorded against it and hence also the problem that George identifies if there is also a need to change the ID.

I know a lot of software automatically creates an ID from the name, so that the "Gretton" name may end up with the ID of "GRET0010" which makes it a bit easier to "know" the ID code if you only know the name. But by the same token, there may be the need to have ID codes that are not related to the actual customer or supplier name, but rather to a different buying group or holding company name. So in essence, I believe that as long as the ID code is strictly unique to the actual client, the software should cater to the needs of most users. There should therefore really be no common need to change the ID, but I would not deny that it could never exist - Hence George's proposal should still be considered. Even things that are supposed to be unique and "permanent" like Tax File Number's, etc, CAN and DO change sometimes.

So, to me, it still remains at matter of adding a few extra fields to the respective databases. With my knowledge of databases, I don't believe that it is such a big deal.

It would then seem to be just a simple matter of use and application.

Even with the additional fields, they do not necessarily have to be populated while the customer/supplier name remains unique in itself.

But once a duplicate name is entered, the software should then request a unique ID to differentiate between the same two names.

What is interesting though is that I had the opportunity to have a quick chat to the Head of XERO Programming about this a few months ago at a Roadshow and what I was saying was totally foreign to him in relation to there being a need.

So the real question to me now is, how often are matters raised on this site ACTUALLY looked at and reviewed by those who matter and who can make a REAL difference???

Neil Weston

Thanks George,

While I have also built relational databases and have 40 years experience with various accounting software packages - way back to assisting Unilever develop main frame accounting in the early '70's, I certainly do not think that I would have anywhere near the same in-depth knowledge that you do of the full relational model.

I also have not looked closely at the basic XERO architecture to get the full gist of your comments relating to the "Single" ledger or anything else in relation to the "primitive" nature of the schema itself.

However, I would certainly agree with you that a cascading update of any primary keys does put the overall data integrity at risk.

But one must still wonder why even a change from a customer/supplier code from something like "GEOR07" to "CODD02" would ever be a problem to a modern database. To me, you just don't build a database using a primary key that may be subject to variation or change - whether that be a customer/supplier code or name. - Although your friends a Sage have still not modernised their "HandiSoft" Accountants and Tax software in Australia to even that basic level and the integrity of the software is, quite simply, "pathetic".

Most databases that I have built or worked with create their own unique primary keys that are hidden from, and not editable by, the user for the very reasons that you outline.

Therefore changing a customer/supplier code or name has absolutely no affect in the integrity of the relationships. Although, you would still want to ensure that a customer/supplier code remains unique in the system.

MYOB would certainly seem to operate in this manner and it amazes me, given XERO's very close and early connection with MYOB, that it was not founded on a similar model.

If XERO did need to rebuild their architecture to such a model, there are many "upgrade" techniques in use today that would also allow transfer of data from the "old" to the "new" whilst maintaining integrity.

So, I still remain at a loss as to why the inclusion of such a seemingly simple set of field's such as a customer/supplier code and multiple addresses remains such a major task.

Character count exceeded, continued below...

Neil Weston

It would more seem to me that they do not fully appreciate the importance of this feature to many potential customers. I would presume that many would just look at the software and walk away from it as being inappropriate for them rather than voicing their concerns and needs in a forum such as this.

Then again too, and has been suggested previously here, XERO do seem to have a leaning towards just building a very basic model and then letting 3rd parties create the "plug-in's" that create a more featured model.

It am not sure though that it really fits with the SME market who would no doubt prefer the software to just fully cater to their needs straight "out of the box".


Neil Weston

While we use Xero for my husbands business I now find that my knowledge of the program with people looking to move away from MYOB or just looking for a cloud based accounting package has been invaluable BUT we need account numbers to make it possible for many companies to use. If you factor you need 4 fields to upload - account number, invoice number, date & value. Please please please make this a priority. I know my employers would encourage all of our clients to use your program if it had this one change.

Deborah Linfoot

Well, I composed a rather substantial posting relating to how ridiculous it is that this feature (a unique Contact ID field) has not been added, especially after having been mentioned over 2 years ago, and when I went to post it, I was informed that my profile was not public, at which point I edited my profile, only to find that when I returned to the original page, my entire post had been lost. Silly me for not copying it to the clipboard, I guess.

In any event, to make a long story short, as someone with 20+ years of experience with database design, I can safely say that there's no excuse for not addressing this issue by now. It's a deal-breaker, and I don't see how the addition of such a field would require a total redesign of the Xero software.

Oh well, time to look elsewhere for a piece of accounting software which (radically, apparently) includes the ability to associate a unique customer number with a customer record.

Lee Tester

Thank you for posting Lee, and I have to agree 100%. Xero is doing some great things but this is ridiculous as you say.

And I also agree that the issue should not be all that hard to rectify.

The response to look at "add-ons" seems to have no understanding of the SME market where people just want something that simply works "out of the box" at a reasonable price.

I hope that all the posters here have known to vote at the top of the page to help increase the likelihood of it getting the attention that it needs.

Neil Weston

I raised this issue at a developer hangout and the team are very aware of it. I think they have a lot of focus on building the reporting features, stock and quoting aspects and I am sure they will tackle this issue at some point soon. It is obviously in their interests to address this and like any software developer they have a roadmap of priorities that they are working through. Probably the problem with this issue is it is more technical so will not attract as many user votes to raise the priority of it within the development programme. Just my thoughts on why I don't think it has been broached yet.

Paul Dawson

Hi Paul,

Thank you for your response.

I hear what you are saying as there are some really great things being incorporated into Xero right now but of course, the things that they are prioritising at the moment are not going to be any use to anybody if the lack of such a basic key feature precludes their use of Xero in the first place.

It is a bit like building a house with a great first floor, but no steps or elevator to get up there. :/

Most modern accounting programs that are of use by the wide variety or users have this feature. Xero stands out by not having it and there are a number of comments above calling it a "game breaker".

So just because there are not a lot of "votes" here does not make it any less important. I wonder how many visitors to this thread even know of the voting.

To me, if Xero really wants to be taken as a serious alternative, it needs to get the very basics right first, as an absolute priority.

It is recorded here how many comment and vote, but what is not recorded is how many just look and walk away towards something else.

And I can assure you, as a professional accountant, it remains the one key factor that stops most of my client's from adopting Xero.

I could add 60 new users tomorrow, nay today, if it had this feature.

Hope this helps.

Neil Weston

Hi Neil, I agree with your thoughts and I would like to see this feature being given greater priority, but without being in the room with the development team it is hard to understand their priorities but this is something that Xero need to address as Catherine says at the start of this discussion. Be great to get an update Catherine!!!

Paul Dawson

Thanks Paul, I should have also pointed out that the 60 new users that I am speaking of are all fully qualified accountants and tax agents themselves who are members of our accounting franchise group. Then each of those have their own business and corporate clients from that. Then of course they need their own practice software as well. Our group is only 3 years old and already has 35,000 clients.

So like me, there are probably a lot of "one voice/one vote" here who are speaking for a far broader audience.

Neil Weston

I'm confused why providing a unique customer id has been problematic. Xero already uses a unique id for each client. This is how they can continue to link invoices to the right customer even if you edit their name. Also when you load invoices/payments etc in the back end you have to in some cases look up the customer id to insert it. The name does not, by my reckoning, have to be unique, they have just chosen it to be so.

Could you please remove George Gretton's posts from this stream as they aren't relevant and only confusing.

Sam Kennedy

All good points thanks Sam. But I would think that the unique id you mention would be what is known as the "primary key".

This should be hidden from the user at all times and never be allowed to be changed by a user as it could destroy the integrity of the database.

Whereas the visible "unique id" should be able to be created and changed if needed just like the name field.

But that still means that while a "primary key" and its integrity remains in tact there should be no reason why the addition of an id field would remain such a problem.

Of course, the other aspect is that Xero will point you to the add-ons that will do this, but that is perhaps fine for businesses that can afford to go down that road.

Most SME's just want a solution that works straight out of the box and this is where Xero fails to make the grade.

Neil Weston

The option to enter & search Contacts by a user defined unique Contact Account Number is well underway. We’ve decided to call it Contact Account Number instead of Contact ID - for those that wish to display this reference on externally facing documents as Account Number.

This new option will be delivered ahead of relaxing the rule that requires Contact name to be unique which we expect to tackle soon after.

Looking forward to confirming this is live soon :)

Penny W (Xero Staff)

Sam thanks for your thoughts. We don’t remove posts from Community unless they breach the guidelines as we do encourage people’s opinions and thoughts on different features.

@George, we haven’t removed any of your posts. If you let me know which comment you think is missing, I’ll try and find it.

Matt Oldfield (Community Manager)

Hi Penny,

That's great news thank you.

Of course, not relaxing the unique contact name rules will defeat the purpose for many, but it is great to know that will (hopefully) be tackled very soon after as well.

- Neil

Neil Weston

Hi George, your comment’s over here on the Supplier Ledger / Transaction & Payment Report thread. Thanks.

Matt Oldfield (Community Manager)

Quick update! The Contact Account Number that Penny's mentioned above will be available in the next release.

Brittany H (Community Manager)

Thanks Brittany, any indication as to when the next release may be?

Neil Weston

I must admit George, that in my overwhelming excitement as a result finally getting this very important inclusion almost to fruition, I did miss the significance of the terminology used.

But yes, I would fully agree, that to be totally relevant to all users, the "ID" (or whatever you choose to call it), needs to be capable of being Alpha, Numeric or any combination of an AlphaNumeric sequence and to any length of reasonable bounds.

Having said that, there are a number of accounting/invoicing programs long out there that have an "Invoice Number" field, that is capable of running AlphaNumeric characters in sequence.

One would think that any modern and useful adoption of such an "ID" or "Number" by XERO would be capable of the same.

Neil Weston

To confirm, the Contact Account Number field, released this Monday, will allow you to enter alphanumeric and special characters. As this will be an optional user defined field, auto sequencing won't be available.

Brittany H (Community Manager)


Thanks again Brittany.

I am so very glad that I NEVER lost my faith that XERO had it all under control and do the right thing! 😀

Thank you too for the release date.


Neil Weston

Hello George,

I hear what you are saying and like you I have seen many accounting packages that pick up, say, the first four characters in a name string and then add a series of sequential numerics after that. In fact, I am using one from Sage that does that right now.

That is all very good to people who want that, and the system should cater for it.

But I also have a MYOB data file with 30,000 client records in it, and I use the client ID to record their TFN and that suits my purpose perfectly. An alpha numeric string there would be totally useless to me.

Other users of the product may have totally different needs in the way they classify their customers and suppliers, so yes, "IDIOT" may just be totally relevant to them as a client or supplier reference. (The whole list would probably be fun reading too).

What is FINALLY starting to happen George is that the publishers of software such as XERO, MYOB and QuickBooks are listening to their users and realising that their users are many and varied and have many and varied needs in relation to how their software works.

It is no longer based a how a bunch of programmers in a back room "think" and accounting program should work and then inflict it on us, it is getting as it should be and allowing the user to dictate their own needs within a product that maintains normal accounting standards and referential integrity - and that is what I think is happening here and I totally applaud it.

Neil Weston

How they have achieved it and whether they have just added another column, (which is what I would do to achieve another field in a database) I just don't care and nor would the average user.

So long as it works and integrity is maintained what else do you want?

Neil Weston

The only validation that I would want is that the string, numeric sequence or alpha-numeric sequence that I have entered is unique so that full integrity can be maintained.

That is the only "rule" needed in these circumstances.

And yes, if the user decides to leave that field "blank" in all instances or some "blank" and others completed, that should be OK too.

I should not need to be "forced" to complete the field, but if it is important to the user (NOT the system) that the field be completed at all times, that should be able to be set in a separate "preferences" panel by the user as well.

As software matures, people want and need that sort of flexibility in order to get the most out of it.

Neil Weston

Hello George,

Unfortunately, you have lost your referential integrity by using a search string of "Supplier Ledger / Transaction & Payment Report" as that search string does not bring up a matching post.

Maybe the underlying primary key of something like https://community.xero.com/business/question/65831 would be more appropriate here as I would have like to view the thread.


Neil Weston

But George, while you may be happy to demonstrate your incredible knowledge of Codd here, I wonder just how relevant the hidden and underlying database keys are to the everyday user.

Whether you think I am confusing keys or not is totally irrelevant here.

I sent you a perfect example of a typical customer key with MYOB, which like XERO is founded on a MS SQL database.

Yet that customer key functions perfectly well from a typical user viewpoint.

As I said above, it literally does not matter whether the field value is empty, alpha, alpha-numerical or numerical, it does the job that most users want because any entry into the field must be unique.

So I can sort on that field, perform finds on that field and even do imports/exports based on that field. I can print reports based on that field and post entries based on that field.

So the integrity that I am speaking of in relation to the use of the field is that I always obtain the correct results or information requested through the use of that key.

As a user, I honestly do not give a rats what underlying keys have been created by the developers to make that all very transparent to me.

I do not care whether they have used Codd theory or anything else to retrieve the record. As long as the correct record is retrieved, that is all that matters to me.

XERO call the new field a "Contact Account Number" field, but whether you call it a "Contact ID" or "Contact Reference" or anything else it is the same thing from a usage viewpoint.

In the XERO release on Monday: "There will be a new account number field in contacts; it's a flexible field, so you can keep track of contacts by a number or code. The contacts CSV has been updated and the account number can be shown on invoices."

And as you say, the "proof will be in the pudding" but the above sounds exactly what I asked for, and I have been consistent with the belief that I can be fully achieved since my initial request and despite all of the database theory that has been thrown around the issue.

Neil Weston

Huh? Gee George, you knowledge leaves me for dead, I have always apparently stupidly thought that "CSV" stood for "Comma Separated VALUES" not "Comma Separated Variables".

And yes, surprise, surprise, Xero has what they call "Xero's CSV template".

But please do not give me more credit than I am due.

The statement above that "There will be a new account number field in contacts; it's a flexible field, so you can keep track of contacts by a number or code. The contacts CSV has been updated and the account number can be shown on invoices." did not come directly from me.

I copied and pasted it straight out of the "Partner Product News - issue one, October 2014" eMail that I received today from the Xero Product Team.

Anyway, now that the Northern Winter is fast approaching it is probably a good idea to start putting your clothes back on. ;)

Neil Weston

Hi George,

I sincerely hope that Nick Longden can teach those at Sage a thing or two about the full and proper use of relational databases.

Sage produce a very clumsy and outmoded Practice Management suite for Accountants in Australia under the name of "Handisoft".

Just like Xero and MYOB, it also has a version that runs under MS SQL - but sooooo much slower and with soooooo many DB exceptions popping up all of the time. It is klunky and buggy.

But the most laughable thing about it, is that it creates a separate client database in it's tax program for each tax year - instead of maintaining just the one client database over all years and applying the tax rules for each year within a separate "tax return database".

It defies the whole purpose of a relational database in a similar manner that a purchase order module would if it required you to create the client record again every time that you wanted to produce a purchase order.

Even though the client's TFN (That's Tax File Number) is a unique number that is provided for each tax payer by the Government, the HandiSoft suite much prefers the unique primary key to be based on the Surname - so there you are again as GRET0001.

The whole integrity of that primary key is based on the premise that the client religiously gets their tax returns done each and every year and your GRET0001 record just gets rolled over from one year into the next.

But real life is often not like that.

The client will come in during a tax season and want just their previous year's tax return done. So you go into the 2013 module GRET0001 is available for that year and you set him up for that and you process his tax return under that reference.

Then he comes back a few weeks later and wants his 2014 return done. So you go into 2014 and GRET0001 has already been allocated to a different client, and maybe so has GRET0002 and GRET0003. So for 2014, you are now GRET0004.


Neil Weston

But some people (actually quite a few) go a number of years without lodging a tax return and then try to catch up all in one year.

Now in this instance, a good thinking accountant will go to the current year first and obtain the the next available code. Say, GRET0004.

He should then go back to the oldest year, say 2009, and use GRET0004 as the key for all subsequent years.

But some accountants are not all that "good thinking" - particularly during a busy and hectic tax season with people lined up in front of them to get their returns done.

And what you often then end up with is GRET0001 for 2009 and 2010, GRET0002 for 2011, GRET0003 for 2012 and 2013 and GRET0004 for 2014.

The integrity of the system is totally shot - particularly when other modules try to aggregate all of the information over the years under the one client record of GRET0004. You get some really misleading rubbish as a result.

Hence the reason that I am waiting very eagerly on the full release of Xero's Practice Management program, hopefully later this year.

Neil Weston

In today’s release you’ll see the brand new Contact Account Code field! Make sure to look at the Release Notes, and have a play to see how this new field can work for you.

For those of you that want to be able to create contacts with the same name please vote here so we can get an idea of the demand. Thanks!

Brittany H (Community Manager)

Thanks Brittany will do.

I presume that in George, in his haste to prove Xero wrong, may have missed Penny's post of 9 September 2014...

This new option will be delivered ahead of relaxing the rule that requires Contact name to be unique which we expect to tackle soon after.

Kind regards,

- Neil

Neil Weston

But even so, I am not sure why the request has been marked as "Done" with the big green tick, when this aspect remains to be completed.

- Neil

Neil Weston


I am desperate need of contact id's, so I was thrilled to hear about the update today.

I added sequential numbering from 1-500 to my contacts however I won't let me order them from 1-500 when I click account number. It goes 1 then 10 then 100 then 101 102 103 etc.
Is there solution to this? It seems a bit silly that it doesn't recognise it as a number and hence can't order them.

Also it would be great to have an option to automatically fill contact id, like what happens with invoices.

Also I need to be able to order outstanding invoices by contact id. Is there anyway to do this?



Miranda Langton

Hi Miranda,

I haven't had a chance to look at it yet, but probably the best way to do this is to work out what the field length for the account number is.

Just enter 0 as many times as you can and then count how many there are. :)

From that, ascertain how high you are likely to go with the account numbers.

So if it is 1,000 enter your first number as 001, if 10,000 enter 0001, etc.

No an elegant solution I know, but at least it will get you over your problem.

(Hopefully it will recognise the leading zero's)

Kind regards,

- Neil

Neil Weston

The other thing, if it does not recognise the leading zero's, then start with a 1.

So your first will be 1001, 1002, etc.


Neil Weston

Thanks Neil.

The leading 0's solved it.
I couldn't figure out how to do it in excel the first time so i skipped it, but a little googling help solved that.



Miranda Langton

Glad it worked Miranda. 😎

Yeah, in Excel you have to format the cells as "text" to get the leading zero's to stick, or you can probably do a Custom format to include the leading 0's.

Although it is an "Account Number field in Xero, I would presume it is also just a "text" field to allow the inclusion of text and numbers.

Neil Weston

Hi George,

I didn't realise that I was holding any "fort" here.

Where is the battle?

I am fully aware of database types, but Miranda mentioned Excel, so I used Excel terms to explain the point.

No, MYOB does NOT allocate the next account number automatically.

And I don't see why it, or Xero ever should.

To be really practical to all users the field needs to be totally freeform with no fixed alpha/numeric format.

For example, I may want to prefix the account with a Country or State/Region code. - As in GBENG0001, or USWA0001, etc.

It would be of no practice benefit, unless it was generated from the address fields, for the program to allocate USWA0001 when I want it to be USLA0001.

But again, any rigid approach even like that may still not be consistent with how I would want to use it and it would only detract from the users flexibility and therefore overall usage experience.

And again, I think that is where you are missing the point between the underlying database rules and the visible layer that the user sees and interacts with.


- Neil


Neil Weston

Well, Miranda, a Xero user, just did.... do not user opinions matter to Xero?
- George Gretton 3 Nov 2014

Yes George, the point is that ALL user opinions matter - and everyone has different needs and therefore opinions!

Everything we do as a business revolves around the customer ID.
- Andy Hunt 29 Aug 2013

I would really like this feature too. I have used the country (physical address) field to populate with client code at this stage so I can map contact data based on it. I have also been able to customise the statement to show this field but with a description of "Client Code". Bit of a rough work around but is helping with payments from clients and mapping data.
- Paul Dawson 31 Jan 2014

I use client and supplier codes in my practice to organise filing, amongst other things and would find the ability to add this information to invoices a useful feature.
- Chris Gascoyne 12 Mar 2014

Yes please. A Client Code/ID feature would be a massive benefit. Our firm has used a client code for the last 100 years and it is the client code that we have used to identify clients through the various systems within our practice.
- Justin Pengilly 27 Mar 2014

George, why in the hell do you think that each of these businesses use the EXACT SAME number format?????

C'mon, ALL businesses are different.

As I also said here previously, I may want to use a Tax File Number or Social Security Number as my reference.

Surely you are experienced enough to know that these numbers are NEVER sequential. They are based on a self-checking algorithm.

A valid TFN of 123456789 would NEVER be followed by a sequential number of 123456790.

Of course to be truly useful to the user these numbers need to be flexible to the user and to Hell with your Codd Theory.

Again, that all exist in the underlying database schema NOT in the user layer.

You REALLY need to update your thinking here George as you are the one who is being far to short sighted and rigid in your approach.

NO ONE is saying that underlying database principles need to be abandoned, but the user experience and practical usage is also of major consideration here.

Neil Weston

Hey George, if you really want to do your head in, why not have a look at Intuit's Quickbooks.

Their customer/supplier codes are freeform AND also let you hang NESTED freeform sub-codes off them as well.

They have been one of the most successful accounting software companies in the World for many years - try telling them they are wrong!

Neil Weston

George the Accomplished Developer, and "Information Theorist"; although the Senior Oxford Philosopher, Dr Bill Child, of my University College, has since referred to me as an "Academic Philosopher"; I was delighted...

That's very nice George.

Didn't he also teach you "...99...100..change hands"?

Neil Weston

Hello George,

That's a better approach by saying exactly what the issue is to the user.

I am yet to get into Xero to be able to assist, but have you read this...


- Neil

Neil Weston

Hello George,

Sorry for my mistake.

I honestly thought that your statement;

"The posts by others in these two threads make that abundantly obvious. Xero simply does not support the “traditional” concepts of Sales and Purchase Ledgers; you cannot run Ledger Summaries, aged or not, and you can’t press a menu item to print out a Customer or Supplier Statement, to send to a Customer, or to reconcile to a Supplier Statement."

- which was the only paragraph that seemed to be in support of your otherwise very critical post, was saying that there is a report problem in Xero, but now you say that you do not have a report problem. (Very confusing).

I fully understand that you feel that there is in inherent database architectural problem in Xero, but what I was hoping to indicate is that if that purported "architectural problem" causes Xero to not function in a manner that the normal user would expect (such as being able to print the desired range of reports) then in this case why not just continue to highlight the symptom until any root cause or "architectural problem" is acknowledged and remedied?

Let's face it, users do not give a rat's about what the inherent architecture is. What they want is a program that works in the desired manner and produces the desired results.

Therefore, with all due respect, I think you would do much better to directly concentrate your posts on any genuine aspect of the program that does not function in a way that a normal user would expect and eat away at your "architectural problem elephant" one spoon full at a time.

Kind regards

Neil Weston

Hello All,

I'm sure that everybody will be much more comfortable to know that I have deleted all posts of mine on this thread, and on the other one - re "Unique Id".....

I made the mistake of making another's problem; or even 370,000 other's problems, my own.

But that is bonkers, Baldrick; individuals taking on Xero have to be held accountable for their own decisions.



George Gretton

Thankyou Xero for adding client/contact account numbers - this will make things easier.

However when importing sales invoices there is still no account number field on the CSV template. This means that Xero still uses the contact name as the unique ID.

It would be great if you had an option to use the account number as the unique ID (and allow contact name and other details to be overwritten if different) for people who are regularly importing from another package.

This would be useful to me because I use an Access database for my invoicing and export the invoices to Xero regularly. If I change a contact name in my database (for example correct the spelling on their name) it creates a new contact in Xero instead of adding the invoices to an existing contact.

Phil Wainwright

Good point Phil and I agree 100% with you on that, as I do a lot of importing into accounting programs myself from FileMaker Pro.

There are programs out there that do exactly what you say, and hopefully Xero will catch up on it soon. (Or two and a half years like this request, whichever comes sooner.) ;)

My original request above was made thinking that all the good things that should come with the addition like your point would have been automatically included.

As my original request is now marked as "Done" I wonder if anyone from Xero will pick up on your request, so it may be an idea to start a new thread so that people can support it towards being picked up by the development team.

If you do, leave the name of the thread here and I will pick up on it and support it.

- Neil


Neil Weston

Thanks Neil. I have started a new thread here. https://community.xero.com/business/discussion/7585068

Phil Wainwright

Xero Search does not search Account Code!!!

Matthew Minshull


steve donohue

Come on Xero this has been doing the "rounds" since 2012 and should be fixed by now. One of my client firms deals a lot with the Government and the data that is uploaded to/from the government system (and which results in them being paid) relies on a unique identifier code, so customer code. surely you have enough feedback by now to fix this issue.

Stephen Balch

Part of the problem is that this community page is for people who already have the problem. ie existing customers. if potential customers knew that this was an inherent problem they may think twice about using xero, therefore i suggested the above tweet @xero #allowduplicatenames #xero

maybe then they will address the issue.

Gerard Mongan

^ SPAM ^

Matthew Minshull

^ ^

The OP clearly asks, "Unique contact ID to allow duplicate Contact names"
The community has marked it as "Done" when it has note been "Done"


Gerard Mongan

Gerard, Matthew's comment was referring to another comment here that has since been deleted - your comment definitely isn't spam :)

With the release of the Contact Account Number we did mark this as Complete, and asked that if you'd like the option to have contacts with the same name to add your vote here.

Separating out requests of individual functionality makes things easier for Product - making sure we're delivering what's needed. That does mean we have a lot of requests (4000+!), but it helps with prioritisation.

Brittany H (Community Manager)

Hi Brittany,

I'm not sure how old this conversation regarding the Contact ID is, but has that been implemented yet? I am looking to migrate data and the contact IDs are essential.

Can someone please let me know.

Myrna Woods

Hey Myrna, you can definitely enter an account number for each contact you add - just not possible to have duplicate contact names in the Xero. We have request for this here, that you can add your vote to. :)

Kavi S (Community Manager)

definitely an important feature for me in a small island where duplicate names are common. was there a fix for this?


Morris Hutchinson

I first raised this issue over 5 years ago now so forgive me if I am not excited by the response from Xero and sceptical about the voting option, its not resulted in any action for me. It just seems to be one of those hurdles that they can't bring themselves to fix despite lots of similiar feedback over the time.

Stephen Balch

When you first view this discussion, there's a Xero Official reply. No idea what the date of the reply is - where have the date references gone - plus, none the wiser. The vote 'here' link works - thanks; but the link to Release Notes for "... the brand new Contact Account Code field! ..." does not. You end up in never never land of Xero Support "Hi. How Can We Help?" which doesn't find release notes if you search 'Contact Account Code field'. Would love to know more while we wait for this need to have duplicate contact names, but spent enough time trying to find the answer via a mystery link.

Why its not considered by Xero both a need and possibility, that a business may have two customers (at least) called Mary Smith (as an example), is a complete mystery!

VAAM Accounts

Appreciate drawing our attention to the links here, VAAM. Have just gone through to update in earlier responses above. Contact Account Number was released in 2014 and since then we've introduced a new support portal (Xero Central) so there maybe some older links here and there that might need updating. 🙂

Kelly M (Community Manager)