Scenario Overview
In this business scenario the requirement is to generate an Auto-Number on the Account entity. The specific requirement is that the first 3 characters of the account name is used as a prefix and that when generating the AutoNumber we need to count the number of existing prefix records & increment by one. 
Below is an example of what we require,   
                                                   Account Names
                                                   Microsoft - Ireland
                                                   Microsoft - UK
                                                   Microsoft - USA
                                                   Microsoft - Canada
                                                   Account Numbers
                                                   MIC-0001 
                                                   MIC-0002
                                                   MIC-0003
                                                   MIC-0004
Note1:
As always whenever we are using the North52 Auto-Number formula type we are guaranteed consistency when generating Auto-Numbers so no duplicates will be created even with multiple application servers for any of CRM Online, OnPremise or Partner Hosted.
Note2:
It is assumed that the 'Account Number' field is read-only, accounts are never deleted (only deactivated)  & users cannot change the field.
North52 Decision Suite Solution
The North52 Decision Suite solution works like this,
- Execute on the create of Accounts within the system
- Have a formula that generates the auto number requirements
- This formula executes a fetch-xml query passing in the prefix to get the existing count & adds one
- Have the formula place the result of the formula into the Account Number field of the Account entity
North52 Decision Suite Steps

Formula Steps
- Create a new formula of type 'AutoNumber'
- Set the Source & Target entities to 'Account'
- Set the Source & Target Property fields to 'Account Number'
- Copy & paste the formula description below into the formula description field & click save
Formula Detail Steps
- Scroll half way down the formula & click to add a new formula detail record (i.e. add the fetch-xml query)
- Set the Name to 'GetCurrentAutoValue'
- Copy & paste the fetchxml below into the query field & click save
- You are now ready to test
Formula
Upper(Left([account.name] ,3)) + '-' + PadLeft(FindCountFD('GetCurrentAutoValue', 'accountnumber', '0', true, SetParams( Upper(Left([account.name] ,3)) + '%' )) +1, 4,'0')
Fetch-Xml Description
<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false">
  <entity name="account">
      <attribute name="accountid" />
      <attribute name="accountnumber" />
        <filter type="and">
            <condition attribute="accountnumber" operator="like" value="{0}" />
    </filter>
  </entity>
</fetch>
 
		
 
 