US20070131758A1 - Methods and Systems For Processing Electronic Checks - Google Patents

Methods and Systems For Processing Electronic Checks Download PDF

Info

Publication number
US20070131758A1
US20070131758A1 US11/673,783 US67378307A US2007131758A1 US 20070131758 A1 US20070131758 A1 US 20070131758A1 US 67378307 A US67378307 A US 67378307A US 2007131758 A1 US2007131758 A1 US 2007131758A1
Authority
US
United States
Prior art keywords
account number
account
previously submitted
parsed
digits
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11/673,783
Inventor
Brian Mejias
Thomas Cain
Garret English
Leonard DeCaro
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fiserv Inc
Original Assignee
CheckFree Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CheckFree Corp filed Critical CheckFree Corp
Priority to US11/673,783 priority Critical patent/US20070131758A1/en
Publication of US20070131758A1 publication Critical patent/US20070131758A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/042Payment circuits characterized in that the payment protocol involves at least one cheque
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/042Payment circuits characterized in that the payment protocol involves at least one cheque
    • G06Q20/0425Payment circuits characterized in that the payment protocol involves at least one cheque the cheque being electronic only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems

Definitions

  • the invention relates to electronic checks. More particularly, the invention relates to methods and systems for processing electronic checks to minimize the number of returned electronic checks.
  • MICR magnetic ink character recognition
  • An electronic check or “e-check” is like a check without the paper.
  • the drawer or maker of the check provides the necessary information from the check, but not the paper. This can be accomplished in several ways.
  • One popular way is referred to as electronic check conversion.
  • the drawer or maker of the check provides a void blank check which is scanned to obtain all of the information except for the payment amount which is then entered via a keyboard or keypad.
  • Another method is to enter all of the information via a keyboard or keypad. The latter method is used when payment is made by telephone or via the Internet.
  • the check information is usually obtained via an interactive voice response unit (IVRU) which plays pre-recorded prompts and interprets DTMF (dual tone multi-frequency) signals generated by the telephone keypad.
  • IVRU interactive voice response unit
  • E-checks are commonly used in situations where the payer chooses not to use a credit card (e.g. does not have a credit card) or where the payee chooses not to accept a credit card.
  • E-checks are processed in the same manner as paper checks which have been fully encoded and machine read. The information is compared to databases to determine whether the checking account can be identified and whether the checking account has sufficient funds to pay the check. If either of these inquiries fail, the check (paper or e-check) is “returned” to the presenter (usually the payee). If the account has insufficient funds to pay the check, the return is referred to as an NSF (not sufficient funds) return. If the account can not be identified, the return is referred to as an administrative (ADM) return. A little over 1% of paper checks are returned, mainly NSF returns. E-checks have a much higher return rate (e.g. 4.7%) than paper checks and this is mainly due to ADM returns.
  • ADM administrative
  • FIGS. 19-22 illustrate how the MICR line may appear on a business check ( FIG. 19 ) or on a personal check ( FIGS. 20-22 ).
  • e-check returns is a significant problem for businesses that rely heavily on e-check payments, such as utility companies.
  • a typical utility company may have approximately one million customers who pay their monthly bill by e-check. With an e-check return rate of 4.7%, that means that 47,000 customer payments will be rejected every month. This causes an immediate cash-flow problem for the company but also causes a very expensive customer relations problem. Most of the 47,000 customers will need to speak to a customer service representative to correct the situation. At a conservative estimate of $10 per customer service call, this will add nearly half a million dollars to the company's monthly operating expenses.
  • FIG. 1 is a high level flow chart illustrating a basic user interface according to the invention
  • FIG. 2 is a high level flow chart illustrating a sub-routine for handling MICR problems
  • FIG. 3 is a high level flow chart illustrating a sub-routine for handling ABA number problems
  • FIG. 4 is a high level flow chart illustrating a sub-routine for parsing MICR numbers
  • FIG. 5 is a high level flow chart illustrating a sub-routine for matching ABA numbers
  • FIG. 6 is a high level flow chart illustrating a sub-routine for pre-handling checking account numbers:
  • FIG. 7 is a high level flow chart illustrating a sub-routine for processing two field checking account numbers
  • FIG. 8 is a high level flow chart illustrating a sub-routine for processing three field checking account numbers
  • FIG. 9 is a high level flow chart illustrating a sub-routine for processing checking account numbers having more than three fields
  • FIG. 11 is a high level flow chart illustrating a sub-routine for processing checking account numbers having more than three fields where the ABA number is the first or last field;
  • FIG. 11 is a high level flow chart illustrating a sub-routine for validating the numbers parsed from the MICR line
  • FIG. 12 is a high level flow chart illustrating a sub-routine for matching checking account numbers
  • FIG. 13 is a high level flow chart illustrating a sub-routine for validating ABA numbers
  • FIG. 14 is a high level flow chart illustrating a sub-routine for validating checking account numbers
  • FIG. 15 is a high level flow chart illustrating a sub-routine for determining an erroneous checking account number
  • FIG. 16 is a high level flow chart illustrating a sub-routine for payment processing
  • FIG. 17 is a high level flow chart illustrating a sub-routine for ba processing
  • FIG. 18 is a high level flow chart illustrating an interactive payment system within which the invention is implemented.
  • FIGS. 19-22 illustrate a prior art business check and three personal checks.
  • the main user interface starts at 10 and first requests at 11 that the customer indicate whether the payment will be made with a business account or a personal account.
  • the terms user and customer are the payor and the term client is the payee.
  • the routine at 14 - 20 causes the session to end if the user does not enter any data after three prompts. It will be appreciated that the decision at 14 will be linked to a timer (not shown) so that the user is given sufficient time to enter data.
  • variable Check Number is set to zero at 21 and the function MICR.C is called at 22 .
  • MICR.C is called at 22 .
  • This function is outlined in FIG. 4 .
  • the user interface is typically part of the IVR system or other system used to acquire other data from the customer. An exemplary system is described below with reference to FIG. 18 .
  • FIG. 4 starting at 24 , it is determined at 26 whether the user input includes any star characters. If there are one or more star characters present, they are used at 28 to determine the number of fields by treating any one or more consecutive star characters as field delimiters. After processing at 28 , it is determined at 30 whether there are more than one field. If there is only one field or if there were no star characters, the NO 13 STAR flag is set at 32 and the processing returns to FIG. 1 where further processing is directed to a handler invoked at 34 in FIG. 1 for handling the flags NO_STAR, BAD_ABA, and START_OVER. This handler is outlined in FIG. 3 . The functions of FIG. 4 can be found in the code of the incorporated by reference Appendix of U.S. patent application Ser. No. 10/925,592 at micr-split, analyze_micr, and validate_check_lengths.
  • the handling of the flags NO_STAR, BAD_ABA and START_OVER begins at 36 and increments an error count at 38 . If it is determined at 40 that the error count is greater than or equal to three, the session is ended at 42 . So long as the error count is less than three, the process resumes at 44 being directed back to FIG. 1 at the start 10 and re-prompts the user to re-enter the digits.
  • the first field is selected at 46 (reading the fields from left to right).
  • the answer will be no.
  • the answer will be no.
  • the source code for making this determination is provided in the Appendix of U.S. patent application Ser. No. 10/925,592, filed on Aug. 25, 2004, which is incorporated by reference as if set forth fully herein.
  • the Echeck Server ABA Validation routine is called at 54 . This routine is outlined in FIG. 13 .
  • the length of the ABA number is determined at 58 . If the length is determined at 60 to be nine, processing continues at 62 to determine whether the ABA number is in the Thomson File ABA list. This file is available from Thomson Financial, Stamford, Conn. on a monthly subscription basis. If the number is found in the Thomson list, it is checked against a list of bad ABA numbers at 64 . This list is created based on previous processing failures for this client. If it is not on the list of bad numbers, the routing ends at 66 with a VALID response. If any of the three tests fails, the routine ends at 68 with a BAD ABA response. In either case, processing returns to 70 in FIG. 4 .
  • the variable “Number of ABAs” is incremented at 72 . It will be appreciated that the first valid response will set this variable to one.
  • the next field is set at 52 and the process continues to check all of the fields looking for fields that satisfy the checksum at 50 . Each field that satisfies the ABA checksum is further investigated by the routine called at 54 and each time a field is found to be a valid ABA number, the variable “Number of ABAs” is incremented at 72 . After all of the fields have been checked for ABA numbers, the process continues to 74 where the variable “Number of ABAs” is examined. If the number is not one, it is determined at 76 whether the number is zero. If it is not zero, i.e. if it appears that more than one ABA number was found, the function ends at 78 and sets the flag BAD_ABA. The process returns to FIG. 1 where the routine of FIG. 3 is called at 34 .
  • the ABA position is saved at 116 a and it is determined at 117 a whether there was a previous check payment. If there was, the fuzzy ABA function is called at 117 b . If there was not, processing continues at 118 to FIG. 6 .
  • the previous and new ABA numbers are compared at 96 . If it is determined at 98 that the numbers are an exact match, the MATCHES flag is set at 100 . If it is determined at 102 that there is more than one transposition of numbers, the flag DOESN'T_MATCH is set at 104 . If it is determined at 106 that the number of digits differ by more than one, the flag DOESN'T_MATCH is set at 104 . If it is determined at 108 that less than 80% of the numbers match, the flag DOESN'T_MATCH is set at 104 . If the tests at 102 , 106 and 108 are all negative, the new ABA (i.e.
  • the Fuzzy ABA function returns to 114 in FIG. 4 with the flag set. If the flag DOESN'T_MATCH is set, the next field is selected at 11 b and the Fuzzy ABA function is repeated until all of the fields have been checked as determined at 84 . If all of the fields result in DOESN'T_MATCH, the function ends at 78 . If the MATCHES or CLOSE flags are set continued processing of the checking account information is called at 118 .
  • FIG. 6 continues processing of checking account information begins as outlined in FIG. 6 where it is determined at 120 how many fields, including the ABA number, are in the user entered MICR line data. If there are two, a two field handling routine is called at 122 . If there are three fields, a three field handler is called at 124 . If there are more than three fields, a more than three field handler is called at 126 . These respective handlers are outlined in FIGS. 7, 8 , and 9 , respectively. The functions of FIG. 6 can be found in the code of the incorporated by reference Appendix of U.S. patent application Ser. No. 10/925,592 at analyze_micr.
  • the account number is assumed to be the remaining field at 130 and the Validate Check (account number) Length function is called at 132 .
  • This function is described in detail below with reference to FIG. 11 .
  • the functions of FIG. 7 can be found in the code of the incorporated by reference Appendix of U.S. patent application Ser. No. 10/925,592 at analyze_micr.
  • the three field handler calls the Echeck Server at 136 to get the valid lengths for checking account numbers by ABA number.
  • This routine is outlined in FIG. 14 , described in detail below.
  • the three field processing continues at 138 depending on which field is the ABA number. (See FIG. 4 ) In the case of the ABA number being the first field, the lengths of the second and third fields are compared at 140 to the correct length(s) which was obtained at 136 . In the case of the ABA number being the second field, the lengths of the first and third fields are compared at 142 to the correct length which was obtained at 136 .
  • the lengths of the first and second fields are compared at 144 to the correct length which was obtained at 136 . If it is determined that only one of these remaining fields has the correct length, the Validate Check Length function is called at 146 , 148 , or 150 , respectively. This function is described in detail below with reference to FIG. 11 .
  • both fields are less than seven digits or both are seven or more digits
  • processing of a number having more than three fields begins at 172 . It is first determined at 174 whether the ABA number is the first or last field. If it is not, the variable “left string” is set to all of the digits to the left of the ABA field and the variable “right string” is set to all of the digits to the right of the ABA field at 176 . At 178 it is determined whether the check number is known. If it is, the check number is compared to both strings at 180 and it is determined at 182 whether either string is the check number. If neither is the check number, the START_OVER flag is set at 184 and the process is returned to 34 in FIG. 1 . If it is determined at 182 that one of the strings is the check number, the account number is set to the other string at 186 . The validate check length function is then called at 188 . This function is described in detail below with reference to FIG. 11 .
  • the Echeck server is called at 190 to obtain the valid lengths of a checking account number for the present ABA number.
  • the Echeck server is called at 190 to obtain the valid lengths of a checking account number for the present ABA number.
  • both strings are less than or equal to, or greater than, six digits in length. If yes, the flag ASK_FOR_CHECK_NO is set at 200 and the process returns to 170 in FIG. 1 . If no, the account number is taken to be the longer string at 202 and the validate check length function is called at 204 . This function is described in detail below with reference to FIG. 11 .
  • a different processing routine for more than three fields is called at 206 .
  • This routine is outlined in FIG. 10 .
  • the functions of FIG. 9 can be found in the code of the incorporated by reference Appendix of U.S. patent application Ser. No. 10/925,592 at try combining.
  • the ABA number is the first field or the last field. If it is the first field, the following variables are set at 212 : “left account number” is set to all of the digits in the second field through the next to last field, “left check number” is set to the last field, “right account number” is set to all of the digits in the third field through the last field, and “right check number” is set to the second field.
  • the following variables are set at 214 : “left account number” is set to all of the digits in the first field through the second from the last field, “left check number” is set to the next to the last field, “right account number” is set to all of the digits in the second field through the next to the last field, and “right check number” is set to the first field.
  • check number is known. If it is, the variable “left check number” is compared to the known check number at 218 . If they are not the same, the variable “right check number” is compared to the known check number at 220 . If these don't match, the flag START_OVER is set at 222 and the process returns to the start at 10 in FIG. 1 .
  • variable “left check number” is the correct check number
  • variable “left account number” is taken to be the checking account number at 224 . If it is determined at 220 that the variable “right check number” is the correct check number, the variable “right account number” is taken to be the checking account number at 226 .
  • the validate check length routine is then called at 228 .
  • the Echeck server is called at 230 to determine the correct number of digits for the account number based on the current ABA number. If it is determined at 232 that both variables “left account numbers” and “right account number” have the incorrect number of digits, the flag ASK_FOR_CHECK_NO is set at 234 and the process returns to 170 in FIG. 1 . Otherwise, if it is determined at 236 , 238 , 240 , or 242 that one of the variables has the correct number of digits and the other doesn't or is unsure, the account number is taken at 244 to be the variable with the correct number of digits and the validate check length function is called at 246 .
  • the validate check length function begins at 248 in FIG. 11 by calling the erroneous check account number function at 250 . This function is described in detail below with reference to FIG. 15 . If it is determined at 251 that the checking account number is clearly erroneous the flag MICR_REJECT is set at 252 and the process returns to FIG. 1 where a MICR Validation handler is called at 254 . This handler is outlined in FIG. 2 .
  • the functions of FIGS. 11 and 15 can be found in the code of the incorporated by reference Appendix of U.S. patent application Ser. No. 10/925,592 at crazy_accounts, check_lengths, and fuzzy_accounts.
  • an account number is clearly erroneous if the entire checking account number is ascending; 123456789, 003456789; the entire account is descending 987654321, 00654321; the account number contains more than 75% of the same digits when the account number is greater than 7 digits in length; 144444; the account code contains more than 60% of the same digit and the length is less than or equal to 7 digits in length.
  • the MICR Validation handler begins at 256 and in the case of a MICR_REJECT flag being set, increments ErrorCount at 258 . If the error count is less than three as determined at 260 , the process returns at 262 to start over at 10 in FIG. 1 . When the error count reaches three, the call is ended at 264 .
  • the Echeck server ABA number Validation function is called at 266 .
  • This function is outlined in FIG. 13 which was described above.
  • the result of the ABA number Validation function is checked at 268 . If the BAD_ABA flag was set, the handler of FIG. 4 is called at 270 . If the function returned a VALID flag for the ABA number, it is determined at 272 whether this customer made a previous payment with this account. (See FIG. 18 and description below.) If there was a previous payment, the Fuzzy Checking Account function is called at 273 . This function is outlined in FIG. 12 .
  • the previous and new checking account numbers are compared digit by digit at 288 . If there is an exact match as determined at 290 , a flag is set to MATCHES at 292 and the process returns to FIG. 11 If there is more than one transposition as determined at 294 or more than one replacement as determined at 296 or if less than 80% match as determined at 298 , the flag is set to DOESN'T_MATCH at 300 and the process returns to FIG. 11 . Otherwise, the new account number is assumed to be the old account number at 302 , the flag is set to CLOSE at 304 and the process returns to FIG. 11 .
  • the results of the fuzzy checking account function are analyzed at 274 .
  • the routine ends at 306 or 308 respectively and returns to 310 in FIG. 1 where the routing number and checking account number are stored at 310 and other processing continues at 312 .
  • Other processing may include entering an amount for the check, selecting from a list of payees, etc.
  • the Echeck server Checking Account number Validation function is outlined in FIG. 14 .
  • the Echeck server ABA validation routine is called at 322 . This function is outlined in FIG. 13 described above. If it is determined at 324 that the ABA number is invalid, the BAD_ABA flag is set at 326 and the process resumes at 34 in FIG, 1 . If the ABA number is valid, the length of the checking account number is determined at 328 . If the length is not between five and fifteen as determined at 330 , the flag REJECT is set at 332 and the routine returns to 254 in FIG. 1 If the account number has the correct number of digits as determined at 330 , it is determined at 334 whether the account is a personal account or a business account.
  • DNIS is a unique number assigned to each client (payee) so that information obtained when processing payments for one client is not used to process payments for another client. This is provided in order to satisfy contractual obligations that all data relating to a client is kept strictly confidential.
  • the appropriate length(s) for a business account is obtained at 338 . This is obtained from a database which matches ABA numbers with correct account number lengths. The database is built over time based on successful payments. It is then determined at 340 whether the present account number is a correct length. If it is, the flag MICR_OK is set at 342 and the routine returns to 480 in FIG. 1 . There, the customer is prompted to verify the entry. The customer's input is evaluated at 490 . If the customer did not verify, the process is returned at 495 to start over. If the input is verified at 490 , the information is stored at 310 and additional IVR processing is continued at 312 .
  • the presently preferred threshold is fifty. If yes, the flag BAD_LENGTH is set at 346 . If no, the flag LENGTH_UNSURE is set at 348 . In either case, the process continues as outlined in FIG. 2 .
  • BAD_LENGTH the process continues at 350 in FIG. 2 where it is determined whether bad length bypassing is allowed. There are three reasons why bad length bypassing should be allowed. The first is when the database of correct lengths is in the process of being created. The second is where the bank is changing the length of account numbers, e.g. when two banks merge. The third is if the database was created without leading zeros. If it is not, the error count is incremented at 258 and the previously described routine at 260 - 264 is followed. If bad length bypassing is allowed or if the flag LENGTH_UNSURE was set, processing continues at 352 where the customer is prompted to re-enter the numbers from the bottom of the check.
  • the re-entry is compared to the original entry at 354 and if they match, the routing number and checking account number are stored at 356 and additional processing continues at 358 . Such additional processing may include check amount, payee selection, etc. If the re-entered number does not match the first entered number, the customer is prompted at 360 to re-enter the number a third time. If the third entry matches the first as determined at 362 , the routing number and checking account number are stored at 356 and additional processing continues at 358 . If not, the third entry is compared to the second entry at 364 . If there is still no match, the call is ended at 264 . If the second and third entries match, processing continues at 366 to return to 24 in FIG. 4 .
  • FIG. 15 a routine for determining a clearly erroneous checking account number is illustrated. If it is determined at 400 or 410 that the account number is a string of ascending or descending digits, the erroneous flag is set at 420 . If these tests fail, it is determined at 430 whether the length of the account number is less than seven digits. If it is less than seven digits, it is determined at 440 whether 75% of the digits are the same. If it is not less than seven digits, it is determined at 450 whether 60% of the digits are the same. If the test at 440 or 450 fails, the account number is not clearly erroneous and the function returns to FIG. 11 at 460 . If either of these tests pass, the number is clearly erroneous and the function returns to FIG. 11 at 470 .
  • the payment information is obtained from the customer, it is presented to the customer'bank for payment. This process is illustrated in FIG. 16 .
  • the previously obtained payment information is assembled at 502 and is submitted to the bank at 504 .
  • the bank then processes the check at 506 . This processing by the bank is illustrated in FIG. 17 described below. If the bank returns the check at 508 , this is determined at 510 . If the check is not returned, the account length information is added to the database at 516 and the process ends at 518 . If the check is returned, the database is updated at 512 and 514 to indicate the number of returned checks for this customer and this account number. Then the process ends at 518 .
  • the bank processing of an echeck is outlined in FIG. 17 .
  • the payment information is received at 522 by an echeck processing bank which forwards the echeck to the customer'bank at 524 .
  • the customer'bank returns the status of the check at 526 . If the check clears, the bill is paid at 530 and the process ends at 532 . If it is determined at 528 that the payment was returned, it is determined at 534 whether the reason was insufficient funds. If it is not because of insufficient funds, e.g. bad account number, the check is simply returned at 536 and the process ends at 532 . If the reason was insufficient funds, it is determined at 538 whether the check has been submitted twice for payment. If not, the check is presented again four days later at 540 . Otherwise the check is returned at 536 .
  • FIG. 18 illustrates an exemplary IVR system within which the invention is applied.
  • the customer is prompted at 610 to enter the account number of the payee.
  • the account number and customer number are compared for payments made within the last month. If it is determined at 630 that the number of payments in the last month exceeds two, the customer is prompted at 640 that no additional payments can be made and the call is ended at 650 .
  • this customer has had more than two bad payments (e.g. returned checks or declined credit card charges). If that is the case, the customer is prompted at 640 that no payments can be made and the call is ended at 650 .
  • an alternate form of payment e.g. credit card
  • the customer is prompted at 740 to enter the payment amount and it is determined at 750 whether that amount exceeds a transaction cap. If the amount is too high, the customer is so prompted at 760 and a loop is entered which doesn't end until the customer enters an acceptable amount. Though not shown in the Figure, a counter can be set to exit the loop and end the call after several failures.
  • the invention described above is invoked at 770 starting with FIG. 1 .
  • the IVR continues at 780 where it is determined how many payments the customer has made with this checking account in the last month.
  • the user is prompted at 800 that payment cannot be made with this checking account and is prompted at 810 whether the customer wants to use a different checking account. If it is determine at 820 that the customer wants to use a different account, the process resumes at 770 . If not, the user is prompted at 830 whether a different payment method is desired. If not as determined at 840 , the call is ended at 650 . If yes, the other payment processing is entered at 730 .
  • the transaction database includes a list of all transactions made through the system. Each transaction includes customer account number, ABA, checking account number, payment amount, etc.
  • the negative database includes a list of all customer account numbers and checking account numbers that have had declines or returns. Each record includes the customer account number or checking account number and the number of declines/returns on that number.
  • the length database includes a list of all valid checking account number lengths associated with non-returned payments through this system. Each record includes DNIS, ABA, number of payments to the ABA for personal checks, number of payments to the ABA for business checks, a list of the personal lengths associated with the ABA, a list of the business lengths associated with the ABA.
  • two counts are stored per ABA number: the number of successful payments for personal checks and the number of successful payments for business check.
  • the number of payments is compared to the threshold (currently 50). If the number of payments is below this threshold, then the length is unsure if it is not in the lengths database. This process will be enhanced by including counts by each length. It will then be possible to determine if the length should be considered valid or unsure based on how many times that given length has been used for a successful payment.
  • the methods of the invention may be applied in instances where no parsing of account data is necessary, i.e. where the customer parses the data before inputting it to the system.
  • customer data may be obtained in ways other than directly from a user. For example, data from multiple users may be collected outside of the system, by a payee or a bank, and presented to the system in the form of a batch file. Data may also be presented in paper form which must be scanned or manually input into the system.
  • the determination of account validity can still be performed using valid account number lengths associated with ABA numbers.
  • the fuzzy logic techniques of the invention can be applied independently of parsing and account number length validation.

