A computer-implemented method for transferring financial data from a first computer system to a second computer system, the method comprising the steps of: receiving, by the second computer system from the first computer system over a network , a set of historical data including financial transactions, where each financial transaction includes information within a free-form text field; creating one or more clusters of the financial transactions, wherein a number of the one or more clusters that are created is based on a clustering threshold; generating , for each cluster and by the second computer system, a regular expression from the financial transactions, including the information within the free-form text field, of the cluster; determining , by the second computer system, if the regular expression clashes with pre-existing regular expressions stored in a vendor map data structure, where each of the pre-existing regular expressions is mapped to a particular vendor in the vendor map data structure; if the regular expression clashes with the pre-existing regular expressions, updating the clustering threshold and generating a different number of clusters until the regular expression does not clash with the pre-existing regular expressions; if the regular expression does not clash with the pre-existing regular expressions, storing the generated regular expression with an associated vendor in the vendor map data structure , wherein tokens from the cluster that are not utilized in generating the regular expression are discarded; receiving, by the second computer system, a new transaction data associated with the financial data; and using the vendor map data structure , that includes a plurality of generated regular expressions without the discarded tokens, to identify the particular vendor associated with the new transaction data. receiving, by the second computer system from the first computer system over a network , a set of historical data including financial transactions, where each financial transaction includes information within a free-form text field; creating one or more clusters of the financial transactions, wherein a number of the one or more clusters that are created is based on a clustering threshold; generating , for each cluster and by the second computer system, a regular expression from the financial transactions, including the information within the free-form text field, of the cluster; determining , by the second computer system, if the regular expression clashes with pre-existing regular expressions stored in a vendor map data structure, where each of the pre-existing regular expressions is mapped to a particular vendor in the vendor map data structure; if the regular expression clashes with the pre-existing regular expressions, updating the clustering threshold and generating a different number of clusters until the regular expression does not clash with the pre-existing regular expressions; if the regular expression does not clash with the pre-existing regular expressions, storing the generated regular expression with an associated vendor in the vendor map data structure , wherein tokens from the cluster that are not utilized in generating the regular expression are discarded; receiving, by the second computer system, a new transaction data associated with the financial data; and using the vendor map data structure , that includes a plurality of generated regular expressions without the discarded tokens, to identify the particular vendor associated with the new transaction data. <EOS>