Unique data fields

In our customer management system we assign customers unique ID derived from our accounting.

I have created a field for this, and already made a misstep of creating a duplicate customer as I could not find them in my list at first. This is especially handy if creation and data population is done manually.

Something like a check-box to check for a field being unique would be nice.

1 Like

@Haslien Interesting case. We will think about it. Thanks!

Haslein, there will be a way soon that you’ll be able to have text formulas. You’ll be able to use the Public ID field which populates the rows automatically with a unique number so row 1 is public id: 1, row 2 is public id: 2 and so on. You can then create a table with one row and one column with the digits you’d like your customer’s unique ID format to be. For example “00000000” if you wanted your customers unique ID to be 8 digits. Depending on whether the Fibery team change the [public id] to a numbers field rather than text, you may need to make sure that field is a text field, not a numbers field. You’ll then be able to create a field in your customers table (where you hold all of your customers) called ‘Customers ID’ for example and create a formula that will add the “00000000” you created in your separate table and add the public ID of the row in the table of your customers making it completely unique.

For example I want customer unique ID’s to start at 14500000 so it would look like this:

Customer ID Customer
14500001 Customer 1
14500002 Customer 2
14500003 Customer 3
14500004 Customer 4

If your accounting creates 6 digit account numbers you’d just need to change it to 6 digits in the one table and add your customers according to your accounting and then every new customer would work perfectly.

I know this is a workaround but hope that would work for you and I apologise in advance if I’ve misunderstood your query.

@AshElderstone From what I understood from what you said, this would work if these conditions are met:

  • you are ensured every customer is put in there
  • every customer are submitted in order

In our case it is not guaranteed to be put in to Fibery nor in order, especially since suppliers/contacts are on the same sequence. We will therefore always have to manually create new customers, or with the automated system I am planning that will use the API, it will get the customer ID through our accounting’s API.

Automating with API would be the closest guarantee I’d have, since I would be checking all fields if customer ID already exist, as a security. This will not be ideal as the number of customers grow, so the checks may have to be omitted at some point.

My end would have to keep track of what’s already submitted to Fibery anyway, but there’s always the various edge cases, e.g. where we need a customer in there as it’s outside the automated system’s scope.

I’m with you.

Here’s another option:

Set your accounting to CRM up so that every time you add a customer to your accounting software it automatically puts them into your CRM in an app called ‘Backend’ for example, so the unique ID and the rest of the details always matches your accounting software as they’re pulled from there rather than created in Fibery. You’d then have a ‘Customers’ app that has a lookup field for the unique ID from the ‘Backend’ and a linked record field to add new customers that you want in your system so the ‘Backend’ app that matches your accounting software would never need to be opened, it would act as a backend link between them so you’d never be able to duplicate a record as you can create a one-way direction with a link record so you’ll never duplicate. All their data could be pulled in from accounting too like balance etc and linked to your bank so every payment they or you make would show in your CRM.

You’d set it up so that any supplier, contact or any entity would be pulled from your accounting into the ‘Backend’ app of Fibery so you’d never ever make a mistake or need to check them. All your data from Fibery and your accounting software on any individual or company you choose would all be in one place, the ‘Backend’ app that you back up regularly.

You’d then restrict all access to the ‘Backend’ app so your staff (if any) can only view the ‘Customers’ app, if that’s all you’d want them to see. You could then create a Suppliers app or view and repeat for suppliers if you wanted them separate or don’t include them at all.

If you wanted to add customers that aren’t in your accounting system you can do so by going into the Backend app and adding it yourself.

Could this possibly work for you?

It is somewhat how I have to do this yes. We are not a large company (~5–6 employees) and do not have a CRM, but each customer has one or more projects, which is where Fibery comes in with management and status tracking.

Our accounting also does not have a webhook or any of the sorts, so I have to pull all data regularly (at least they have creation date filter) and cross-reference with which ones have active projects based on structured folders in a local server—hence why I need to keep track on my end.

The “backend” is merely a bridge between systems.

Pull contacts from accounting → Filter out customers only → Cross reference with local folders → Pull Fibery entries (customers) and cross reference previous list → Push new/missing.

However there are customers that may have projects, small ones, and it falls outside the automation that cross-reference local folders, which means we have to put them in to Fibery ourselves.

We’ve had to resort to various sorts of hacky solutions so far with our systems. I want to move everything away from that and have it work properly.

What software are you using to automate the cross-reference?

Adding my vote to this feature request, which is now quite old.

See also related thread: Uniqueness constraints for Entities?