Abstract

Methods and systems for receiving account data, where the account data includes an account number that is compared to a previously submitted account number where the previously submitted account number is associated with a successful payment. It is then determined if there is a likely match between the account number and the previously submitted account number by performing at least one of several fuzzy logic techniques. Upon determining that the likely match exists the parsed account number is automatically replaced with the previously submitted account number.

Description

    RELATED APPLICATION DATA
  • The present application is a continuation of, and claims the benefit of priority to, U.S. patent application Ser. No. 10/925,592, “Methods and Apparatus for Processing Electronic Checks,” filed on Aug. 25, 2004. The entire content of the above-recited priority document is incorporated herein by reference as if set forth fully herein.
  • BACKGROUND OF THE INVENTION
  • 1. Field of the Invention
  • The invention relates to electronic checks. More particularly, the invention relates to methods and systems for processing electronic checks to minimize the number of returned electronic checks.
  • 2. Brief Description of the Prior Art
  • All bank checks are encoded with information which allows for machine processing of the check. This information is printed at the bottom of the check starting in the lower left hand corner and often extending under the signature line. This line of printed information is referred to as the MICR (magnetic ink character recognition) line. Prior to writing the check, the line of information includes the bank routing number (ABA number), the checking account number, and the check number. After the check is written and presented for payment, the check is read by a human and the amount of the check is imprinted on the MICR line to the right of the other information. From that point on, the check is processed by machine.
  • An electronic check or “e-check” is like a check without the paper. The drawer or maker of the check provides the necessary information from the check, but not the paper. This can be accomplished in several ways. One popular way is referred to as electronic check conversion. Here, the drawer or maker of the check provides a void blank check which is scanned to obtain all of the information except for the payment amount which is then entered via a keyboard or keypad. Another method is to enter all of the information via a keyboard or keypad. The latter method is used when payment is made by telephone or via the Internet. In telephone payment methods, the check information is usually obtained via an interactive voice response unit (IVRU) which plays pre-recorded prompts and interprets DTMF (dual tone multi-frequency) signals generated by the telephone keypad.
  • E-checks are commonly used in situations where the payer chooses not to use a credit card (e.g. does not have a credit card) or where the payee chooses not to accept a credit card. E-checks are processed in the same manner as paper checks which have been fully encoded and machine read. The information is compared to databases to determine whether the checking account can be identified and whether the checking account has sufficient funds to pay the check. If either of these inquiries fail, the check (paper or e-check) is “returned” to the presenter (usually the payee). If the account has insufficient funds to pay the check, the return is referred to as an NSF (not sufficient funds) return. If the account can not be identified, the return is referred to as an administrative (ADM) return. A little over 1% of paper checks are returned, mainly NSF returns. E-checks have a much higher return rate (e.g. 4.7%) than paper checks and this is mainly due to ADM returns.
  • The high administrative return rate of e-checks is mostly due to human error on the part of the payer (check drawer). Although the MICR line information is standardized, the standardization only lends itself to optical reading and character recognition. It is not positional and the characters denoting a field are unknown to a person so the standard cannot be used when optical reading equipment is unavailable. There are also optional fields on some checks and this may confuse the payer when attempting to read the MICR line. Often a payer will enter too many or too few digits. In addition, a phenomenon known in the art as “fat fingers” causes erroneous keypad and keyboard entries (typographical errors). These errors are usually associated with the account identification information rather than the payment amount data. It is estimated that two thirds of e-check returns are administrative returns. Prior art FIGS. 19-22 illustrate how the MICR line may appear on a business check (FIG. 19) or on a personal check (FIGS. 20-22).
  • The high rate of e-check returns is a significant problem for businesses that rely heavily on e-check payments, such as utility companies. A typical utility company may have approximately one million customers who pay their monthly bill by e-check. With an e-check return rate of 4.7%, that means that 47,000 customer payments will be rejected every month. This causes an immediate cash-flow problem for the company but also causes a very expensive customer relations problem. Most of the 47,000 customers will need to speak to a customer service representative to correct the situation. At a conservative estimate of $10 per customer service call, this will add nearly half a million dollars to the company's monthly operating expenses.
  • State of the art systems for processing e-checks include TeleCheck® by TeleCheck Services, Inc., Houston, Tex., and StarCheck® by Concord EFS, Inc., Memphis, Tenn. These systems are primarily aimed toward reducing NSF returns and do not significantly reduce ADM returns. JP Morgan Chase maintains a data base system called “File-Fixer” which is purported to be able to reduce ADM returns, but thus far has been unable to reduce ADM returns at all. PhoneCharge, Inc. conducted an in house test and found that it did not reduce the admins, in fact it had a negative effect because valid checking accounts were locked making them ineligible for transaction processing.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a high level flow chart illustrating a basic user interface according to the invention;
  • FIG. 2 is a high level flow chart illustrating a sub-routine for handling MICR problems;
  • FIG. 3 is a high level flow chart illustrating a sub-routine for handling ABA number problems;
  • FIG. 4 is a high level flow chart illustrating a sub-routine for parsing MICR numbers;
  • FIG. 5 is a high level flow chart illustrating a sub-routine for matching ABA numbers;
  • FIG. 6 is a high level flow chart illustrating a sub-routine for pre-handling checking account numbers:
  • FIG. 7 is a high level flow chart illustrating a sub-routine for processing two field checking account numbers;
  • FIG. 8 is a high level flow chart illustrating a sub-routine for processing three field checking account numbers;
  • FIG. 9 is a high level flow chart illustrating a sub-routine for processing checking account numbers having more than three fields;
  • FIG. 11 is a high level flow chart illustrating a sub-routine for processing checking account numbers having more than three fields where the ABA number is the first or last field;
  • FIG. 11 is a high level flow chart illustrating a sub-routine for validating the numbers parsed from the MICR line;
  • FIG. 12 is a high level flow chart illustrating a sub-routine for matching checking account numbers;
  • FIG. 13 is a high level flow chart illustrating a sub-routine for validating ABA numbers;
  • FIG. 14 is a high level flow chart illustrating a sub-routine for validating checking account numbers;
  • FIG. 15 is a high level flow chart illustrating a sub-routine for determining an erroneous checking account number;
  • FIG. 16 is a high level flow chart illustrating a sub-routine for payment processing;
  • FIG. 17 is a high level flow chart illustrating a sub-routine for ba processing;
  • FIG. 18 is a high level flow chart illustrating an interactive payment system within which the invention is implemented; and
  • FIGS. 19-22 illustrate a prior art business check and three personal checks.
  • DETAILED DESCRIPTION
  • The entire content of the Appendix, including the files and source code originally submitted to the United States Patent Office by CD-ROM, of U.S. patent application Ser. No. 10/925,592, filed on Aug. 25, 2004, of which this application claims the benefit of priority to, is incorporated herein by reference as if set forth fully herein. The invention is most easily understood by reference to the flow charts rather than the C code of the incorporated by reference Appendix of U.S. patent application Ser. No. 10/925,592. Reference to the code will be made where possible when explaining the flow charts. It will be appreciated however, that the flow charts do not directly correspond to the C code.
  • Turning now to FIG. 1, the main user interface starts at 10 and first requests at 11 that the customer indicate whether the payment will be made with a business account or a personal account. As used herein, the terms user and customer are the payor and the term client is the payee. At 12 it is requested that the user enter all the digits at the bottom of the check including leading zeros (i.e. the MICR line data) and to press the star character (*) for each symbol or group of symbols. The routine at 14-20 causes the session to end if the user does not enter any data after three prompts. It will be appreciated that the decision at 14 will be linked to a timer (not shown) so that the user is given sufficient time to enter data. Once it is determined at 14 that the user has entered data, the variable Check Number is set to zero at 21 and the function MICR.C is called at 22. This function is outlined in FIG. 4. The user interface is typically part of the IVR system or other system used to acquire other data from the customer. An exemplary system is described below with reference to FIG. 18.
  • Turning now to FIG. 4, starting at 24, it is determined at 26 whether the user input includes any star characters. If there are one or more star characters present, they are used at 28 to determine the number of fields by treating any one or more consecutive star characters as field delimiters. After processing at 28, it is determined at 30 whether there are more than one field. If there is only one field or if there were no star characters, the NO13 STAR flag is set at 32 and the processing returns to FIG. 1 where further processing is directed to a handler invoked at 34 in FIG. 1 for handling the flags NO_STAR, BAD_ABA, and START_OVER. This handler is outlined in FIG. 3. The functions of FIG. 4 can be found in the code of the incorporated by reference Appendix of U.S. patent application Ser. No. 10/925,592 at micr-split, analyze_micr, and validate_check_lengths.
  • Referring now to FIG. 3, the handling of the flags NO_STAR, BAD_ABA and START_OVER begins at 36 and increments an error count at 38. If it is determined at 40 that the error count is greater than or equal to three, the session is ended at 42. So long as the error count is less than three, the process resumes at 44 being directed back to FIG. 1 at the start 10 and re-prompts the user to re-enter the digits.
  • Returning to FIG. 4, if it is determined at 30 that there are more than one field in the data entered by the user, the first field is selected at 46 (reading the fields from left to right). At 48 it is determined whether all of the fields have been considered. During the first pass through 48, the answer will be no. At 50 it is determined whether the data in the field currently being considered passed the ABA checksum. The source code for making this determination is provided in the Appendix of U.S. patent application Ser. No. 10/925,592, filed on Aug. 25, 2004, which is incorporated by reference as if set forth fully herein. If the checksum does not pass, the next field is selected at 52 and the process continues through 48 and 50 until a field passes the ABA checksum at 50 or it is determined at 48 that all fields have been checked. If it is determined at 50 that the field data passes the ABA checksum, the Echeck Server ABA Validation routine is called at 54. This routine is outlined in FIG. 13.
  • Starting at 56 in FIG. 13, the length of the ABA number is determined at 58. If the length is determined at 60 to be nine, processing continues at 62 to determine whether the ABA number is in the Thomson File ABA list. This file is available from Thomson Financial, Stamford, Conn. on a monthly subscription basis. If the number is found in the Thomson list, it is checked against a list of bad ABA numbers at 64. This list is created based on previous processing failures for this client. If it is not on the list of bad numbers, the routing ends at 66 with a VALID response. If any of the three tests fails, the routine ends at 68 with a BAD ABA response. In either case, processing returns to 70 in FIG. 4.
  • If a Valid response is returned to 70 in FIG. 4, the variable “Number of ABAs” is incremented at 72. It will be appreciated that the first valid response will set this variable to one. The next field is set at 52 and the process continues to check all of the fields looking for fields that satisfy the checksum at 50. Each field that satisfies the ABA checksum is further investigated by the routine called at 54 and each time a field is found to be a valid ABA number, the variable “Number of ABAs” is incremented at 72. After all of the fields have been checked for ABA numbers, the process continues to 74 where the variable “Number of ABAs” is examined. If the number is not one, it is determined at 76 whether the number is zero. If it is not zero, i.e. if it appears that more than one ABA number was found, the function ends at 78 and sets the flag BAD_ABA. The process returns to FIG. 1 where the routine of FIG. 3 is called at 34.
  • If it is determined at 76 that no ABA numbers were found in the data entered by the customer, it is determined at 80 whether there was a pervious check payment by this user. This determination is made based on information obtained from an interactive payment system within which this invention is implemented. A suitable interactive payment system is described below with reference to FIG. 18. If there is no record of a previous payment, the function ends at 78. If it is determined at 80 that there was a previous payment, the first field is revisited at 82 and the function passes through 84 to call the Fuzzy ABA function at 86. This function is outlined in FIG. 5.
  • Still referring to FIG. 4, if it is determined at 74 that the number of ABAs is one, the ABA position is saved at 116 a and it is determined at 117 a whether there was a previous check payment. If there was, the fuzzy ABA function is called at 117 b. If there was not, processing continues at 118 to FIG. 6.
  • Turning now to FIG. 5, starting at 88, the previous and new ABA numbers are compared at 96. If it is determined at 98 that the numbers are an exact match, the MATCHES flag is set at 100. If it is determined at 102 that there is more than one transposition of numbers, the flag DOESN'T_MATCH is set at 104. If it is determined at 106 that the number of digits differ by more than one, the flag DOESN'T_MATCH is set at 104. If it is determined at 108 that less than 80% of the numbers match, the flag DOESN'T_MATCH is set at 104. If the tests at 102, 106 and 108 are all negative, the new ABA (i.e. the present ABA number) is set to be the same as the old ABA at 110 and the flag CLOSE is set at 112. After the appropriate flag is set, the function returns to the function of FIG. 4. The functions of FIG. 5 can be found in the code of the incorporated by reference Appendix of U.S. patent application Ser. No. 10/925,592 at fuzzy_aba and fuzzy_account.
  • The Fuzzy ABA function returns to 114 in FIG. 4 with the flag set. If the flag DOESN'T_MATCH is set, the next field is selected at 11 b and the Fuzzy ABA function is repeated until all of the fields have been checked as determined at 84. If all of the fields result in DOESN'T_MATCH, the function ends at 78. If the MATCHES or CLOSE flags are set continued processing of the checking account information is called at 118.
  • Continued processing of checking account information begins as outlined in FIG. 6 where it is determined at 120 how many fields, including the ABA number, are in the user entered MICR line data. If there are two, a two field handling routine is called at 122. If there are three fields, a three field handler is called at 124. If there are more than three fields, a more than three field handler is called at 126. These respective handlers are outlined in FIGS. 7, 8, and 9, respectively. The functions of FIG. 6 can be found in the code of the incorporated by reference Appendix of U.S. patent application Ser. No. 10/925,592 at analyze_micr.
  • Referring now to FIG. 7, starting at 128, the account number is assumed to be the remaining field at 130 and the Validate Check (account number) Length function is called at 132. This function is described in detail below with reference to FIG. 11. The functions of FIG. 7 can be found in the code of the incorporated by reference Appendix of U.S. patent application Ser. No. 10/925,592 at analyze_micr.
  • Turning to FIG. 8, starting at 134, the three field handler calls the Echeck Server at 136 to get the valid lengths for checking account numbers by ABA number. This routine is outlined in FIG. 14, described in detail below. The three field processing continues at 138 depending on which field is the ABA number. (See FIG. 4) In the case of the ABA number being the first field, the lengths of the second and third fields are compared at 140 to the correct length(s) which was obtained at 136. In the case of the ABA number being the second field, the lengths of the first and third fields are compared at 142 to the correct length which was obtained at 136. In the case of the ABA number being the third field, the lengths of the first and second fields are compared at 144 to the correct length which was obtained at 136. If it is determined that only one of these remaining fields has the correct length, the Validate Check Length function is called at 146, 148, or 150, respectively. This function is described in detail below with reference to FIG. 11.
  • If neither of the two remaining fields is the correct length as determined at 140, 142, or 144, it is then determined at 152 whether only one of the fields is less than seven digits. If only one field is less than seven digits in length, the account number is taken to be the longer field at 154 and the validate check length function is called at 156. This function is described in detail below with reference to FIG. 11.
  • If it is determined at 152 that both fields are less than seven digits or both are seven or more digits, it is then determined at 158 whether the check number is known. If the check number is not known, the flag ASK_FOR_CHECK_NO is set at 160 and the routine returns to 170 in FIG. 1 where the user is prompted to enter the check number and the variable “check number” is reset at 171. If it is determined at 158 that the check number is known, the check number is compared to both fields at 162 and it is determined at 163 whether the check number is found in one of the fields. If it is not, the flag START_OVER is set at 164 and the routine returns to the start 10 in FIG. 1. If it is determined at 163 that one of the fields is the check number, the account number is taken at 166 to be the other field and the validate check length function is called at 168. This function is described in detail below with reference to FIG. 11. The functions of FIG. 8 can be founding the code of the incorporated by reference Appendix of U.S. patent application Ser. No. 10/925,592 at try_combining.
  • Turning now to FIG. 9, processing of a number having more than three fields begins at 172. It is first determined at 174 whether the ABA number is the first or last field. If it is not, the variable “left string” is set to all of the digits to the left of the ABA field and the variable “right string” is set to all of the digits to the right of the ABA field at 176. At 178 it is determined whether the check number is known. If it is, the check number is compared to both strings at 180 and it is determined at 182 whether either string is the check number. If neither is the check number, the START_OVER flag is set at 184 and the process is returned to 34 in FIG. 1. If it is determined at 182 that one of the strings is the check number, the account number is set to the other string at 186. The validate check length function is then called at 188. This function is described in detail below with reference to FIG. 11.
  • If it is determined at 178 that the check number is not known, the Echeck server is called at 190 to obtain the valid lengths of a checking account number for the present ABA number. At 192 it is determined whether either the left string or the right string has the correct number of digits. If one of the strings does have the correct number of digits, that string is taken to be the account number at 194 and the validate check length function is called at 196. This function is described in detail below with reference to FIG. 11.
  • If neither the left string nor the right string have the correct number of digits as determined at 192, it is determined at 198 whether both strings are less than or equal to, or greater than, six digits in length. If yes, the flag ASK_FOR_CHECK_NO is set at 200 and the process returns to 170 in FIG. 1. If no, the account number is taken to be the longer string at 202 and the validate check length function is called at 204. This function is described in detail below with reference to FIG. 11.
  • If it is determined at 174 that the ABA number is either the first or the last field, a different processing routine for more than three fields is called at 206. This routine is outlined in FIG. 10. The functions of FIG. 9 can be found in the code of the incorporated by reference Appendix of U.S. patent application Ser. No. 10/925,592 at try combining.
  • Turning now to FIG. 10, starting at 2087 it is determined at 210 whether the ABA number is the first field or the last field. If it is the first field, the following variables are set at 212: “left account number” is set to all of the digits in the second field through the next to last field, “left check number” is set to the last field, “right account number” is set to all of the digits in the third field through the last field, and “right check number” is set to the second field.
  • If it is determined at 210 that the ABA number is the last field, the following variables are set at 214: “left account number” is set to all of the digits in the first field through the second from the last field, “left check number” is set to the next to the last field, “right account number” is set to all of the digits in the second field through the next to the last field, and “right check number” is set to the first field.
  • After these variables are set, it is determined at 216 whether the check number is known. If it is, the variable “left check number” is compared to the known check number at 218. If they are not the same, the variable “right check number” is compared to the known check number at 220. If these don't match, the flag START_OVER is set at 222 and the process returns to the start at 10 in FIG. 1.
  • If it is determined at 218 that the variable “left check number” is the correct check number, the variable “left account number” is taken to be the checking account number at 224. If it is determined at 220 that the variable “right check number” is the correct check number, the variable “right account number” is taken to be the checking account number at 226. The validate check length routine is then called at 228.
  • If it is determined at 216 that the check number is not known, the Echeck server is called at 230 to determine the correct number of digits for the account number based on the current ABA number. If it is determined at 232 that both variables “left account numbers” and “right account number” have the incorrect number of digits, the flag ASK_FOR_CHECK_NO is set at 234 and the process returns to 170 in FIG. 1. Otherwise, if it is determined at 236, 238, 240, or 242 that one of the variables has the correct number of digits and the other doesn't or is unsure, the account number is taken at 244 to be the variable with the correct number of digits and the validate check length function is called at 246. (Correct field length is based on accumulated knowledge related to each ABA number. If insufficient knowledge exists for the ABA in question, field length can be considered “unsure”.) If it is determined at 236, 238, 240, or 242 that neither of the variables has the correct number of digits, the flag ASK_FOR_CHECK_NO is set at 234 and the process returns to 170 in FIG. 1. The functions of FIG. 10 can be found in the code of the incorporated by reference Appendix of U.S. patent application Ser. No. 10/925,592 at “try combining”.
  • The validate check length function begins at 248 in FIG. 11 by calling the erroneous check account number function at 250. This function is described in detail below with reference to FIG. 15. If it is determined at 251 that the checking account number is clearly erroneous the flag MICR_REJECT is set at 252 and the process returns to FIG. 1 where a MICR Validation handler is called at 254. This handler is outlined in FIG. 2. The functions of FIGS. 11 and 15 can be found in the code of the incorporated by reference Appendix of U.S. patent application Ser. No. 10/925,592 at crazy_accounts, check_lengths, and fuzzy_accounts. Generally, an account number is clearly erroneous if the entire checking account number is ascending; 123456789, 003456789; the entire account is descending 987654321, 00654321; the account number contains more than 75% of the same digits when the account number is greater than 7 digits in length; 144444; the account code contains more than 60% of the same digit and the length is less than or equal to 7 digits in length.
  • Referring now to FIG. 2, the MICR Validation handler begins at 256 and in the case of a MICR_REJECT flag being set, increments ErrorCount at 258. If the error count is less than three as determined at 260, the process returns at 262 to start over at 10 in FIG. 1. When the error count reaches three, the call is ended at 264.
  • Returning to FIG. 11, if the account number is not clearly erroneous as determined at 251, the Echeck server ABA number Validation function is called at 266. This function is outlined in FIG. 13 which was described above. The result of the ABA number Validation function is checked at 268. If the BAD_ABA flag was set, the handler of FIG. 4 is called at 270. If the function returned a VALID flag for the ABA number, it is determined at 272 whether this customer made a previous payment with this account. (See FIG. 18 and description below.) If there was a previous payment, the Fuzzy Checking Account function is called at 273. This function is outlined in FIG. 12.
  • Turning now to FIG. 12, starting at 280, the previous and new checking account numbers are compared digit by digit at 288. If there is an exact match as determined at 290, a flag is set to MATCHES at 292 and the process returns to FIG. 11 If there is more than one transposition as determined at 294 or more than one replacement as determined at 296 or if less than 80% match as determined at 298, the flag is set to DOESN'T_MATCH at 300 and the process returns to FIG. 11. Otherwise, the new account number is assumed to be the old account number at 302, the flag is set to CLOSE at 304 and the process returns to FIG. 11.
  • Referring now to FIGS. 11 and 1, the results of the fuzzy checking account function are analyzed at 274. In the case of the flag being set to MATCHES or CLOSE, the routine ends at 306 or 308 respectively and returns to 310 in FIG. 1 where the routing number and checking account number are stored at 310 and other processing continues at 312. Other processing may include entering an amount for the check, selecting from a list of payees, etc.
  • Finishing with FIG. 11, if it is determined at 272 that there was no previous payment or if the Fuzzy Checking Account function sets the flag to DOESN'T_MATCH at 274, the Echeck server Checking Account number Validation function is called at 314 before returning to FIG. 1 at 316.
  • The Echeck server Checking Account number Validation function is outlined in FIG. 14. Starting at 320, the Echeck server ABA validation routine is called at 322. This function is outlined in FIG. 13 described above. If it is determined at 324 that the ABA number is invalid, the BAD_ABA flag is set at 326 and the process resumes at 34 in FIG, 1. If the ABA number is valid, the length of the checking account number is determined at 328. If the length is not between five and fifteen as determined at 330, the flag REJECT is set at 332 and the routine returns to 254 in FIG. 1 If the account number has the correct number of digits as determined at 330, it is determined at 334 whether the account is a personal account or a business account. The appropriate account number length(s) for a personal account based on DNIS and ABA is obtained at 336. DNIS is a unique number assigned to each client (payee) so that information obtained when processing payments for one client is not used to process payments for another client. This is provided in order to satisfy contractual obligations that all data relating to a client is kept strictly confidential.
  • The appropriate length(s) for a business account is obtained at 338. This is obtained from a database which matches ABA numbers with correct account number lengths. The database is built over time based on successful payments. It is then determined at 340 whether the present account number is a correct length. If it is, the flag MICR_OK is set at 342 and the routine returns to 480 in FIG. 1. There, the customer is prompted to verify the entry. The customer's input is evaluated at 490. If the customer did not verify, the process is returned at 495 to start over. If the input is verified at 490, the information is stored at 310 and additional IVR processing is continued at 312.
  • When entering FIG. 14 from 136 in FIG. 8, the process begins at 334 and exits back to 138 in FIG. 8 before entering 340.
  • If the checking account number length is not correct, a determination is made at 344 whether this ABA number, account type and length have been associated with a threshold number of successful payments. The presently preferred threshold is fifty. If yes, the flag BAD_LENGTH is set at 346. If no, the flag LENGTH_UNSURE is set at 348. In either case, the process continues as outlined in FIG. 2.
  • In the case of BAD_LENGTH, the process continues at 350 in FIG. 2 where it is determined whether bad length bypassing is allowed. There are three reasons why bad length bypassing should be allowed. The first is when the database of correct lengths is in the process of being created. The second is where the bank is changing the length of account numbers, e.g. when two banks merge. The third is if the database was created without leading zeros. If it is not, the error count is incremented at 258 and the previously described routine at 260-264 is followed. If bad length bypassing is allowed or if the flag LENGTH_UNSURE was set, processing continues at 352 where the customer is prompted to re-enter the numbers from the bottom of the check. The re-entry is compared to the original entry at 354 and if they match, the routing number and checking account number are stored at 356 and additional processing continues at 358. Such additional processing may include check amount, payee selection, etc. If the re-entered number does not match the first entered number, the customer is prompted at 360 to re-enter the number a third time. If the third entry matches the first as determined at 362, the routing number and checking account number are stored at 356 and additional processing continues at 358. If not, the third entry is compared to the second entry at 364. If there is still no match, the call is ended at 264. If the second and third entries match, processing continues at 366 to return to 24 in FIG. 4.
  • Turning now to FIG. 15, a routine for determining a clearly erroneous checking account number is illustrated. If it is determined at 400 or 410 that the account number is a string of ascending or descending digits, the erroneous flag is set at 420. If these tests fail, it is determined at 430 whether the length of the account number is less than seven digits. If it is less than seven digits, it is determined at 440 whether 75% of the digits are the same. If it is not less than seven digits, it is determined at 450 whether 60% of the digits are the same. If the test at 440 or 450 fails, the account number is not clearly erroneous and the function returns to FIG. 11 at 460. If either of these tests pass, the number is clearly erroneous and the function returns to FIG. 11 at 470.
  • After the payment information is obtained from the customer, it is presented to the customer'bank for payment. This process is illustrated in FIG. 16. Starting at 500, the previously obtained payment information is assembled at 502 and is submitted to the bank at 504. The bank then processes the check at 506. This processing by the bank is illustrated in FIG. 17 described below. If the bank returns the check at 508, this is determined at 510. If the check is not returned, the account length information is added to the database at 516 and the process ends at 518. If the check is returned, the database is updated at 512 and 514 to indicate the number of returned checks for this customer and this account number. Then the process ends at 518.
  • The bank processing of an echeck is outlined in FIG. 17. Starting at 520, the payment information is received at 522 by an echeck processing bank which forwards the echeck to the customer'bank at 524. The customer'bank returns the status of the check at 526. If the check clears, the bill is paid at 530 and the process ends at 532. If it is determined at 528 that the payment was returned, it is determined at 534 whether the reason was insufficient funds. If it is not because of insufficient funds, e.g. bad account number, the check is simply returned at 536 and the process ends at 532. If the reason was insufficient funds, it is determined at 538 whether the check has been submitted twice for payment. If not, the check is presented again four days later at 540. Otherwise the check is returned at 536.
  • FIG. 18 illustrates an exemplary IVR system within which the invention is applied. Starting at 600, the customer is prompted at 610 to enter the account number of the payee. At 620, the account number and customer number are compared for payments made within the last month. If it is determined at 630 that the number of payments in the last month exceeds two, the customer is prompted at 640 that no additional payments can be made and the call is ended at 650. Next, at 660-670, it is determined whether the customer account is on a cash-only list. If it is, the customer is prompted at 640 that no payments can be made and the call is ended at 650. Next, at 680-690, it is determined whether this customer has had more than two bad payments (e.g. returned checks or declined credit card charges). If that is the case, the customer is prompted at 640 that no payments can be made and the call is ended at 650. Next it is determined at 700-710 whether the customer has had any returned checks. If yes, the customer is prompted at 720 that payment cannot be made with echeck and processing continues with an alternate form of payment (e.g. credit card) at 730.
  • If all of the above tests are passed, the customer is prompted at 740 to enter the payment amount and it is determined at 750 whether that amount exceeds a transaction cap. If the amount is too high, the customer is so prompted at 760 and a loop is entered which doesn't end until the customer enters an acceptable amount. Though not shown in the Figure, a counter can be set to exit the loop and end the call after several failures. When the customer enters an appropriate amount, the invention described above is invoked at 770 starting with FIG. 1. When the processing described above with reference to FIGS. 1-15 is complete, the IVR continues at 780 where it is determined how many payments the customer has made with this checking account in the last month. If it is determined at 790 that the number is more than two, the user is prompted at 800 that payment cannot be made with this checking account and is prompted at 810 whether the customer wants to use a different checking account. If it is determine at 820 that the customer wants to use a different account, the process resumes at 770. If not, the user is prompted at 830 whether a different payment method is desired. If not as determined at 840, the call is ended at 650. If yes, the other payment processing is entered at 730.
  • If it was determined at 790 that fewer than two payments were made with this checking account, it is then determined at 850-860 whether this checking account has had any checks returned. If yes, the steps at 800-840, described above, are followed. If not, the payment is processed at 870.
  • Those skilled in the art will appreciate that the invention relies on several databases, in particular, a “transaction” database, a “negative” database, and a “length” database. The transaction database includes a list of all transactions made through the system. Each transaction includes customer account number, ABA, checking account number, payment amount, etc. The negative database includes a list of all customer account numbers and checking account numbers that have had declines or returns. Each record includes the customer account number or checking account number and the number of declines/returns on that number. The length database includes a list of all valid checking account number lengths associated with non-returned payments through this system. Each record includes DNIS, ABA, number of payments to the ABA for personal checks, number of payments to the ABA for business checks, a list of the personal lengths associated with the ABA, a list of the business lengths associated with the ABA.
  • According to the presently preferred embodiment, two counts are stored per ABA number: the number of successful payments for personal checks and the number of successful payments for business check. When determining if a given length is “valid”, “invalid”, or “unsure”, the number of payments is compared to the threshold (currently 50). If the number of payments is below this threshold, then the length is unsure if it is not in the lengths database. This process will be enhanced by including counts by each length. It will then be possible to determine if the length should be considered valid or unsure based on how many times that given length has been used for a successful payment. For example, if a length of 7 is given for ABA 338922833 and the length database has the following, number of valid 7 digit payments=2 and total number of payments to ABA 338922833=3000, it cannot be certainly determined that a length of 7 is valid due to the fact that 2 is such a small percentage of 3000. In this case, the process would return unsure.
  • The methods of the invention may be applied in instances where no parsing of account data is necessary, i.e. where the customer parses the data before inputting it to the system. In addition, customer data may be obtained in ways other than directly from a user. For example, data from multiple users may be collected outside of the system, by a payee or a bank, and presented to the system in the form of a batch file. Data may also be presented in paper form which must be scanned or manually input into the system. In cases where no parsing is performed, the determination of account validity can still be performed using valid account number lengths associated with ABA numbers. Also, the fuzzy logic techniques of the invention can be applied independently of parsing and account number length validation.
  • There have been described and illustrated herein methods and systems for processing electronic checks. While particular embodiments of the invention have been described, it is not intended that the invention be limited thereto, as it is intended that the invention be as broad in scope as the art will allow and that the specification be read likewise. It will therefore be appreciated by those skilled in the art that yet other modifications could be made to the provided invention without deviating from its spirit and scope as so claimed.

Claims (21)

1. A method comprising:
receiving account data;
parsing the account data to determine an account number;
comparing the parsed account number to a previously submitted account number wherein the previously submitted account number is associated with a successful payment;
determining if there is a likely match between the account number and the previously submitted account number by performing at least one of a plurality of fuzzy logic techniques; and
upon determining that the likely match exists, automatically replacing the parsed account number with the previously submitted account number.
2. The method of claim 1, wherein the plurality of fuzzy logic techniques include at least one of the following:
if there has been a transposition of a first digit of the parsed account number with a second digit of the parsed account number,
if there is no more than one digit of the parsed account number different than the previously submitted account number,
if the number of digits in the parsed account number and the previously submitted account number differ by no more than one, and
if more than a preset percentage of the string of digits of the parsed account number and the string of digits of the previously submitted account number match.
3. The method of claim 2, wherein the preset percentage is equal to or greater than 80%.
4. The method of claim 1, wherein the account number is associated with a customer.
5. The method of claim 1, further comprising storing the parsed account number in a database.
6. The method of claim 1, further comprising transmitting payment information to a financial institution associated with the previously submitted account number.
7. The method of claim 1, further comprising parsing the account data to determine a routing number;
comparing the parsed routing number to a previously stored routing number wherein the previously stored routing number is associated with a successful payment;
determining if there is a likely match between the routing number and the previously stored routing number by performing at least one of the fuzzy logic techniques; and
upon determining that the likely match exists, automatically replacing the parsed routing number with the previously stored routing number.
8. The method of claim 1, wherein the account data includes at least one non-numeric character.
9. The method of claim 1, wherein the account data includes at least a portion of MICR line data.
10. The method of claim 1, wherein the step of parsing includes separating the account data into fields based on the placement of at least one non-numeric character.
11. The method of claim 10, wherein the step of parsing further includes counting the number of digits in each field of account data to determine at least a likely account number field.
12. The method of claim 11, wherein the step of parsing further includes comparing the number of digits in the likely account number field to a predetermined number of valid digits for account numbers associated with a financial institution.
13. A method comprising:
receiving account data, wherein the account data includes an account number;
comparing the account number to a previously submitted account number wherein the previously submitted account number is associated with a successful payment;
determining if there is a likely match between the account number and the previously submitted account number by performing at least one of a plurality of fuzzy logic techniques; and
upon determining that the likely match exists, automatically replacing the parsed account number with the previously submitted account number.
14. The method of claim 13, wherein the plurality of fuzzy logic techniques include at least one of the following:
if there has been a transposition of a first digit of the account number with a second digit of the parsed account number,
if there is no more than one digit of the account number different than the previously submitted account number.
if the number of digits in the account number and the previously submitted account number differ by no more than one, and
if more than a preset percentage of the string of digits of the account number and the string of digits of the previously submitted account number match.
15. The method of claim 14, wherein the preset percentage is equal to or greater than 80%.
16. The method of claim 13, further comprising storing the account number in a database.
17. The method of claim 13, further comprising transmitting payment information to a financial institution associated with the previously submitted account number.
18. The method of claim 13, wherein the account data includes at least one non-numeric character.
19. The method of claim 13, wherein the account data includes at least a portion of MICR line data.
20. A system, comprising:
means for receiving account data, wherein the account data includes an account number;
means for storing a previously submitted account number, wherein the previously submitted account number is associated with a successful payment;
means for comparing the account number to the previously submitted account number;
means for determining if there is a likely match between the account number and the previously submitted account number by performing at least one of a plurality of fuzzy logic techniques; and
means for automatically replacing the parsed account number with the previously submitted account number when the likely match exists.
21. A system, comprising:
a database, wherein the database includes a plurality of previously submitted account numbers;
an interface; and
a processor, in communication with the database and interface, wherein the processor is configured to execute software instructions for:
receiving, via the interface, account data,
parsing the account data to determine an account number,
comparing the parsed account number to a previously submitted account number stored in the database, wherein the previously submitted account number is associated with a successful payment,
determining if there is a likely match between the account number and the previously submitted account number by performing at least one of a plurality of fuzzy logic techniques,
automatically replacing the parsed account number with the previously submitted account number when the likely match exists, and
transmitting, via the network interface, payment information to a financial institution associated with the previously submitted account number.
US11/673,783 2004-08-25 2007-02-12 Methods and Systems For Processing Electronic Checks Abandoned US20070131758A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/673,783 US20070131758A1 (en) 2004-08-25 2007-02-12 Methods and Systems For Processing Electronic Checks

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/925,592 US7175074B2 (en) 2004-08-25 2004-08-25 Methods and apparatus for processing electronic checks
US11/673,783 US20070131758A1 (en) 2004-08-25 2007-02-12 Methods and Systems For Processing Electronic Checks

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/925,592 Continuation US7175074B2 (en) 2004-08-25 2004-08-25 Methods and apparatus for processing electronic checks

Publications (1)

Publication Number Publication Date
US20070131758A1 true US20070131758A1 (en) 2007-06-14

Family

ID=35995209

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/925,592 Expired - Fee Related US7175074B2 (en) 2004-08-25 2004-08-25 Methods and apparatus for processing electronic checks
US11/673,783 Abandoned US20070131758A1 (en) 2004-08-25 2007-02-12 Methods and Systems For Processing Electronic Checks

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US10/925,592 Expired - Fee Related US7175074B2 (en) 2004-08-25 2004-08-25 Methods and apparatus for processing electronic checks

Country Status (1)

Country Link
US (2) US7175074B2 (en)

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060116961A1 (en) * 2004-12-01 2006-06-01 Charles Kopko Method and apparatus for processing checks into an electronic funds transfer system
US20080249951A1 (en) * 2006-10-10 2008-10-09 Gilder Clark S Security systems and methods for digital payments
US20080247629A1 (en) * 2006-10-10 2008-10-09 Gilder Clark S Systems and methods for check 21 image replacement document enhancements
US20090244600A1 (en) * 2007-11-27 2009-10-01 Todd Haycock Billing and remittance payment system
US7979348B2 (en) 2002-04-23 2011-07-12 Clearing House Payments Co Llc Payment identification code and payment system using the same
US20110218913A1 (en) * 2010-03-03 2011-09-08 Moneygram International, Inc. Virtual traveler's check
US20120224212A1 (en) * 2009-11-06 2012-09-06 Zhigang Xu Method and device for issuing tickets
US8725607B2 (en) 2004-01-30 2014-05-13 The Clearing House Payments Company LLC Electronic payment clearing and check image exchange systems and methods
US8744962B1 (en) * 2007-09-12 2014-06-03 United Services Automobile Association (Usaa) Systems and methods for automatic payment plan
US9779452B1 (en) 2010-06-08 2017-10-03 United Services Automobile Association (Usaa) Apparatuses, methods, and systems for remote deposit capture with enhanced image detection
US9779392B1 (en) * 2009-08-19 2017-10-03 United Services Automobile Association (Usaa) Apparatuses, methods and systems for a publishing and subscribing platform of depositing negotiable instruments
US9904848B1 (en) 2013-10-17 2018-02-27 United Services Automobile Association (Usaa) Character count determination for a digital image
US10013605B1 (en) 2006-10-31 2018-07-03 United Services Automobile Association (Usaa) Digital camera processing system
US10013681B1 (en) 2006-10-31 2018-07-03 United Services Automobile Association (Usaa) System and method for mobile check deposit
US10354235B1 (en) 2007-09-28 2019-07-16 United Services Automoblie Association (USAA) Systems and methods for digital signature detection
US10373136B1 (en) 2007-10-23 2019-08-06 United Services Automobile Association (Usaa) Image processing
US10380559B1 (en) 2007-03-15 2019-08-13 United Services Automobile Association (Usaa) Systems and methods for check representment prevention
US10380562B1 (en) 2008-02-07 2019-08-13 United Services Automobile Association (Usaa) Systems and methods for mobile deposit of negotiable instruments
US10380565B1 (en) 2012-01-05 2019-08-13 United Services Automobile Association (Usaa) System and method for storefront bank deposits
US10402790B1 (en) 2015-05-28 2019-09-03 United Services Automobile Association (Usaa) Composing a focused document image from multiple image captures or portions of multiple image captures
US10460381B1 (en) 2007-10-23 2019-10-29 United Services Automobile Association (Usaa) Systems and methods for obtaining an image of a check to be deposited
US10504185B1 (en) 2008-09-08 2019-12-10 United Services Automobile Association (Usaa) Systems and methods for live video financial deposit
US10521781B1 (en) 2003-10-30 2019-12-31 United Services Automobile Association (Usaa) Wireless electronic check deposit scanning and cashing machine with webbased online account cash management computer application system
US10552810B1 (en) 2012-12-19 2020-02-04 United Services Automobile Association (Usaa) System and method for remote deposit of financial instruments
US10574879B1 (en) 2009-08-28 2020-02-25 United Services Automobile Association (Usaa) Systems and methods for alignment of check during mobile deposit
US10956728B1 (en) 2009-03-04 2021-03-23 United Services Automobile Association (Usaa) Systems and methods of check processing with background removal
US11030752B1 (en) 2018-04-27 2021-06-08 United Services Automobile Association (Usaa) System, computing device, and method for document detection
US11042882B2 (en) 2015-07-01 2021-06-22 The Clearing House Payments Company, L.L.C. Real-time payment system, method, apparatus, and computer program
US11138578B1 (en) 2013-09-09 2021-10-05 United Services Automobile Association (Usaa) Systems and methods for remote deposit of currency
US11295308B1 (en) 2014-10-29 2022-04-05 The Clearing House Payments Company, L.L.C. Secure payment processing
US11436577B2 (en) 2018-05-03 2022-09-06 The Clearing House Payments Company L.L.C. Bill pay service with federated directory model support
US11694168B2 (en) 2015-07-01 2023-07-04 The Clearing House Payments Company L.L.C. Real-time payment system, method, apparatus, and computer program
US11900755B1 (en) 2020-11-30 2024-02-13 United Services Automobile Association (Usaa) System, computing device, and method for document detection and deposit processing

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8271339B2 (en) 1995-11-13 2012-09-18 Lakshmi Arunachalam Method and apparatus for enabling real-time bi-directional transactions on a network
US7930340B2 (en) * 1995-11-13 2011-04-19 Lakshmi Arunachalam Network transaction portal to control multi-service provider transactions
US8037158B2 (en) * 1995-11-13 2011-10-11 Lakshmi Arunachalam Multimedia transactional services
US7792717B1 (en) * 2003-10-31 2010-09-07 Jpmorgan Chase Bank, N.A. Waterfall prioritized payment processing
US7757938B2 (en) * 2004-06-18 2010-07-20 Digicor Llc Image exchange without full MICR qualification
US7661587B1 (en) 2005-12-29 2010-02-16 First Data Corporation Systems and methods for determining false MICR
US8626661B2 (en) * 2006-10-10 2014-01-07 Global Standard Financial, Inc. Electronic lockbox using digitally originated checks
CN101554005A (en) 2006-10-11 2009-10-07 国际签证服务协会 Method and system for processing micropayment transactions
US10068220B2 (en) 2006-10-11 2018-09-04 Visa International Service Association Systems and methods for brokered authentication express seller links
US7827108B2 (en) * 2008-11-21 2010-11-02 Visa U.S.A. Inc. System and method of validating a relationship between a user and a user account at a financial institution
US8280788B2 (en) 2009-10-29 2012-10-02 Visa International Service Association Peer-to-peer and group financial management systems and methods
US20110106674A1 (en) * 2009-10-29 2011-05-05 Jeffrey William Perlman Optimizing Transaction Scenarios With Automated Decision Making
US8676639B2 (en) 2009-10-29 2014-03-18 Visa International Service Association System and method for promotion processing and authorization
US8583492B2 (en) * 2010-07-16 2013-11-12 Bank Of America Corporation Check processing and funds verification
US9070124B2 (en) * 2012-05-31 2015-06-30 Ncr Corporation Self-service check cashing system and method
WO2014071261A1 (en) * 2012-11-01 2014-05-08 Double Check Solutions, Llc Financial alert management system
US10325258B2 (en) * 2013-07-03 2019-06-18 Mastercard International Incorporated Systems and methods for account processing validation
US9846879B2 (en) 2013-07-08 2017-12-19 Visa International Service Association Bank account number validation
JP6679350B2 (en) * 2016-03-09 2020-04-15 キヤノン株式会社 Information processing apparatus, program, and information processing method
US10977624B2 (en) 2017-04-12 2021-04-13 Bank Of America Corporation System for generating paper and digital resource distribution documents with multi-level secure authorization requirements
US10122889B1 (en) 2017-05-08 2018-11-06 Bank Of America Corporation Device for generating a resource distribution document with physical authentication markers
US10621363B2 (en) 2017-06-13 2020-04-14 Bank Of America Corporation Layering system for resource distribution document authentication
US11144917B1 (en) 2021-02-26 2021-10-12 Double Check Solutions, Llc Alert management system with real-time remediation and integration with the exception originating system
US11615420B1 (en) 2022-07-08 2023-03-28 Double Check Solutions, Inc. Alert management system with real-time remediation and integration with the overdraft allowance originating system
US11935063B1 (en) 2022-07-08 2024-03-19 Double Check Solutions, Inc. Fraud alert management system with real-time remediation and integration with the originating system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6006208A (en) * 1998-03-25 1999-12-21 First Usa Bank, N.A. MICR line decoding logic system
US6389541B1 (en) * 1998-05-15 2002-05-14 First Union National Bank Regulating access to digital content
US6760470B1 (en) * 1999-09-27 2004-07-06 Amazon.Com, Inc. Extraction of bank routing number from information entered by a user
US20030130950A1 (en) * 2002-01-08 2003-07-10 Ahles Daniel R. Systems and methods for processing account identifiers using double entry
US6769615B2 (en) * 2002-04-26 2004-08-03 Software Corporation International Multi-pass merge process for the check processing control system

Cited By (93)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7979348B2 (en) 2002-04-23 2011-07-12 Clearing House Payments Co Llc Payment identification code and payment system using the same
US10387879B2 (en) 2002-04-23 2019-08-20 The Clearing Housse Payments Company L.L.C. Payment identification code and payment system using the same
US11200550B1 (en) 2003-10-30 2021-12-14 United Services Automobile Association (Usaa) Wireless electronic check deposit scanning and cashing machine with web-based online account cash management computer application system
US10521781B1 (en) 2003-10-30 2019-12-31 United Services Automobile Association (Usaa) Wireless electronic check deposit scanning and cashing machine with webbased online account cash management computer application system
US10636018B2 (en) 2004-01-30 2020-04-28 The Clearing House Payments Company L.L.C. Electronic payment clearing and check image exchange systems and methods
US11301824B2 (en) 2004-01-30 2022-04-12 The Clearing House Payments Company LLC Electronic payment clearing and check image exchange systems and methods
US10685337B2 (en) 2004-01-30 2020-06-16 The Clearing House Payments Company L.L.C. Electronic payment clearing and check image exchange systems and methods
US10643190B2 (en) 2004-01-30 2020-05-05 The Clearing House Payments Company L.L.C. Electronic payment clearing and check image exchange systems and methods
US8725607B2 (en) 2004-01-30 2014-05-13 The Clearing House Payments Company LLC Electronic payment clearing and check image exchange systems and methods
US9799011B2 (en) 2004-01-30 2017-10-24 The Clearing House Payments Company L.L.C. Electronic payment clearing and check image exchange systems and methods
US20060116961A1 (en) * 2004-12-01 2006-06-01 Charles Kopko Method and apparatus for processing checks into an electronic funds transfer system
US20080247629A1 (en) * 2006-10-10 2008-10-09 Gilder Clark S Systems and methods for check 21 image replacement document enhancements
US20080249951A1 (en) * 2006-10-10 2008-10-09 Gilder Clark S Security systems and methods for digital payments
US11682222B1 (en) 2006-10-31 2023-06-20 United Services Automobile Associates (USAA) Digital camera processing system
US10621559B1 (en) 2006-10-31 2020-04-14 United Services Automobile Association (Usaa) Systems and methods for remote deposit of checks
US10013681B1 (en) 2006-10-31 2018-07-03 United Services Automobile Association (Usaa) System and method for mobile check deposit
US11023719B1 (en) 2006-10-31 2021-06-01 United Services Automobile Association (Usaa) Digital camera processing system
US11562332B1 (en) 2006-10-31 2023-01-24 United Services Automobile Association (Usaa) Systems and methods for remote deposit of checks
US11875314B1 (en) 2006-10-31 2024-01-16 United Services Automobile Association (Usaa) Systems and methods for remote deposit of checks
US10769598B1 (en) 2006-10-31 2020-09-08 United States Automobile (USAA) Systems and methods for remote deposit of checks
US11544944B1 (en) 2006-10-31 2023-01-03 United Services Automobile Association (Usaa) Digital camera processing system
US11348075B1 (en) 2006-10-31 2022-05-31 United Services Automobile Association (Usaa) Systems and methods for remote deposit of checks
US11538015B1 (en) 2006-10-31 2022-12-27 United Services Automobile Association (Usaa) Systems and methods for remote deposit of checks
US11625770B1 (en) 2006-10-31 2023-04-11 United Services Automobile Association (Usaa) Digital camera processing system
US10719815B1 (en) 2006-10-31 2020-07-21 United Services Automobile Association (Usaa) Systems and methods for remote deposit of checks
US10402638B1 (en) 2006-10-31 2019-09-03 United Services Automobile Association (Usaa) Digital camera processing system
US11429949B1 (en) 2006-10-31 2022-08-30 United Services Automobile Association (Usaa) Systems and methods for remote deposit of checks
US10482432B1 (en) 2006-10-31 2019-11-19 United Services Automobile Association (Usaa) Systems and methods for remote deposit of checks
US10013605B1 (en) 2006-10-31 2018-07-03 United Services Automobile Association (Usaa) Digital camera processing system
US11682221B1 (en) 2006-10-31 2023-06-20 United Services Automobile Associates (USAA) Digital camera processing system
US11488405B1 (en) 2006-10-31 2022-11-01 United Services Automobile Association (Usaa) Systems and methods for remote deposit of checks
US11461743B1 (en) 2006-10-31 2022-10-04 United Services Automobile Association (Usaa) Systems and methods for remote deposit of checks
US10380559B1 (en) 2007-03-15 2019-08-13 United Services Automobile Association (Usaa) Systems and methods for check representment prevention
US8744962B1 (en) * 2007-09-12 2014-06-03 United Services Automobile Association (Usaa) Systems and methods for automatic payment plan
US11328267B1 (en) 2007-09-28 2022-05-10 United Services Automobile Association (Usaa) Systems and methods for digital signature detection
US10354235B1 (en) 2007-09-28 2019-07-16 United Services Automoblie Association (USAA) Systems and methods for digital signature detection
US10713629B1 (en) 2007-09-28 2020-07-14 United Services Automobile Association (Usaa) Systems and methods for digital signature detection
US10460381B1 (en) 2007-10-23 2019-10-29 United Services Automobile Association (Usaa) Systems and methods for obtaining an image of a check to be deposited
US10915879B1 (en) 2007-10-23 2021-02-09 United Services Automobile Association (Usaa) Image processing
US11392912B1 (en) 2007-10-23 2022-07-19 United Services Automobile Association (Usaa) Image processing
US10373136B1 (en) 2007-10-23 2019-08-06 United Services Automobile Association (Usaa) Image processing
US10810561B1 (en) 2007-10-23 2020-10-20 United Services Automobile Association (Usaa) Image processing
US20090244600A1 (en) * 2007-11-27 2009-10-01 Todd Haycock Billing and remittance payment system
US10380562B1 (en) 2008-02-07 2019-08-13 United Services Automobile Association (Usaa) Systems and methods for mobile deposit of negotiable instruments
US10839358B1 (en) 2008-02-07 2020-11-17 United Services Automobile Association (Usaa) Systems and methods for mobile deposit of negotiable instruments
US11531973B1 (en) 2008-02-07 2022-12-20 United Services Automobile Association (Usaa) Systems and methods for mobile deposit of negotiable instruments
US10504185B1 (en) 2008-09-08 2019-12-10 United Services Automobile Association (Usaa) Systems and methods for live video financial deposit
US11694268B1 (en) 2008-09-08 2023-07-04 United Services Automobile Association (Usaa) Systems and methods for live video financial deposit
US11216884B1 (en) 2008-09-08 2022-01-04 United Services Automobile Association (Usaa) Systems and methods for live video financial deposit
US11721117B1 (en) 2009-03-04 2023-08-08 United Services Automobile Association (Usaa) Systems and methods of check processing with background removal
US10956728B1 (en) 2009-03-04 2021-03-23 United Services Automobile Association (Usaa) Systems and methods of check processing with background removal
US10896408B1 (en) * 2009-08-19 2021-01-19 United Services Automobile Association (Usaa) Apparatuses, methods and systems for a publishing and subscribing platform of depositing negotiable instruments
US9779392B1 (en) * 2009-08-19 2017-10-03 United Services Automobile Association (Usaa) Apparatuses, methods and systems for a publishing and subscribing platform of depositing negotiable instruments
US11222315B1 (en) 2009-08-19 2022-01-11 United Services Automobile Association (Usaa) Apparatuses, methods and systems for a publishing and subscribing platform of depositing negotiable instruments
US11064111B1 (en) 2009-08-28 2021-07-13 United Services Automobile Association (Usaa) Systems and methods for alignment of check during mobile deposit
US10574879B1 (en) 2009-08-28 2020-02-25 United Services Automobile Association (Usaa) Systems and methods for alignment of check during mobile deposit
US10848665B1 (en) 2009-08-28 2020-11-24 United Services Automobile Association (Usaa) Computer systems for updating a record to reflect data contained in image of document automatically captured on a user's remote mobile phone displaying an alignment guide and using a downloaded app
US10855914B1 (en) 2009-08-28 2020-12-01 United Services Automobile Association (Usaa) Computer systems for updating a record to reflect data contained in image of document automatically captured on a user's remote mobile phone displaying an alignment guide and using a downloaded app
US20120224212A1 (en) * 2009-11-06 2012-09-06 Zhigang Xu Method and device for issuing tickets
US20110218913A1 (en) * 2010-03-03 2011-09-08 Moneygram International, Inc. Virtual traveler's check
US8401969B2 (en) * 2010-03-03 2013-03-19 Moneygram International, Inc. Virtual traveler's check
US11295378B1 (en) 2010-06-08 2022-04-05 United Services Automobile Association (Usaa) Apparatuses, methods and systems for a video remote deposit capture platform
US10380683B1 (en) 2010-06-08 2019-08-13 United Services Automobile Association (Usaa) Apparatuses, methods and systems for a video remote deposit capture platform
US11915310B1 (en) 2010-06-08 2024-02-27 United Services Automobile Association (Usaa) Apparatuses, methods and systems for a video remote deposit capture platform
US11295377B1 (en) 2010-06-08 2022-04-05 United Services Automobile Association (Usaa) Automatic remote deposit image preparation apparatuses, methods and systems
US11232517B1 (en) 2010-06-08 2022-01-25 United Services Automobile Association (Usaa) Apparatuses, methods, and systems for remote deposit capture with enhanced image detection
US11893628B1 (en) 2010-06-08 2024-02-06 United Services Automobile Association (Usaa) Apparatuses, methods and systems for a video remote deposit capture platform
US11068976B1 (en) 2010-06-08 2021-07-20 United Services Automobile Association (Usaa) Financial document image capture deposit method, system, and computer-readable
US10706466B1 (en) 2010-06-08 2020-07-07 United Services Automobile Association (Ussa) Automatic remote deposit image preparation apparatuses, methods and systems
US10621660B1 (en) 2010-06-08 2020-04-14 United Services Automobile Association (Usaa) Apparatuses, methods, and systems for remote deposit capture with enhanced image detection
US9779452B1 (en) 2010-06-08 2017-10-03 United Services Automobile Association (Usaa) Apparatuses, methods, and systems for remote deposit capture with enhanced image detection
US11544682B1 (en) 2012-01-05 2023-01-03 United Services Automobile Association (Usaa) System and method for storefront bank deposits
US11062283B1 (en) 2012-01-05 2021-07-13 United Services Automobile Association (Usaa) System and method for storefront bank deposits
US10380565B1 (en) 2012-01-05 2019-08-13 United Services Automobile Association (Usaa) System and method for storefront bank deposits
US11797960B1 (en) 2012-01-05 2023-10-24 United Services Automobile Association (Usaa) System and method for storefront bank deposits
US10769603B1 (en) 2012-01-05 2020-09-08 United Services Automobile Association (Usaa) System and method for storefront bank deposits
US10552810B1 (en) 2012-12-19 2020-02-04 United Services Automobile Association (Usaa) System and method for remote deposit of financial instruments
US11138578B1 (en) 2013-09-09 2021-10-05 United Services Automobile Association (Usaa) Systems and methods for remote deposit of currency
US10360448B1 (en) 2013-10-17 2019-07-23 United Services Automobile Association (Usaa) Character count determination for a digital image
US11281903B1 (en) 2013-10-17 2022-03-22 United Services Automobile Association (Usaa) Character count determination for a digital image
US11144753B1 (en) 2013-10-17 2021-10-12 United Services Automobile Association (Usaa) Character count determination for a digital image
US11694462B1 (en) 2013-10-17 2023-07-04 United Services Automobile Association (Usaa) Character count determination for a digital image
US9904848B1 (en) 2013-10-17 2018-02-27 United Services Automobile Association (Usaa) Character count determination for a digital image
US11816666B2 (en) 2014-10-29 2023-11-14 The Clearing House Payments Company L.L.C. Secure payment processing
US11295308B1 (en) 2014-10-29 2022-04-05 The Clearing House Payments Company, L.L.C. Secure payment processing
US10402790B1 (en) 2015-05-28 2019-09-03 United Services Automobile Association (Usaa) Composing a focused document image from multiple image captures or portions of multiple image captures
US11694168B2 (en) 2015-07-01 2023-07-04 The Clearing House Payments Company L.L.C. Real-time payment system, method, apparatus, and computer program
US11042882B2 (en) 2015-07-01 2021-06-22 The Clearing House Payments Company, L.L.C. Real-time payment system, method, apparatus, and computer program
US11676285B1 (en) 2018-04-27 2023-06-13 United Services Automobile Association (Usaa) System, computing device, and method for document detection
US11030752B1 (en) 2018-04-27 2021-06-08 United Services Automobile Association (Usaa) System, computing device, and method for document detection
US11436577B2 (en) 2018-05-03 2022-09-06 The Clearing House Payments Company L.L.C. Bill pay service with federated directory model support
US11829967B2 (en) 2018-05-03 2023-11-28 The Clearing House Payments Company L.L.C. Bill pay service with federated directory model support
US11900755B1 (en) 2020-11-30 2024-02-13 United Services Automobile Association (Usaa) System, computing device, and method for document detection and deposit processing

Also Published As

Publication number Publication date
US7175074B2 (en) 2007-02-13
US20060049242A1 (en) 2006-03-09

Similar Documents

Publication Publication Date Title
US7175074B2 (en) Methods and apparatus for processing electronic checks
US20200320536A1 (en) Instant Funds Availability Risk Assessment System and Method
US7860795B2 (en) Systems and methods for processing check identifiers using replacement symbols
CA2325466C (en) Micr line decoding logic system
US8567668B2 (en) Method and apparatus for distribution of money transfers
US7500600B2 (en) Enhanced pre-allocated check negotiability systems and methods
US7529710B1 (en) Monitoring transactions by non-account holder
US20070174186A1 (en) Authenticated and distributed transaction processing
US8650122B2 (en) System and method for automated debiting and settling of financial transactions
JPH07210624A (en) Matching method of character recognition item
HU219257B (en) Electronic bill pay system, method and network
US20130006861A1 (en) Verification of a Financial Instrument Allowing Rules-Based Pre-Acceptance Use of the Financial Instrument
US20070255651A1 (en) Batch processing of financial transactions
CN112819473B (en) Order processing method, server, equipment and medium based on digital dictionary
US20030061151A1 (en) Method and apparatus for securing financing in a loan transaction
US20040088243A1 (en) Verifying a financial instrument using a customer requested transaction
IES20010911A2 (en) A user authentication system and process
US20040088258A1 (en) Verification of a financial instrument using a random number of transactions
CN112686666A (en) Electronic wallet transaction method and device for railway business system
US20040260629A1 (en) Disbursement processing system with integrated Office of Foreign Asset Control compliance
CN1276124A (en) Clearing method in a telecommuniation system
CN117350830A (en) Bank junction sales collection business processing method and device, electronic equipment and storage medium
CN117376414A (en) Data processing method and device based on centralized processing mode
WO1997036267A1 (en) Automated system and method for positive check authorization
EP0984411A2 (en) System and method for automated debiting and settling of financial transactions

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION