US20090281946A1 - ACH Payment Processing - Google Patents
ACH Payment Processing Download PDFInfo
- Publication number
- US20090281946A1 US20090281946A1 US12/119,262 US11926208A US2009281946A1 US 20090281946 A1 US20090281946 A1 US 20090281946A1 US 11926208 A US11926208 A US 11926208A US 2009281946 A1 US2009281946 A1 US 2009281946A1
- Authority
- US
- United States
- Prior art keywords
- ach
- partition
- processing
- file
- batches
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/02—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
- G06Q20/023—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP] the neutral party being a clearing house
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/02—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
- G06Q20/102—Bill distribution or payments
Definitions
- the invention relates generally to processing payments in an Automated Clearinghouse (“ACH”), and more particularly to efficiently processing ACH payments by processing batches of ACH payments in parallel.
- ACH Automated Clearinghouse
- ACH Automated Clearinghouse
- NACHA National Automated Clearinghouse Association
- an originator sends electronic transaction items to an originating depository financial institution (“ODFI”).
- ODFI originating depository financial institution
- the originator is a person or organization that agrees to initiate ACH payments in the ACH network according to an arrangement with another, receiving person or entity (a “receiver”).
- the originator can be a company that agrees to originate an ACH payment to an account of a consumer.
- the ODFI packages the transaction items in one or more batched ACH files, according to the NACHA rules.
- the ODFI transmits the ACH files to an ACH operator.
- the ODFI may send the ACH files to the ACH operator directly or via a third party or “remote” sending point.
- the third party or remote sending point may be a depository financial institution or a company providing processing services for a depository financial institution.
- ACH file is used herein to refer to any collection of batched and/or unbatched ACH transaction items.
- the ACH operator is a Federal Reserve Bank or other entity that receives ACH files from an ODFI and distributes transaction items within the ACH files to at least one corresponding receiving depository financial institution (“RDFI”) associated with a receiver. In some cases, the ACH operator also may perform settlement functions (crediting and debiting of accounts) for the affected financial institutions.
- RDFI receiving depository financial institution
- Each ACH file includes at least one batch of transaction items. Each batch includes one or more transaction items.
- transaction item and “ACH item” are used interchangeably herein to refer to any batched electronic payment or payment instruction, whether international or domestic, and/or information associated with a batched electronic payment or payment instruction.
- a payment or payment instruction can be a credit, a debit, or a rejected or returned transaction.
- the RDFI's may receive the ACH files directly or via one or more third party or “remote” receiving points. Each third party or remote receiving point may be a depository financial institution or a company providing processing services for a depository financial institution.
- the RDFI's forward the transaction items in the ACH files to their corresponding receivers.
- Each receiver is a person or organization that has authorized an originator to initiate an ACH payment to an account of the receiver, at the receiver's RDFI.
- ACH operators include multiple mainframe processors, which process ACH files, file by file, on a first in, first out basis.
- Each ACH file is processed by a single one of the mainframe processors.
- each mainframe processor can bear a different processing load. For example, one mainframe processor may process an ACH file with only a single transaction item, while another mainframe processor may process an ACH file with multiple batches including large amounts of transaction items.
- at least some mainframe processors may be over-loaded or under-loaded. This results in many processing inefficiencies, including ineffective use of the under-loaded mainframe processors and delays in processing of transaction items handled by the over-loaded mainframe processors.
- the invention provides systems and methods for processing ACH payments.
- the invention provides systems and methods for efficiently processing ACH payments by processing batches of ACH payments in parallel.
- An ACH processing system of an ACH operator receives an ACH file including multiple batches of ACH items.
- the ACH processing system can receive the ACH file from an ODFI or an operator acting on behalf of an ODFI.
- Each batch of the ACH file includes at least one ACH item.
- a control module of the ACH processing system organizes data in the ACH file into multiple partitions according to a selected strategy.
- Each partition includes at least one of the batches.
- the control module can select a strategy that assigns (a) a fixed number of the batches to each partition, (b) a substantially equal number of batches to each partition, or (c) a substantially equal number of ACH items to each partition.
- Other strategies for organizing batched data are well known to a person of ordinary skill in the art having the benefit of the present disclosure.
- a processing module of the ACH processing system separately processes each partition in parallel.
- each of multiple processors associated with the processing module can process at least one of the partitions.
- multiple of the partitions may be processed on the same processor using application threading.
- the processing module can utilize one or more java objects, such as IBM WebSphere Application Server's “asynchronous beans” running on a Java 2 Platform Enterprise Edition (“J2EE”) application, to perform the application threading.
- J2EE Java 2 Platform Enterprise Edition
- the processing module can modify threading parameters in the J2EE application to ensure that each processor is not over-loaded or under-loaded during processing.
- the processing module validates the batches and ACH items and creates at least one output batch for each partition.
- Each output batch includes information regarding at least one of the ACH items.
- a particular output batch can include multiple ACH items associated with the same ODFI and/or RDFI.
- the processing module also may store settlement information for each ACH item.
- the output batches can include ACH items that were successfully validated during processing or ACH items that were not successfully validated during processing.
- “risk pended” output batches can include information regarding ACH items that were not successfully validated during processing
- non-risk pended output batches can include information regarding ACH items that were successfully validated during processing.
- the control module evaluates the validation results for each partition to determine whether the ACH file is acceptable. If the control module determines that the ACH file is not acceptable, then the ACH operator may return the ACH file to the ODFI, suspend processing of the ACH file, and/or output a notification advising the ODFI and/or an operator of the ACH processing system that the ACH file will not be processed. If the control module determines that the ACH file is acceptable, then the processing module determines whether each output batch is a risk pended output batch or a non-risk pended output batch. The processing module settles the ACH items in the non-risk pended output batches and creates at least one new ACH file for transmitting the settled ACH items to at least one corresponding RDFI.
- the processing module determines whether each risk pended output batch is acceptable for transmission to an RDFI. For example, the processing module can make that determination based on information from one or more operators of the ACH processing system and/or the ODFI. If the processing module determines that a particular risk pended output batch is not acceptable for transmission to an RDFI, then the ACH operator may return the output batch and/or the ACH items contained therein to the ODFI, suspend processing of the output batch and/or ACH items, and/or output a notification advising the ODFI and/or an operator of the ACH processing system that the output batch and/or ACH items will not be processed.
- the processing module determines that the risk pended output batch is acceptable for transmission to an RDFI, then the processing module settles the ACH items in the risk pended output batch and creates at least one new ACH file for transmitting the settled ACH items to at least one corresponding RDFI.
- FIG. 1 is a block diagram depicting a system for efficiently processing an ACH file, in accordance with certain exemplary embodiments.
- FIG. 2 is a flow chart depicting a method for efficiently processing an ACH file, in accordance with certain exemplary embodiments.
- FIG. 3 is a flow chart depicting a method for separately processing partitions of an ACH file in parallel, in accordance with certain exemplary embodiments.
- FIG. 4 is a flow chart depicting a method for processing risk pended output batches, in accordance with certain exemplary embodiments.
- the invention is directed to systems and methods for efficiently processing ACH payments.
- the invention is directed to systems and methods for efficiently processing ACH files by processing batches of ACH payments in parallel.
- the invention includes a computer program that embodies the functions described herein and illustrated in the appended flow charts.
- a skilled programmer would be able to write such a computer program to implement an embodiment of the disclosed invention based on the flow charts and associated description in the application text. Therefore, disclosure of a particular set of program code instructions is not considered necessary for an adequate understanding of how to make and use the invention.
- the inventive functionality of the claimed computer program will be explained in more detail in the following description read in conjunction with the figures illustrating the program flow.
- FIG. 1 is a block diagram depicting a system 100 for efficiently processing an ACH file, in accordance with certain exemplary embodiments.
- the system 100 is described below with reference to the methods illustrated in FIGS. 2-4 .
- FIG. 2 is a flow chart depicting a method 200 for efficiently processing an ACH file, in accordance with certain exemplary embodiments.
- the exemplary method 200 is illustrative and, in alternative embodiments of the invention, certain steps can be performed in a different order, in parallel with one another, or omitted entirely, and/or certain additional steps can be performed without departing from the scope and spirit of the invention.
- the method 200 is described below with reference to FIGS. 1 and 2 .
- an ACH operator 105 receives an ACH file including multiple batches of ACH items.
- the ACH operator 105 is a Federal Reserve Bank or other entity that receives an ACH file from an originating depository financial institution 102 (“ODFI”) and distributes transaction items within the ACH file to at least one corresponding receiving depository financial institution 115 (“RDFI”).
- ODFI originating depository financial institution 102
- RDFI receiving depository financial institution 115
- the ACH operator 105 also may perform settlement functions (crediting and debiting of accounts) for the affected financial institutions 102 , 115 .
- the ACH operator 105 can receive the ACH file from a third party or “remote” sending point (not shown) operating on behalf of the ODFI 102 .
- the third party or remote sending point may be a depository financial institution or a company providing processing services for a depository financial institution.
- the term “ACH file” is used herein to refer to any collection of batched and/or unbatched ACH items.
- the ACH operator 105 can receive the ACH file via a network 104 .
- the network 104 can include any wired or wireless telecommunication means by which computerized devices can exchange data, including for example, a local area network (LAN), a wide area network (WAN), an intranet, an Internet, or any combination thereof.
- LAN local area network
- WAN wide area network
- intranet an Internet
- Internet an Internet
- Each batch of the received ACH file includes one or more transaction items.
- transaction item and “ACH item” are used interchangeably herein to refer to any batched electronic payment or payment instruction, whether international or domestic, and/or information associated with a batched electronic payment or payment instruction.
- a payment or payment instruction can be a credit, a debit, or a rejected or returned transaction.
- a processing module 107 of a processing system 103 operated by the ACH operator 105 performs a preliminary validation of the ACH file.
- the processing module 107 can determine whether the file is properly formatted and/or includes suitable information for processing.
- the processing module 107 can perform this preliminary validation based on one or more rules stored in a database 109 of the processing system 103 .
- step 215 the processing module 107 determines whether to process the ACH file. For example, the processing module 107 can determine to process the ACH file if the ACH file is successfully validated in step 210 . Similarly, the processing module 107 can determine to not process the ACH file if the ACH file is not successfully validated in step 210 .
- step 215 determines in step 215 to not process the ACH file
- the method 200 branches to step 245 , which is discussed below. If the processing module 107 determines in step 215 to process the ACH file, then the method 200 continues to step 220 .
- a control module 108 of the processing system 103 selects a partition strategy.
- the partition strategy is a schema for dividing information within the ACH file into multiple partitions. Each partition includes one or more of the batches of the ACH file.
- one partition strategy can be to assign a fixed number of batches to each partition.
- a second partition strategy can be to assign substantially equal numbers of batches to each of the partitions.
- a third partition strategy can be to assign batches to the partitions so that each partition includes a substantially equal number of ACH items.
- the control module 108 organizes the data in the ACH file into multiple partitions according to the strategy selected in step 220 .
- the processing module 107 separately processes each partition in parallel. For example, each of multiple processors (not shown) associated with the processing module 107 can process at least one of the partitions. Alternatively, multiple of the partitions may be processed on the same processor using application threading.
- the processing module 107 can utilize one or more java objects, such as asynchronous beans running on a Java 2 Platform Enterprise Edition (“J2EE”) application, to perform the application threading.
- the processing module 107 can modify threading parameters in the J2EE application to ensure that each processor is not over-loaded or under-loaded during processing.
- the processing module 107 validates each batch and ACH item and creates and stores output batches and settlement information for the ACH items.
- the processing module 107 can store the output batches and settlement information in the database 109 .
- Each output batch includes one or more ACH items.
- all the ACH items in a particular output batch can be associated with the same RDFI 115 and/or ODFI 102 .
- the processing module 107 can use the output batches and settlement information to complete the processing of the ACH items, as described below.
- the processing module 107 can store validation information, such as validation results, for each batch and ACH item in the database 109 of the processing system 103 . Step 230 is described in more detail below, with reference to FIG. 3 .
- the control module 108 reads validation information associated with each partition. For example, the control module 108 can read the validation information from the database 109 of the processing system 103 .
- the control module 108 determines whether the ACH file is acceptable, based on the validation information read in step 235 . For example, the control module 108 may determine that an ACH file is not acceptable if a large quantity of validation errors were identified in step 235 . The control module 108 also may determine that an ACH file is not acceptable if one or more significant validation errors were identified in step 235 .
- the processing module 107 can make the decision of step 240 based on one or more rules stored in the database 109 . In some cases, the control module 108 may determine that an ACH file is not acceptable even if the ACH file successfully completed the preliminary validation of step 215 .
- step 245 the control module 108 rejects the ACH file for further processing.
- the control module 108 can return the ACH file to the ODFI 102 via the network 104 , suspend processing of the ACH file, and/or output a notification advising the ODFI 102 and/or an operator of the ACH processing system 103 that the ACH file will not be processed.
- the ODFI 102 and/or operator can override the rejection decision if it determines that the ACH file actually should be processed.
- step 246 the processing module 107 determines whether each output batch (stored in step 230 ) is a “risk pended” output batch or a non-risk pended output batch.
- a risk pended output batch is an electronic file or record that includes information regarding at least one ACH item that was not successfully validated (in step 230 ).
- a non-risk pended output batch is an electronic file or record that includes information regarding at least one ACH item that has been successfully validated (in step 230 ).
- a “flag” or indicator within, or associated with, a particular output batch can indicate whether the output batch is a risk pended output batch or a non-risk pended output batch.
- step 250 the processing module 107 settles each ACH item in the non-risk pended output batches using the settlement information stored in step 230 .
- the processing module 107 can cause accounts associated with the ODFI 102 and RDFI 115 associated with each ACH item to be credited and/or debited in accordance with the settlement information.
- each ACH file includes information regarding at least one of the ACH items settled in step 250 .
- each ACH file can include one or more of the non-risk pended output batches.
- the processing module 107 can create at least one new ACH file for each RDFI 115 .
- Each ACH file for a particular RDFI 115 can include one or more batches of ACH items associated with the RDFI 115 .
- the processing module 107 transmits each new ACH file to its corresponding RDFI 115 .
- the processing module 107 can transmit the new ACH file(s) via the network 104 .
- step 265 the processing module 107 determines whether any risk pended output batches were identified in step 246 . If so, then the method 200 branches to step 270 , which is described below with reference to FIG. 4 . If the processing module 107 determines that there were not any risk pended output batches identified in step 246 , then the method 200 ends.
- FIG. 3 is a flow chart depicting a method 230 for separately processing partitions of an ACH file in parallel, in accordance with certain exemplary embodiments, as referred to in step 230 of FIG. 2 .
- the exemplary method 230 is illustrative and, in alternative embodiments of the invention, certain steps can be performed in a different order, in parallel with one another, or omitted entirely, and/or certain additional steps can be performed without departing from the scope and spirit of the invention.
- the method 230 is described below with reference to FIGS. 1-3 .
- the processing module 107 typically performs multiple instances of the method 230 in parallel, with each instance being associated with a different one of the partitions of the ACH file.
- the processing module 107 selects a batch of the partition.
- the processing module 107 validates the batch and stores validation results in the database 109 .
- the processing module 107 can validate the batch by determining whether the batch is properly formatted and/or includes suitable information for processing.
- the processing module 107 can perform this validation based on one or more rules stored in the database 109 .
- the stored validation results can include information regarding any validation errors identified during validation and/or information indicating that the batch was successfully validated, if appropriate.
- step 315 the processing module 107 determines whether the batch is acceptable, based on the validation performed in step 310 . In certain exemplary embodiments, the processing module 107 can make the decision of step 315 based on one or more rules stored in the database 109 . If the processing module 107 determines in step 315 that the batch is not acceptable, then the method 230 branches to step 330 , which is discussed below.
- step 320 the processing module 107 validates ACH items in the batch and stores validation results in the database 109 .
- the processing module 107 can validate each ACH item by determining whether the ACH item is properly formatted and/or includes suitable information for processing.
- the processing module 107 can perform this validation based on one or more rules stored in the database 109 .
- the stored validation results can include information regarding any validation errors identified during validation and/or information identifying each successfully validated ACH item.
- each output batch is an electronic file or record that includes information regarding at least one ACH item of the partition.
- all the ACH items in a particular output batch can be associated with the same RDFI 115 and/or ODFI 102 .
- the processing module 107 can create “risk pended” and “non-risk pended” output batches.
- a risk pended output batch is an electronic file or record that includes information regarding at least one ACH item that was not successfully validated.
- a non-risk pended output batch is an electronic file or record that includes information regarding at least one ACH item that has been successfully validated.
- a “flag” or indicator within, or associated with, a particular output batch can indicate whether the output batch is a risk pended output batch or a non-risk pended output batch.
- step 330 the processing module 107 stores the output batches in the database 109 .
- step 335 the processing module 107 determines whether to select another batch. If so, then the method 230 branches back to step 305 to repeat steps 305 - 330 for another batch. If the processing module 107 determines in step 335 to not select another batch, then the method 230 continues to step 340 .
- the processing module 107 stores settlement information for each of the output batches in the database 109 .
- the settlement information may include information useful in settling payment of each ACH item included in the output batches, such as an aggregate credit or debit amount for each ODFI 102 and/or RDFI 115 , a credit or debit amount for each ACH item, an American Bankers Association (“ABA”) number associated with each ODFI 102 , and/or an ABA number associated with each RDFI 115 .
- ABA American Bankers Association
- FIG. 4 is a flow chart depicting a method 270 for processing risk pended output batches, in accordance with certain exemplary embodiments, as referred to in step 270 of FIG. 2 .
- the exemplary method 270 is illustrative and, in alternative embodiments of the invention, certain steps can be performed in a different order, in parallel with one another, or omitted entirely, and/or certain additional steps can be performed without departing from the scope and spirit of the invention.
- the method 270 is described below with reference to FIGS. 1-4 .
- the processing module identifies at least one risk pended output batch.
- the processing module determines whether each identified risk pended output batch risk is acceptable for transmission to an RDFI 115 .
- the processing module 107 can make that determination based on information from one or more operators of the ACH processing system 103 and/or the ODFI 102 .
- the processing module 107 can transmit at least a portion of each risk pended output batch to its corresponding ODFI 102 for review, via the network 104 .
- the operator(s) of the ODFI 102 and/or ACH processing system 103 can evaluate whether each risk pended output batch is suitable for transmission to the RDFI 115 based on one or more rules.
- the rules may include certain formatting and/or content requirements for each batch and/or ACH item therein.
- the rules may be the same or different from rules used in validating the ACH file, partitions, and ACH items in steps 210 and 230 of FIG. 2 .
- the rules can be stored in a database, such as the database 109 .
- the processing module 107 rejects any risk pended ACH items determined in step 410 to not be acceptable for transmission. For example, the processing module 107 can return each rejected output and/or the ACH items contained therein to its corresponding ODFI 102 , suspend processing of the output batch and/or ACH items, and/or output a notification advising the ODFI 102 and/or an operator of the ACH processing system 103 that the output batch and/or ACH items will not be processed.
- step 420 the processing module 107 settles each ACH item in each risk pended output batch, if any, determined in step 410 to be acceptable for transmission.
- the processing module 107 can cause accounts associated with the ODFI 102 and RDFI 115 of each ACH item to be credited and/or debited in accordance with information in the ACH item.
- the processing module 107 creates at least one new ACH file for each RDFI 115 associated with one or more of the ACH items settled in step 420 .
- Each new ACH file for a particular RDFI 115 includes one or more batches of acceptable ACH items associated with the RDFI 115 .
- the processing module 107 transmits each new ACH file to its corresponding RDFI 115 .
- the processing module 107 can transmit the new ACH file(s) via the network 104 .
Abstract
Efficiently processing ACH payments by processing batches of ACH payments in parallel. A processing system of an ACH operator receives an ACH file including multiple batches of ACH items. Each batch includes at least one ACH item. A control module of the processing system organizes data in the ACH file into multiple partitions according to a selected strategy. Each partition includes at least one of the batches. A processing module of the processing system separately processes each partition in parallel, validating the batches and ACH items and creating at least one output batch for each partition. If the control module determines that the ACH file is acceptable, based on this parallel processing, then the processing module settles the ACH items in the output batches and creates at least one new ACH file for transmitting the settled ACH items to one or more corresponding receiving depository financial institutions.
Description
- The invention relates generally to processing payments in an Automated Clearinghouse (“ACH”), and more particularly to efficiently processing ACH payments by processing batches of ACH payments in parallel.
- Financial institutions are increasingly clearing financial transactions using electronic systems such as the Automated Clearinghouse (“ACH”) network. The ACH network is a nationwide electronic funds transfer system supported by several operators, including the Federal Reserve Banks and other institutions. The ACH network is governed by a set of rules administered by the National Automated Clearinghouse Association (“NACHA”). ACH offers financial institutions, companies, consumers, and others an efficient alternative to paper based payment methods.
- In ACH, an originator sends electronic transaction items to an originating depository financial institution (“ODFI”). The originator is a person or organization that agrees to initiate ACH payments in the ACH network according to an arrangement with another, receiving person or entity (a “receiver”). For example, the originator can be a company that agrees to originate an ACH payment to an account of a consumer.
- The ODFI packages the transaction items in one or more batched ACH files, according to the NACHA rules. The ODFI transmits the ACH files to an ACH operator. The ODFI may send the ACH files to the ACH operator directly or via a third party or “remote” sending point. The third party or remote sending point may be a depository financial institution or a company providing processing services for a depository financial institution. The term “ACH file” is used herein to refer to any collection of batched and/or unbatched ACH transaction items.
- The ACH operator is a Federal Reserve Bank or other entity that receives ACH files from an ODFI and distributes transaction items within the ACH files to at least one corresponding receiving depository financial institution (“RDFI”) associated with a receiver. In some cases, the ACH operator also may perform settlement functions (crediting and debiting of accounts) for the affected financial institutions.
- Each ACH file includes at least one batch of transaction items. Each batch includes one or more transaction items. The terms “transaction item” and “ACH item” are used interchangeably herein to refer to any batched electronic payment or payment instruction, whether international or domestic, and/or information associated with a batched electronic payment or payment instruction. For example, a payment or payment instruction can be a credit, a debit, or a rejected or returned transaction.
- Upon receiving an ACH file, processors of the ACH operator sort, batch, and re-assemble the transaction items in the ACH file in at least one new ACH file for delivery to one or more RDFI's. The RDFI's may receive the ACH files directly or via one or more third party or “remote” receiving points. Each third party or remote receiving point may be a depository financial institution or a company providing processing services for a depository financial institution. The RDFI's forward the transaction items in the ACH files to their corresponding receivers. Each receiver is a person or organization that has authorized an originator to initiate an ACH payment to an account of the receiver, at the receiver's RDFI.
- Traditionally, ACH operators include multiple mainframe processors, which process ACH files, file by file, on a first in, first out basis. Each ACH file is processed by a single one of the mainframe processors. Because each ACH file can include a varying number of batches with a varying number of transaction items, each mainframe processor can bear a different processing load. For example, one mainframe processor may process an ACH file with only a single transaction item, while another mainframe processor may process an ACH file with multiple batches including large amounts of transaction items. Thus, at least some mainframe processors may be over-loaded or under-loaded. This results in many processing inefficiencies, including ineffective use of the under-loaded mainframe processors and delays in processing of transaction items handled by the over-loaded mainframe processors.
- Therefore, a need exists in the art for a system and method for efficiently processing ACH payments.
- The invention provides systems and methods for processing ACH payments. In particular, the invention provides systems and methods for efficiently processing ACH payments by processing batches of ACH payments in parallel.
- An ACH processing system of an ACH operator receives an ACH file including multiple batches of ACH items. For example, the ACH processing system can receive the ACH file from an ODFI or an operator acting on behalf of an ODFI. Each batch of the ACH file includes at least one ACH item.
- A control module of the ACH processing system organizes data in the ACH file into multiple partitions according to a selected strategy. Each partition includes at least one of the batches. For example, the control module can select a strategy that assigns (a) a fixed number of the batches to each partition, (b) a substantially equal number of batches to each partition, or (c) a substantially equal number of ACH items to each partition. Other strategies for organizing batched data are well known to a person of ordinary skill in the art having the benefit of the present disclosure.
- A processing module of the ACH processing system separately processes each partition in parallel. For example, each of multiple processors associated with the processing module can process at least one of the partitions. Alternatively, multiple of the partitions may be processed on the same processor using application threading. For example, the processing module can utilize one or more java objects, such as IBM WebSphere Application Server's “asynchronous beans” running on a Java 2 Platform Enterprise Edition (“J2EE”) application, to perform the application threading. The processing module can modify threading parameters in the J2EE application to ensure that each processor is not over-loaded or under-loaded during processing.
- During processing, the processing module validates the batches and ACH items and creates at least one output batch for each partition. Each output batch includes information regarding at least one of the ACH items. For example, a particular output batch can include multiple ACH items associated with the same ODFI and/or RDFI. The processing module also may store settlement information for each ACH item.
- The output batches can include ACH items that were successfully validated during processing or ACH items that were not successfully validated during processing. For example, “risk pended” output batches can include information regarding ACH items that were not successfully validated during processing, and non-risk pended output batches can include information regarding ACH items that were successfully validated during processing.
- The control module evaluates the validation results for each partition to determine whether the ACH file is acceptable. If the control module determines that the ACH file is not acceptable, then the ACH operator may return the ACH file to the ODFI, suspend processing of the ACH file, and/or output a notification advising the ODFI and/or an operator of the ACH processing system that the ACH file will not be processed. If the control module determines that the ACH file is acceptable, then the processing module determines whether each output batch is a risk pended output batch or a non-risk pended output batch. The processing module settles the ACH items in the non-risk pended output batches and creates at least one new ACH file for transmitting the settled ACH items to at least one corresponding RDFI.
- The processing module determines whether each risk pended output batch is acceptable for transmission to an RDFI. For example, the processing module can make that determination based on information from one or more operators of the ACH processing system and/or the ODFI. If the processing module determines that a particular risk pended output batch is not acceptable for transmission to an RDFI, then the ACH operator may return the output batch and/or the ACH items contained therein to the ODFI, suspend processing of the output batch and/or ACH items, and/or output a notification advising the ODFI and/or an operator of the ACH processing system that the output batch and/or ACH items will not be processed. If the processing module determines that the risk pended output batch is acceptable for transmission to an RDFI, then the processing module settles the ACH items in the risk pended output batch and creates at least one new ACH file for transmitting the settled ACH items to at least one corresponding RDFI.
- Additional aspects, features, and advantages of the invention will become apparent to those skilled in the art upon consideration of the following detailed description of illustrated embodiments exemplifying the best mode of carrying out the invention as presently perceived.
-
FIG. 1 is a block diagram depicting a system for efficiently processing an ACH file, in accordance with certain exemplary embodiments. -
FIG. 2 is a flow chart depicting a method for efficiently processing an ACH file, in accordance with certain exemplary embodiments. -
FIG. 3 is a flow chart depicting a method for separately processing partitions of an ACH file in parallel, in accordance with certain exemplary embodiments. -
FIG. 4 is a flow chart depicting a method for processing risk pended output batches, in accordance with certain exemplary embodiments. - The invention is directed to systems and methods for efficiently processing ACH payments. In particular, the invention is directed to systems and methods for efficiently processing ACH files by processing batches of ACH payments in parallel.
- The invention includes a computer program that embodies the functions described herein and illustrated in the appended flow charts. However, it should be apparent that there could be many different ways of implementing the invention in computer programming, and the invention should not be construed as limited to any one set of computer program instructions. Further, a skilled programmer would be able to write such a computer program to implement an embodiment of the disclosed invention based on the flow charts and associated description in the application text. Therefore, disclosure of a particular set of program code instructions is not considered necessary for an adequate understanding of how to make and use the invention. The inventive functionality of the claimed computer program will be explained in more detail in the following description read in conjunction with the figures illustrating the program flow.
- Turning now to the drawings, in which like numerals indicate like elements throughout the figures, exemplary embodiments of the invention are described in detail.
-
FIG. 1 is a block diagram depicting asystem 100 for efficiently processing an ACH file, in accordance with certain exemplary embodiments. Thesystem 100 is described below with reference to the methods illustrated inFIGS. 2-4 . -
FIG. 2 is a flow chart depicting amethod 200 for efficiently processing an ACH file, in accordance with certain exemplary embodiments. Theexemplary method 200 is illustrative and, in alternative embodiments of the invention, certain steps can be performed in a different order, in parallel with one another, or omitted entirely, and/or certain additional steps can be performed without departing from the scope and spirit of the invention. Themethod 200 is described below with reference toFIGS. 1 and 2 . - In
step 205, anACH operator 105 receives an ACH file including multiple batches of ACH items. TheACH operator 105 is a Federal Reserve Bank or other entity that receives an ACH file from an originating depository financial institution 102 (“ODFI”) and distributes transaction items within the ACH file to at least one corresponding receiving depository financial institution 115 (“RDFI”). In some cases, theACH operator 105 also may perform settlement functions (crediting and debiting of accounts) for the affectedfinancial institutions - In certain alternative exemplary embodiments, the
ACH operator 105 can receive the ACH file from a third party or “remote” sending point (not shown) operating on behalf of theODFI 102. The third party or remote sending point may be a depository financial institution or a company providing processing services for a depository financial institution. The term “ACH file” is used herein to refer to any collection of batched and/or unbatched ACH items. - In certain exemplary embodiments, the
ACH operator 105 can receive the ACH file via anetwork 104. Thenetwork 104 can include any wired or wireless telecommunication means by which computerized devices can exchange data, including for example, a local area network (LAN), a wide area network (WAN), an intranet, an Internet, or any combination thereof. For example, thenetwork 104 can include the ACH network. - Each batch of the received ACH file includes one or more transaction items. The terms “transaction item” and “ACH item” are used interchangeably herein to refer to any batched electronic payment or payment instruction, whether international or domestic, and/or information associated with a batched electronic payment or payment instruction. For example, a payment or payment instruction can be a credit, a debit, or a rejected or returned transaction.
- In
step 210, aprocessing module 107 of aprocessing system 103 operated by theACH operator 105 performs a preliminary validation of the ACH file. For example, theprocessing module 107 can determine whether the file is properly formatted and/or includes suitable information for processing. In certain exemplary embodiments, theprocessing module 107 can perform this preliminary validation based on one or more rules stored in adatabase 109 of theprocessing system 103. - In
step 215, theprocessing module 107 determines whether to process the ACH file. For example, theprocessing module 107 can determine to process the ACH file if the ACH file is successfully validated instep 210. Similarly, theprocessing module 107 can determine to not process the ACH file if the ACH file is not successfully validated instep 210. - If the
processing module 107 determines instep 215 to not process the ACH file, then themethod 200 branches to step 245, which is discussed below. If theprocessing module 107 determines instep 215 to process the ACH file, then themethod 200 continues to step 220. - In
step 220, acontrol module 108 of theprocessing system 103 selects a partition strategy. The partition strategy is a schema for dividing information within the ACH file into multiple partitions. Each partition includes one or more of the batches of the ACH file. - For example, one partition strategy can be to assign a fixed number of batches to each partition. A second partition strategy can be to assign substantially equal numbers of batches to each of the partitions. A third partition strategy can be to assign batches to the partitions so that each partition includes a substantially equal number of ACH items. A person of ordinary skill in the art having the benefit of the present disclosure will recognize that many other strategies exist for partitioning batches of data.
- In
step 225, thecontrol module 108 organizes the data in the ACH file into multiple partitions according to the strategy selected instep 220. Instep 230, theprocessing module 107 separately processes each partition in parallel. For example, each of multiple processors (not shown) associated with theprocessing module 107 can process at least one of the partitions. Alternatively, multiple of the partitions may be processed on the same processor using application threading. For example, in certain exemplary embodiments, theprocessing module 107 can utilize one or more java objects, such as asynchronous beans running on a Java 2 Platform Enterprise Edition (“J2EE”) application, to perform the application threading. In certain exemplary embodiments, theprocessing module 107 can modify threading parameters in the J2EE application to ensure that each processor is not over-loaded or under-loaded during processing. - During processing, the
processing module 107 validates each batch and ACH item and creates and stores output batches and settlement information for the ACH items. For example, theprocessing module 107 can store the output batches and settlement information in thedatabase 109. Each output batch includes one or more ACH items. For example, all the ACH items in a particular output batch can be associated with thesame RDFI 115 and/orODFI 102. Theprocessing module 107 can use the output batches and settlement information to complete the processing of the ACH items, as described below. In certain exemplary embodiments, theprocessing module 107 can store validation information, such as validation results, for each batch and ACH item in thedatabase 109 of theprocessing system 103. Step 230 is described in more detail below, with reference toFIG. 3 . - In
step 235, thecontrol module 108 reads validation information associated with each partition. For example, thecontrol module 108 can read the validation information from thedatabase 109 of theprocessing system 103. Instep 240, thecontrol module 108 determines whether the ACH file is acceptable, based on the validation information read instep 235. For example, thecontrol module 108 may determine that an ACH file is not acceptable if a large quantity of validation errors were identified instep 235. Thecontrol module 108 also may determine that an ACH file is not acceptable if one or more significant validation errors were identified instep 235. In certain exemplary embodiments, theprocessing module 107 can make the decision ofstep 240 based on one or more rules stored in thedatabase 109. In some cases, thecontrol module 108 may determine that an ACH file is not acceptable even if the ACH file successfully completed the preliminary validation ofstep 215. - If the
control module 108 determines instep 240 that the ACH file is not acceptable, then themethod 200 branches to step 245. In step 245, thecontrol module 108 rejects the ACH file for further processing. For example, thecontrol module 108 can return the ACH file to theODFI 102 via thenetwork 104, suspend processing of the ACH file, and/or output a notification advising theODFI 102 and/or an operator of theACH processing system 103 that the ACH file will not be processed. In certain exemplary embodiments, theODFI 102 and/or operator can override the rejection decision if it determines that the ACH file actually should be processed. - If the
control module 108 determines instep 240 that the ACH file is acceptable, then themethod 200 continues to step 246. Instep 246, theprocessing module 107 determines whether each output batch (stored in step 230) is a “risk pended” output batch or a non-risk pended output batch. A risk pended output batch is an electronic file or record that includes information regarding at least one ACH item that was not successfully validated (in step 230). Similarly, a non-risk pended output batch is an electronic file or record that includes information regarding at least one ACH item that has been successfully validated (in step 230). In certain exemplary embodiments, a “flag” or indicator within, or associated with, a particular output batch can indicate whether the output batch is a risk pended output batch or a non-risk pended output batch. - In
step 250, theprocessing module 107 settles each ACH item in the non-risk pended output batches using the settlement information stored instep 230. For example, theprocessing module 107 can cause accounts associated with theODFI 102 andRDFI 115 associated with each ACH item to be credited and/or debited in accordance with the settlement information. - In
step 255, theprocessing module 107 creates at least one new ACH file. Each ACH file includes information regarding at least one of the ACH items settled instep 250. For example, each ACH file can include one or more of the non-risk pended output batches. - In certain exemplary embodiments, the
processing module 107 can create at least one new ACH file for eachRDFI 115. Each ACH file for aparticular RDFI 115 can include one or more batches of ACH items associated with theRDFI 115. Instep 260, theprocessing module 107 transmits each new ACH file to itscorresponding RDFI 115. For example, theprocessing module 107 can transmit the new ACH file(s) via thenetwork 104. - In
step 265, theprocessing module 107 determines whether any risk pended output batches were identified instep 246. If so, then themethod 200 branches to step 270, which is described below with reference toFIG. 4 . If theprocessing module 107 determines that there were not any risk pended output batches identified instep 246, then themethod 200 ends. -
FIG. 3 is a flow chart depicting amethod 230 for separately processing partitions of an ACH file in parallel, in accordance with certain exemplary embodiments, as referred to instep 230 ofFIG. 2 . Theexemplary method 230 is illustrative and, in alternative embodiments of the invention, certain steps can be performed in a different order, in parallel with one another, or omitted entirely, and/or certain additional steps can be performed without departing from the scope and spirit of the invention. Themethod 230 is described below with reference toFIGS. 1-3 . - The
processing module 107 typically performs multiple instances of themethod 230 in parallel, with each instance being associated with a different one of the partitions of the ACH file. Instep 305, theprocessing module 107 selects a batch of the partition. Instep 310, theprocessing module 107 validates the batch and stores validation results in thedatabase 109. For example, theprocessing module 107 can validate the batch by determining whether the batch is properly formatted and/or includes suitable information for processing. In certain exemplary embodiments, theprocessing module 107 can perform this validation based on one or more rules stored in thedatabase 109. For example, the stored validation results can include information regarding any validation errors identified during validation and/or information indicating that the batch was successfully validated, if appropriate. - In
step 315, theprocessing module 107 determines whether the batch is acceptable, based on the validation performed instep 310. In certain exemplary embodiments, theprocessing module 107 can make the decision ofstep 315 based on one or more rules stored in thedatabase 109. If theprocessing module 107 determines instep 315 that the batch is not acceptable, then themethod 230 branches to step 330, which is discussed below. - If the
processing module 107 determines instep 315 that the batch is acceptable, then themethod 230 continues to step 320. Instep 320, theprocessing module 107 validates ACH items in the batch and stores validation results in thedatabase 109. For example, theprocessing module 107 can validate each ACH item by determining whether the ACH item is properly formatted and/or includes suitable information for processing. In certain exemplary embodiments, theprocessing module 107 can perform this validation based on one or more rules stored in thedatabase 109. For example, the stored validation results can include information regarding any validation errors identified during validation and/or information identifying each successfully validated ACH item. - In
step 325, theprocessing module 107 creates one or more output batches. Each output batch is an electronic file or record that includes information regarding at least one ACH item of the partition. For example, all the ACH items in a particular output batch can be associated with thesame RDFI 115 and/orODFI 102. - In certain exemplary embodiments, the
processing module 107 can create “risk pended” and “non-risk pended” output batches. A risk pended output batch is an electronic file or record that includes information regarding at least one ACH item that was not successfully validated. Similarly, a non-risk pended output batch is an electronic file or record that includes information regarding at least one ACH item that has been successfully validated. In certain exemplary embodiments, a “flag” or indicator within, or associated with, a particular output batch can indicate whether the output batch is a risk pended output batch or a non-risk pended output batch. - In
step 330, theprocessing module 107 stores the output batches in thedatabase 109. Instep 335, theprocessing module 107 determines whether to select another batch. If so, then themethod 230 branches back to step 305 to repeat steps 305-330 for another batch. If theprocessing module 107 determines instep 335 to not select another batch, then themethod 230 continues to step 340. - In
step 340, theprocessing module 107 stores settlement information for each of the output batches in thedatabase 109. For example, the settlement information may include information useful in settling payment of each ACH item included in the output batches, such as an aggregate credit or debit amount for eachODFI 102 and/orRDFI 115, a credit or debit amount for each ACH item, an American Bankers Association (“ABA”) number associated with eachODFI 102, and/or an ABA number associated with eachRDFI 115. Themethod 230 continues to step 235 ofFIG. 2 , discussed above. -
FIG. 4 is a flow chart depicting amethod 270 for processing risk pended output batches, in accordance with certain exemplary embodiments, as referred to instep 270 ofFIG. 2 . Theexemplary method 270 is illustrative and, in alternative embodiments of the invention, certain steps can be performed in a different order, in parallel with one another, or omitted entirely, and/or certain additional steps can be performed without departing from the scope and spirit of the invention. Themethod 270 is described below with reference toFIGS. 1-4 . - In
step 405, the processing module identifies at least one risk pended output batch. Instep 410, the processing module determines whether each identified risk pended output batch risk is acceptable for transmission to anRDFI 115. In certain exemplary embodiments, theprocessing module 107 can make that determination based on information from one or more operators of theACH processing system 103 and/or theODFI 102. For example, theprocessing module 107 can transmit at least a portion of each risk pended output batch to itscorresponding ODFI 102 for review, via thenetwork 104. The operator(s) of theODFI 102 and/orACH processing system 103 can evaluate whether each risk pended output batch is suitable for transmission to theRDFI 115 based on one or more rules. For example, the rules may include certain formatting and/or content requirements for each batch and/or ACH item therein. The rules may be the same or different from rules used in validating the ACH file, partitions, and ACH items insteps FIG. 2 . In certain exemplary embodiments, the rules can be stored in a database, such as thedatabase 109. - In
step 415, theprocessing module 107 rejects any risk pended ACH items determined instep 410 to not be acceptable for transmission. For example, theprocessing module 107 can return each rejected output and/or the ACH items contained therein to itscorresponding ODFI 102, suspend processing of the output batch and/or ACH items, and/or output a notification advising theODFI 102 and/or an operator of theACH processing system 103 that the output batch and/or ACH items will not be processed. - In
step 420, theprocessing module 107 settles each ACH item in each risk pended output batch, if any, determined instep 410 to be acceptable for transmission. For example, theprocessing module 107 can cause accounts associated with theODFI 102 andRDFI 115 of each ACH item to be credited and/or debited in accordance with information in the ACH item. Similar to step 255 ofFIG. 2 , instep 425, theprocessing module 107 creates at least one new ACH file for eachRDFI 115 associated with one or more of the ACH items settled instep 420. Each new ACH file for aparticular RDFI 115 includes one or more batches of acceptable ACH items associated with theRDFI 115. Instep 430, theprocessing module 107 transmits each new ACH file to itscorresponding RDFI 115. For example, theprocessing module 107 can transmit the new ACH file(s) via thenetwork 104. - It will be appreciated that the exemplary embodiments of the invention overcome the limitations of the prior art. From the description of the exemplary embodiments, equivalents of the elements shown therein and ways of constructing other embodiments of the invention will be apparent to practitioners of the art. Many other modifications, features and embodiments of the invention will become evident to those of skill in the art. It should be appreciated, therefore, that many aspects of the invention were described above by way of example only and are not intended as required or essential elements of the invention unless explicitly stated otherwise. Accordingly, it should be understood that the foregoing relates only to certain embodiments of the invention and that numerous changes can be made therein without departing from the spirit and scope of the invention.
Claims (20)
1. A computer-implemented method for processing automated clearinghouse (“ACH”) payments, comprising the steps of:
receiving an ACH file comprising a plurality of batches of ACH items, each of the batches comprising at least one of the ACH items;
organizing data in the ACH file into a plurality of partitions, each partition comprising at least one of the batches; and
separately processing each partition in parallel to generate at least one new batch.
2. The computer-implemented method of claim 1 , wherein the step of organizing data in the ACH file comprises the steps of:
selecting a strategy for organizing data in the ACH file; and
organizing data in the ACH file into the plurality of partitions according to the selected strategy.
3. The computer-implemented method of claim 1 , wherein the step of organizing data in the ACH file comprises the step of assigning a fixed number of the batches to each of the partitions.
4. The computer-implemented method of claim 1 , wherein the step of organizing data in the ACH file comprises the step of assigning a substantially equal number of batches to each of the partitions.
5. The computer-implemented method of claim 1 , wherein the step of organizing data in the ACH file comprises the step of assigning a substantially equal number of ACH items to each of the partitions.
6. The computer-implemented method of claim 1 , wherein the step of separately processing each partition in parallel comprises the step of storing at least one new batch for each partition, each new batch comprising information regarding at least one ACH item from the new batch's partition.
7. The computer-implemented method of claim 1 , wherein the step of separately processing each partition in parallel comprises the step of storing settlement information for each partition.
8. The computer-implemented method of claim 1 , wherein the step of separately processing each partition in parallel comprises the steps of:
for each partition,
determining whether each ACH item of the partition is suitable for processing; and
creating at least one new batch in response to determining that any ACH item of the partition is suitable for processing, each new batch comprising at least one ACH item.
9. The computer-implemented method of claim 8 , further comprising the steps of:
determining whether the ACH file is suitable for processing based on whether the ACH items of the partitions were determined to be suitable for processing; and
creating at least one new ACH file in response to determining that the ACH file is suitable for processing, each new ACH file comprising information regarding at least one of the at least one new batch.
10. The computer-implemented method of claim 9 , further comprising the step of transmitting each new ACH file to a corresponding receiving depository financial institution.
11. A computer-implemented method for processing automated clearinghouse (“ACH”) payments, comprising the steps of:
receiving an ACH file comprising a plurality of batches of ACH items, each of the batches comprising at least one of the ACH items;
selecting a strategy for organizing data in the ACH file into a plurality of partitions, each partition comprising at least one of the batches, the strategy comprising one of assigning a fixed number of the batches to each of the partitions, assigning a substantially equal number of batches to each of the partitions, and assigning a substantially equal number of ACH items to each of the partitions;
organizing data in the ACH file into the plurality of partitions according to the selected strategy; and
separately processing each partition in parallel to generate at least one new batch.
12. The computer-implemented method of claim 11 , wherein the step of separately processing each partition in parallel comprises the step of storing at least one new batch for each partition, each new batch comprising information regarding at least one ACH item from the new batch's partition.
13. The computer-implemented method of claim 11 , wherein the step of separately processing each partition in parallel comprises the step of storing settlement information for each partition.
14. The computer-implemented method of claim 11 , wherein the step of separately processing each partition in parallel comprises the steps of:
for each partition,
determining whether each ACH item of the partition is suitable for processing; and
creating at least new batch in response to determining that any ACH item of the partition is suitable for processing, each new batch comprising at least one ACH item.
15. The computer-implemented method of claim 14 , further comprising the steps of:
determining whether the ACH file is suitable for processing based on whether the ACH items of the partitions were determined to be suitable for processing; and
creating at least one new ACH file in response to determining that the ACH file is suitable for processing, each new ACH file comprising information regarding at least one of the at least one new batch.
16. The computer-implemented method of claim 15 , further comprising the step of transmitting each new ACH file to a corresponding receiving depository financial institution.
17. A computer-implemented method for processing automated clearinghouse (“ACH”) payments, comprising the steps of:
receiving an ACH file comprising a plurality of batches of ACH items, each of the batches comprising at least one of the ACH items;
organizing data in the ACH file into a plurality of partitions, each partition comprising at least one of the batches;
separately processing each partition in parallel by storing at least one new batch for each partition, each new batch comprising information regarding at least one successfully validated ACH item from the new batch's partition; and
determining whether the ACH file is suitable for processing based on validation information associated with each partition; and
creating at least one new ACH file in response to determining that the ACH file is suitable for processing, each new ACH file comprising information regarding at least one of the at least one new batches.
18. The computer-implemented method of claim 17 , wherein the step of organizing data in the ACH file comprises the steps of:
selecting a strategy for organizing data in the ACH file into the plurality of partitions, each partition comprising at least one of the batches, the strategy comprising one of assigning a fixed number of the batches to each of the partitions, assigning a substantially equal number of batches to each of the partitions, and assigning a substantially equal number of ACH items to each of the partitions; and
organizing data in the ACH file into the plurality of partitions according to the selected strategy.
19. The computer-implemented method of claim 17 , wherein the step of separately processing each partition in parallel further comprises the step of storing settlement information for each partition, the stored settlement information for each of the partitions comprising information regarding at least one successfully validated ACH item from the partition.
20. The computer-implemented method of claim 17 , further comprising the step of transmitting each new ACH file to a corresponding receiving depository financial institution.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/119,262 US20090281946A1 (en) | 2008-05-12 | 2008-05-12 | ACH Payment Processing |
US14/575,291 US9858553B2 (en) | 2008-05-12 | 2014-12-18 | ACH payment processing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/119,262 US20090281946A1 (en) | 2008-05-12 | 2008-05-12 | ACH Payment Processing |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/575,291 Continuation US9858553B2 (en) | 2008-05-12 | 2014-12-18 | ACH payment processing |
Publications (1)
Publication Number | Publication Date |
---|---|
US20090281946A1 true US20090281946A1 (en) | 2009-11-12 |
Family
ID=41267664
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/119,262 Abandoned US20090281946A1 (en) | 2008-05-12 | 2008-05-12 | ACH Payment Processing |
US14/575,291 Active 2029-06-09 US9858553B2 (en) | 2008-05-12 | 2014-12-18 | ACH payment processing |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/575,291 Active 2029-06-09 US9858553B2 (en) | 2008-05-12 | 2014-12-18 | ACH payment processing |
Country Status (1)
Country | Link |
---|---|
US (2) | US20090281946A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8688580B1 (en) * | 2009-12-08 | 2014-04-01 | Xoom Corporation | Expediting electronic funds transfers |
US9898717B2 (en) | 2013-03-25 | 2018-02-20 | Paypal, Inc. | Online remittance system with methodology for predicting disbursement times of online electronic funds transfers |
US9928490B1 (en) * | 2009-01-16 | 2018-03-27 | Wells Fargo Bank, N.A. | System and method for transferring funds |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3602468A4 (en) * | 2017-03-22 | 2021-01-13 | Visa International Service Association | Method, system, and computer program product for flexible settlement decisions |
Citations (95)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3721715A (en) * | 1970-12-10 | 1973-03-20 | Union Oil Co | Alkylation of condensed ring arylols |
US4270042A (en) * | 1977-08-01 | 1981-05-26 | Case John M | Electronic funds transfer system |
US4727243A (en) * | 1984-10-24 | 1988-02-23 | Telenet Communications Corporation | Financial transaction system |
US4823264A (en) * | 1986-05-27 | 1989-04-18 | Deming Gilbert R | Electronic funds transfer system |
US5121945A (en) * | 1988-04-20 | 1992-06-16 | Remittance Technology Corporation | Financial data processing system |
US5448043A (en) * | 1993-02-19 | 1995-09-05 | Fujitsu Limited | Foreign remittance transaction terminal apparatus and foreign remittance transaction system employing the same |
US5532464A (en) * | 1991-07-17 | 1996-07-02 | J. D. Carreker & Associates, Inc. | Electronic check presentment system having a return item notification system incorporated therein |
US5717868A (en) * | 1995-03-07 | 1998-02-10 | Huntington Bancshares Inc. | Electronic payment interchange concentrator |
US5742819A (en) * | 1993-06-04 | 1998-04-21 | Digital Equipment Corporation | System and method for dynamically analyzing and improving the performance of a network |
US5761510A (en) * | 1995-11-07 | 1998-06-02 | Microsoft Corporation | Method for error identification in a program interface |
US5783808A (en) * | 1996-01-11 | 1998-07-21 | J. D. Carreker And Associates, Inc. | Electronic check presentment system having transaction level reconciliation capability |
US5787402A (en) * | 1996-05-15 | 1998-07-28 | Crossmar, Inc. | Method and system for performing automated financial transactions involving foreign currencies |
US5790778A (en) * | 1996-08-07 | 1998-08-04 | Intrinsa Corporation | Simulated program execution error detection method and apparatus |
US5794234A (en) * | 1996-08-14 | 1998-08-11 | The Ec Company | Method and system for providing electronic commerce between incompatible data processing systems |
US5903878A (en) * | 1997-08-20 | 1999-05-11 | Talati; Kirit K. | Method and apparatus for electronic commerce |
US5940813A (en) * | 1996-07-26 | 1999-08-17 | Citibank, N.A. | Process facility management matrix and system and method for performing batch, processing in an on-line environment |
US5946669A (en) * | 1997-09-30 | 1999-08-31 | Lockheed Martin Corporation | Method and apparatus for payment processing using debit-based electronic funds transfer and disbursement processing using addendum-based electronic data interchange |
US5956700A (en) * | 1994-06-03 | 1999-09-21 | Midwest Payment Systems | System and method for paying bills and other obligations including selective payor and payee controls |
US6026379A (en) * | 1996-06-17 | 2000-02-15 | Verifone, Inc. | System, method and article of manufacture for managing transactions in a high availability system |
US6032133A (en) * | 1993-11-01 | 2000-02-29 | Visainternational Service Association | Electronic bill pay system |
US6061665A (en) * | 1997-06-06 | 2000-05-09 | Verifone, Inc. | System, method and article of manufacture for dynamic negotiation of a network payment framework |
US6076064A (en) * | 1992-01-31 | 2000-06-13 | Rose, Jr.; R. Edward | Uniform system for verifying and tracking the title of articles or objects of value |
US6076074A (en) * | 1998-05-05 | 2000-06-13 | The Clearing House Service Company L.L.C. | System and method for intraday netting payment finality |
US6098053A (en) * | 1998-01-28 | 2000-08-01 | Citibank, N.A. | System and method for performing an electronic financial transaction |
US6173272B1 (en) * | 1998-04-27 | 2001-01-09 | The Clearing House Service Company L.L.C. | Electronic funds transfer method and system and bill presentment method and system |
US6205433B1 (en) * | 1996-06-14 | 2001-03-20 | Cybercash, Inc. | System and method for multi-currency transactions |
US6216115B1 (en) * | 1998-09-28 | 2001-04-10 | Benedicto Barrameda | Method for multi-directional consumer purchasing, selling, and transaction management |
US6243689B1 (en) * | 1998-12-29 | 2001-06-05 | Robert G. Norton | System and method for authorizing electronic funds transfer at a point of sale |
US6246999B1 (en) * | 1998-06-19 | 2001-06-12 | First Data Corporation | Financial services account manager system |
US6269345B1 (en) * | 1996-12-03 | 2001-07-31 | Jacques Riboud | Transfer system and method for transferring amounts in different local currencies between a plurality of local banking organization |
US20020016769A1 (en) * | 2000-07-11 | 2002-02-07 | Ellen Barbara | Method and system for on-line payments |
US20020029194A1 (en) * | 2000-09-07 | 2002-03-07 | Richard Lewis | System and method of managing financial transactions over an electronic network |
US20020032642A1 (en) * | 1999-10-13 | 2002-03-14 | Graciela Chichilnisky | Internet based secure virtual exchange and distributed relational database for cross border trading of securities |
US20020035561A1 (en) * | 1999-12-14 | 2002-03-21 | John Archer | Method and system for database query |
US20020038305A1 (en) * | 2000-08-04 | 2002-03-28 | Bottomline Technologies (De) Inc. | Automated invoice receipt and management system |
US20020055904A1 (en) * | 2000-09-22 | 2002-05-09 | Mon Gary Le | Apparatus and method for processing loans |
US20020072942A1 (en) * | 2000-12-07 | 2002-06-13 | Kuykendall James B. | System and method for push-model fund transfers |
US20020077971A1 (en) * | 2000-12-16 | 2002-06-20 | Allred Dale H. | Bank-based international money transfer system |
US20020082962A1 (en) * | 2000-07-27 | 2002-06-27 | Farris Robert G. | Value transfer system for unbanked customers |
US20020087455A1 (en) * | 2000-12-30 | 2002-07-04 | Manolis Tsagarakis | Global foreign exchange system |
US20020099656A1 (en) * | 2000-11-14 | 2002-07-25 | Poh Wong Kenneth Tien | Electronic funds transfer system for processing multiple currency transactions |
US20020120537A1 (en) * | 2001-02-28 | 2002-08-29 | Dominic Morea | Web based system and method for managing business to business online transactions |
US20020128846A1 (en) * | 2001-03-12 | 2002-09-12 | Miller Steven C. | Remote control of a medical device using voice recognition and foot controls |
US20030018554A1 (en) * | 2001-06-07 | 2003-01-23 | Efunds Corporation | Network and process for settling financial transactions |
US20030024979A1 (en) * | 1999-10-26 | 2003-02-06 | First Data Corporation | Money transfer systems and methods for travelers |
US20030033228A1 (en) * | 2000-11-30 | 2003-02-13 | Rowan Bosworth-Davies | Countermeasures for irregularities in financial transactions |
US20030050892A1 (en) * | 2001-09-07 | 2003-03-13 | Efunds Corporation | Electronic point-of-sale check processing method and system |
US20030055756A1 (en) * | 2001-09-17 | 2003-03-20 | Allan Frederick Aley | Method of making money payments |
US20030065594A1 (en) * | 2001-09-28 | 2003-04-03 | Fxotica.Com, Inc. | Multilateral allocated-credit foreign exchange risk hedging method and system |
US20030065941A1 (en) * | 2001-09-05 | 2003-04-03 | Ballard Clinton L. | Message handling with format translation and key management |
US20030070080A1 (en) * | 1991-11-15 | 2003-04-10 | Rosen Sholom S. | Electronic-monetary system |
US20030105710A1 (en) * | 2000-07-11 | 2003-06-05 | Ellen Barbara | Method and system for on-line payments |
US20030126094A1 (en) * | 2001-07-11 | 2003-07-03 | Fisher Douglas C. | Persistent dynamic payment service |
US6598028B1 (en) * | 1999-09-03 | 2003-07-22 | Lynn Sullivan | Computer-implemented universal financial management/translation system and method |
US20030144942A1 (en) * | 2002-01-30 | 2003-07-31 | Sobek Michael F. | Methods and systems for facilitating investment transactions and accounting for banks and credit unions |
US20030158811A1 (en) * | 2001-07-18 | 2003-08-21 | Ventanex | System and method for rules based electronic funds transaction processing |
US6615258B1 (en) * | 1997-09-26 | 2003-09-02 | Worldcom, Inc. | Integrated customer interface for web based data management |
US20030167237A1 (en) * | 2002-03-04 | 2003-09-04 | First Data Corporation | Money transfer evaluation systems and methods |
US20030167223A1 (en) * | 2002-03-01 | 2003-09-04 | Financial Fusion, Inc., A Wholly-Owned Subsidiary Of Sybase, Inc. | System with methodology for improved transmission of financial information |
US20030177087A1 (en) * | 2001-11-28 | 2003-09-18 | David Lawrence | Transaction surveillance |
US20030182227A1 (en) * | 2002-03-25 | 2003-09-25 | Eri Guzman | Payment monitoring system |
US6629081B1 (en) * | 1999-12-22 | 2003-09-30 | Accenture Llp | Account settlement and financing in an e-commerce environment |
US20040002914A1 (en) * | 2002-06-26 | 2004-01-01 | Jacques Munro | Method for extended term financing using time drafts |
US20040006533A1 (en) * | 2001-03-20 | 2004-01-08 | David Lawrence | Systems and methods for managing risk associated with a geo-political area |
US20040024709A1 (en) * | 2002-08-05 | 2004-02-05 | Yu Paul D. | System and method for determining the identity of a party associated with a transaction |
US20040030621A1 (en) * | 2002-08-07 | 2004-02-12 | Cobb Keith B. | Method of reconciling credit union corporate accounts |
US20040034594A1 (en) * | 2002-04-23 | 2004-02-19 | Thomas George F. | Payment identification code and payment system using the same |
US20040078328A1 (en) * | 2002-02-07 | 2004-04-22 | Talbert Vincent W. | Method and system for completing a transaction between a customer and a merchant |
US20040078332A1 (en) * | 2002-03-14 | 2004-04-22 | Ferguson Ronald Gene | System and method for purchasing goods and services through data network access points over a point of sale network |
US20040083167A1 (en) * | 1991-07-25 | 2004-04-29 | Kight Peter J. | Flexible integrated electronic bill presentment and payment |
US20040093305A1 (en) * | 1991-07-25 | 2004-05-13 | Checkfree Corporation | Electronic payments with risk based selection of type of debiting of the payer's deposit account |
US20040109596A1 (en) * | 2002-12-10 | 2004-06-10 | Ncr Corporation | Method of providing an indication of quality of a document image and an apparatus therefor |
US20040117299A1 (en) * | 2002-12-17 | 2004-06-17 | First Data Corporation | Method and apparatus for screening financial transactions |
US6754640B2 (en) * | 2000-10-30 | 2004-06-22 | William O. Bozeman | Universal positive pay match, authentication, authorization, settlement and clearing system |
US20040128240A1 (en) * | 2002-10-07 | 2004-07-01 | Yusin Wendy E. | Method and system for managing financial transactions |
US20040138973A1 (en) * | 2003-01-14 | 2004-07-15 | American Express Travel Related Services Company, Inc. | Method and system for exchange of currency related instructions |
US20040143621A1 (en) * | 2002-08-09 | 2004-07-22 | Fredrickson Carol A. | International and domestic collection system |
US20040148225A1 (en) * | 2003-01-28 | 2004-07-29 | Conexant Systems, Inc. | Point of sale modem for high-speed communications |
US20040153403A1 (en) * | 2000-08-17 | 2004-08-05 | Mamoud Sadre | Open clearing system |
US20050004872A1 (en) * | 2003-07-03 | 2005-01-06 | Federal Reserve Bank Of Minneapolis | Method and system for conducting international electronic financial transactions |
US20050021454A1 (en) * | 2001-10-12 | 2005-01-27 | Ronald Joseph Karpovich | Data processing system for managing and processing foreign exchange transactions |
US6856970B1 (en) * | 2000-09-26 | 2005-02-15 | Bottomline Technologies | Electronic financial transaction system |
US20050038743A1 (en) * | 2003-08-11 | 2005-02-17 | Jennifer Stanley | Coupon payment system |
US20050044043A1 (en) * | 2002-10-31 | 2005-02-24 | Federal Reserve Bank Of Atlanta | Searching for and identifying automated clearing house transactions by transaction type |
US6868408B1 (en) * | 1994-04-28 | 2005-03-15 | Citibank, N.A. | Security systems and methods applicable to an electronic monetary system |
US6873972B1 (en) * | 2000-08-01 | 2005-03-29 | General Electric Company | Systems and methods for credit line monitoring |
US20050086136A1 (en) * | 2003-09-30 | 2005-04-21 | Federal Reserve Bank Of Atlanta | Value tracking and reporting of automated clearing house transactions |
US6892184B1 (en) * | 2000-06-19 | 2005-05-10 | E4X Inc. | System and method for multiple currency transactions |
US7004382B2 (en) * | 2002-08-02 | 2006-02-28 | Sandru Calin A | Payment validation network |
US7016876B1 (en) * | 1999-12-29 | 2006-03-21 | First Data Corporation | System and method for utilizing an exclusion list database for casinos |
US7330835B2 (en) * | 2002-10-31 | 2008-02-12 | Federal Reserve Bank Of Minneapolis | Method and system for tracking and reporting automated clearing house transaction status |
US7333953B1 (en) * | 2000-10-31 | 2008-02-19 | Wells Fargo Bank, N.A. | Method and apparatus for integrated payments processing and decisioning for internet transactions |
US20090157550A1 (en) * | 2007-12-18 | 2009-06-18 | Federal Reserve Bank Of Atlanta | System and method for managing foreign payments using separate messaging and settlement mechanisms |
US7580886B1 (en) * | 2004-09-15 | 2009-08-25 | Federal Reserve Bank Of Atlanta | Managing foreign payments in an international ACH |
US7680737B2 (en) * | 2006-07-06 | 2010-03-16 | Moneygram International, Inc. | Systems and methods for processing payments with payment review features |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5175682A (en) | 1990-12-14 | 1992-12-29 | Verifone, Inc. | Check system and method including prioritizing checks for transmission to banks for processing |
US5691524A (en) | 1991-07-17 | 1997-11-25 | J.D. Carreker And Associates, Inc. | Electronic check presentment system having a non-ECP exceptions notification system incorporated therein |
US5799087A (en) | 1994-04-28 | 1998-08-25 | Citibank, N.A. | Electronic-monetary system |
US5825003A (en) | 1995-07-24 | 1998-10-20 | Citicorp Development Center | Customer-directed, automated process for transferring funds between accounts using a holding account and local processing |
US5852812A (en) | 1995-08-23 | 1998-12-22 | Microsoft Corporation | Billing system for a network |
CA2236046C (en) | 1995-11-21 | 2003-01-21 | Citibank, N.A. | Foreign exchange transaction system |
US5848400A (en) | 1996-07-01 | 1998-12-08 | Sun Microsystems, Inc. | Electronic check exchange, clearing and settlement system |
US5963647A (en) | 1997-02-14 | 1999-10-05 | Citicorp Development Center, Inc. | Method and system for transferring funds from an account to an individual |
US6304860B1 (en) | 1997-10-03 | 2001-10-16 | Joseph B. Martin, Jr. | Automated debt payment system and method using ATM network |
US6128602A (en) | 1997-10-27 | 2000-10-03 | Bank Of America Corporation | Open-architecture system for real-time consolidation of information from multiple financial systems |
US6721715B2 (en) | 1998-03-30 | 2004-04-13 | Martin A. Nemzow | Method and apparatus for localizing currency valuation independent of the original and objective currencies |
US6141651A (en) | 1998-06-19 | 2000-10-31 | First Data Corporation | Funding and settlement integrated suspense processing system |
US7269575B1 (en) | 1998-11-13 | 2007-09-11 | Jpmorgan Chase Bank, N.A. | System and method for processing foreign currency payment instructions contained in bulk files |
AU1817200A (en) | 1998-11-13 | 2000-06-05 | Chase Manhattan Bank, The | A system and method for processing foreign currency payment instructions |
AU1960101A (en) | 1999-12-29 | 2001-07-16 | Paymap, Inc. | Method and apparatus for mapping sources and uses of consumer funds |
US6829590B1 (en) | 2000-01-31 | 2004-12-07 | Goldman, Sachs & Co. | Enhanced online sales risk management system |
US20010034702A1 (en) | 2000-02-04 | 2001-10-25 | Mockett Gregory P. | System and method for dynamically issuing and processing transaction specific digital credit or debit cards |
US7120606B1 (en) | 2000-02-10 | 2006-10-10 | Jove Corporation | System and method for secure electronic fund transfers |
US7822656B2 (en) | 2000-02-15 | 2010-10-26 | Jpmorgan Chase Bank, N.A. | International banking system and method |
WO2001084276A2 (en) | 2000-05-01 | 2001-11-08 | American Express Travel Related Services Company, Inc. | International payment system and method |
US6736314B2 (en) | 2000-06-09 | 2004-05-18 | Telecom Usa | Methods and systems for transferring funds |
CA2354372A1 (en) | 2001-02-23 | 2002-08-23 | Efunds Corporation | Electronic payment and authentication system with debit and identification data verification and electronic check capabilities |
SG111911A1 (en) | 2001-02-26 | 2005-06-29 | Fairex Internat Financial Syst | Method and system for facilitating foreign currency exchange transactions over a network |
US20030233319A1 (en) | 2001-03-20 | 2003-12-18 | David Lawrence | Electronic fund transfer participant risk management clearing |
US7464057B2 (en) | 2001-03-30 | 2008-12-09 | Citibank, N.A. | Method and system for multi-currency escrow service for web-based transactions |
US7103577B2 (en) | 2001-03-31 | 2006-09-05 | First Data Corporation | Systems and methods for staging transactions, payments and collections |
US8407143B2 (en) | 2002-03-27 | 2013-03-26 | The Western Union Company | International negotiable instrument payment |
US20030187783A1 (en) | 2002-03-27 | 2003-10-02 | First Data Corporation | Systems and methods to monitor credit fraud |
US20030208439A1 (en) | 2002-05-03 | 2003-11-06 | Rast Rodger H. | Automated soft limit control of electronic transaction accounts |
US7398249B2 (en) | 2002-06-06 | 2008-07-08 | The Bank Of New York Mellon Corporation | ACH debit blocking method and system |
US7689483B2 (en) | 2003-05-20 | 2010-03-30 | Amegy Bank of Texas | System to facilitate payments for a customer through a foreign bank, software, business methods, and other related methods |
US8417636B2 (en) | 2003-09-30 | 2013-04-09 | Federal Reserve Bank Of Atlanta | Approving ACH operator processing of ACH payments based on an originating depository financial institution's approved originator list |
US8239319B2 (en) | 2004-03-22 | 2012-08-07 | The Western Union Company | Equipment to facilitate money transfers into bank accounts |
-
2008
- 2008-05-12 US US12/119,262 patent/US20090281946A1/en not_active Abandoned
-
2014
- 2014-12-18 US US14/575,291 patent/US9858553B2/en active Active
Patent Citations (99)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3721715A (en) * | 1970-12-10 | 1973-03-20 | Union Oil Co | Alkylation of condensed ring arylols |
US4270042A (en) * | 1977-08-01 | 1981-05-26 | Case John M | Electronic funds transfer system |
US4727243A (en) * | 1984-10-24 | 1988-02-23 | Telenet Communications Corporation | Financial transaction system |
US4823264A (en) * | 1986-05-27 | 1989-04-18 | Deming Gilbert R | Electronic funds transfer system |
US5121945A (en) * | 1988-04-20 | 1992-06-16 | Remittance Technology Corporation | Financial data processing system |
US5532464A (en) * | 1991-07-17 | 1996-07-02 | J. D. Carreker & Associates, Inc. | Electronic check presentment system having a return item notification system incorporated therein |
US20040083167A1 (en) * | 1991-07-25 | 2004-04-29 | Kight Peter J. | Flexible integrated electronic bill presentment and payment |
US20040093305A1 (en) * | 1991-07-25 | 2004-05-13 | Checkfree Corporation | Electronic payments with risk based selection of type of debiting of the payer's deposit account |
US20030070080A1 (en) * | 1991-11-15 | 2003-04-10 | Rosen Sholom S. | Electronic-monetary system |
US6076064A (en) * | 1992-01-31 | 2000-06-13 | Rose, Jr.; R. Edward | Uniform system for verifying and tracking the title of articles or objects of value |
US5448043A (en) * | 1993-02-19 | 1995-09-05 | Fujitsu Limited | Foreign remittance transaction terminal apparatus and foreign remittance transaction system employing the same |
US5742819A (en) * | 1993-06-04 | 1998-04-21 | Digital Equipment Corporation | System and method for dynamically analyzing and improving the performance of a network |
US6408284B1 (en) * | 1993-11-01 | 2002-06-18 | Visa International Service Association | Electronic bill pay system for consumers to generate messages directing financial institutions to pay a biller's bill |
US6032133A (en) * | 1993-11-01 | 2000-02-29 | Visainternational Service Association | Electronic bill pay system |
US6868408B1 (en) * | 1994-04-28 | 2005-03-15 | Citibank, N.A. | Security systems and methods applicable to an electronic monetary system |
US5956700A (en) * | 1994-06-03 | 1999-09-21 | Midwest Payment Systems | System and method for paying bills and other obligations including selective payor and payee controls |
US5717868A (en) * | 1995-03-07 | 1998-02-10 | Huntington Bancshares Inc. | Electronic payment interchange concentrator |
US5761510A (en) * | 1995-11-07 | 1998-06-02 | Microsoft Corporation | Method for error identification in a program interface |
US5783808A (en) * | 1996-01-11 | 1998-07-21 | J. D. Carreker And Associates, Inc. | Electronic check presentment system having transaction level reconciliation capability |
US5787402A (en) * | 1996-05-15 | 1998-07-28 | Crossmar, Inc. | Method and system for performing automated financial transactions involving foreign currencies |
US6205433B1 (en) * | 1996-06-14 | 2001-03-20 | Cybercash, Inc. | System and method for multi-currency transactions |
US6026379A (en) * | 1996-06-17 | 2000-02-15 | Verifone, Inc. | System, method and article of manufacture for managing transactions in a high availability system |
US5940813A (en) * | 1996-07-26 | 1999-08-17 | Citibank, N.A. | Process facility management matrix and system and method for performing batch, processing in an on-line environment |
US5790778A (en) * | 1996-08-07 | 1998-08-04 | Intrinsa Corporation | Simulated program execution error detection method and apparatus |
US5794234A (en) * | 1996-08-14 | 1998-08-11 | The Ec Company | Method and system for providing electronic commerce between incompatible data processing systems |
US6269345B1 (en) * | 1996-12-03 | 2001-07-31 | Jacques Riboud | Transfer system and method for transferring amounts in different local currencies between a plurality of local banking organization |
US6061665A (en) * | 1997-06-06 | 2000-05-09 | Verifone, Inc. | System, method and article of manufacture for dynamic negotiation of a network payment framework |
US5903878A (en) * | 1997-08-20 | 1999-05-11 | Talati; Kirit K. | Method and apparatus for electronic commerce |
US6615258B1 (en) * | 1997-09-26 | 2003-09-02 | Worldcom, Inc. | Integrated customer interface for web based data management |
US6119107A (en) * | 1997-09-30 | 2000-09-12 | Lockheed Martin Corporation | Method and apparatus for payment processing using debit-based electronic funds transfer and disbursement processing using addendum-based electronic data interchange |
US5946669A (en) * | 1997-09-30 | 1999-08-31 | Lockheed Martin Corporation | Method and apparatus for payment processing using debit-based electronic funds transfer and disbursement processing using addendum-based electronic data interchange |
US6098053A (en) * | 1998-01-28 | 2000-08-01 | Citibank, N.A. | System and method for performing an electronic financial transaction |
US6173272B1 (en) * | 1998-04-27 | 2001-01-09 | The Clearing House Service Company L.L.C. | Electronic funds transfer method and system and bill presentment method and system |
US6076074A (en) * | 1998-05-05 | 2000-06-13 | The Clearing House Service Company L.L.C. | System and method for intraday netting payment finality |
US6246999B1 (en) * | 1998-06-19 | 2001-06-12 | First Data Corporation | Financial services account manager system |
US6216115B1 (en) * | 1998-09-28 | 2001-04-10 | Benedicto Barrameda | Method for multi-directional consumer purchasing, selling, and transaction management |
US6243689B1 (en) * | 1998-12-29 | 2001-06-05 | Robert G. Norton | System and method for authorizing electronic funds transfer at a point of sale |
US6598028B1 (en) * | 1999-09-03 | 2003-07-22 | Lynn Sullivan | Computer-implemented universal financial management/translation system and method |
US20020032642A1 (en) * | 1999-10-13 | 2002-03-14 | Graciela Chichilnisky | Internet based secure virtual exchange and distributed relational database for cross border trading of securities |
US20030024979A1 (en) * | 1999-10-26 | 2003-02-06 | First Data Corporation | Money transfer systems and methods for travelers |
US20050167481A1 (en) * | 1999-10-26 | 2005-08-04 | First Data Corporation | System and method for transferring money from one country to a stored value account in a different country |
US20020035561A1 (en) * | 1999-12-14 | 2002-03-21 | John Archer | Method and system for database query |
US6629081B1 (en) * | 1999-12-22 | 2003-09-30 | Accenture Llp | Account settlement and financing in an e-commerce environment |
US7016876B1 (en) * | 1999-12-29 | 2006-03-21 | First Data Corporation | System and method for utilizing an exclusion list database for casinos |
US20050177464A1 (en) * | 2000-06-19 | 2005-08-11 | E4X Inc. | System and method for multiple currency transactions |
US6892184B1 (en) * | 2000-06-19 | 2005-05-10 | E4X Inc. | System and method for multiple currency transactions |
US20020016769A1 (en) * | 2000-07-11 | 2002-02-07 | Ellen Barbara | Method and system for on-line payments |
US20030105710A1 (en) * | 2000-07-11 | 2003-06-05 | Ellen Barbara | Method and system for on-line payments |
US20020082962A1 (en) * | 2000-07-27 | 2002-06-27 | Farris Robert G. | Value transfer system for unbanked customers |
US6873972B1 (en) * | 2000-08-01 | 2005-03-29 | General Electric Company | Systems and methods for credit line monitoring |
US20020038305A1 (en) * | 2000-08-04 | 2002-03-28 | Bottomline Technologies (De) Inc. | Automated invoice receipt and management system |
US20040153403A1 (en) * | 2000-08-17 | 2004-08-05 | Mamoud Sadre | Open clearing system |
US20020029194A1 (en) * | 2000-09-07 | 2002-03-07 | Richard Lewis | System and method of managing financial transactions over an electronic network |
US20020055904A1 (en) * | 2000-09-22 | 2002-05-09 | Mon Gary Le | Apparatus and method for processing loans |
US6856970B1 (en) * | 2000-09-26 | 2005-02-15 | Bottomline Technologies | Electronic financial transaction system |
US6754640B2 (en) * | 2000-10-30 | 2004-06-22 | William O. Bozeman | Universal positive pay match, authentication, authorization, settlement and clearing system |
US7333953B1 (en) * | 2000-10-31 | 2008-02-19 | Wells Fargo Bank, N.A. | Method and apparatus for integrated payments processing and decisioning for internet transactions |
US20020099656A1 (en) * | 2000-11-14 | 2002-07-25 | Poh Wong Kenneth Tien | Electronic funds transfer system for processing multiple currency transactions |
US20030033228A1 (en) * | 2000-11-30 | 2003-02-13 | Rowan Bosworth-Davies | Countermeasures for irregularities in financial transactions |
US20020072942A1 (en) * | 2000-12-07 | 2002-06-13 | Kuykendall James B. | System and method for push-model fund transfers |
US20020077971A1 (en) * | 2000-12-16 | 2002-06-20 | Allred Dale H. | Bank-based international money transfer system |
US20020087455A1 (en) * | 2000-12-30 | 2002-07-04 | Manolis Tsagarakis | Global foreign exchange system |
US20020120537A1 (en) * | 2001-02-28 | 2002-08-29 | Dominic Morea | Web based system and method for managing business to business online transactions |
US20020128846A1 (en) * | 2001-03-12 | 2002-09-12 | Miller Steven C. | Remote control of a medical device using voice recognition and foot controls |
US20040006533A1 (en) * | 2001-03-20 | 2004-01-08 | David Lawrence | Systems and methods for managing risk associated with a geo-political area |
US20030018554A1 (en) * | 2001-06-07 | 2003-01-23 | Efunds Corporation | Network and process for settling financial transactions |
US20030126094A1 (en) * | 2001-07-11 | 2003-07-03 | Fisher Douglas C. | Persistent dynamic payment service |
US20030158811A1 (en) * | 2001-07-18 | 2003-08-21 | Ventanex | System and method for rules based electronic funds transaction processing |
US20030065941A1 (en) * | 2001-09-05 | 2003-04-03 | Ballard Clinton L. | Message handling with format translation and key management |
US20030050892A1 (en) * | 2001-09-07 | 2003-03-13 | Efunds Corporation | Electronic point-of-sale check processing method and system |
US20030055756A1 (en) * | 2001-09-17 | 2003-03-20 | Allan Frederick Aley | Method of making money payments |
US20030065594A1 (en) * | 2001-09-28 | 2003-04-03 | Fxotica.Com, Inc. | Multilateral allocated-credit foreign exchange risk hedging method and system |
US20050021454A1 (en) * | 2001-10-12 | 2005-01-27 | Ronald Joseph Karpovich | Data processing system for managing and processing foreign exchange transactions |
US20030177087A1 (en) * | 2001-11-28 | 2003-09-18 | David Lawrence | Transaction surveillance |
US20030144942A1 (en) * | 2002-01-30 | 2003-07-31 | Sobek Michael F. | Methods and systems for facilitating investment transactions and accounting for banks and credit unions |
US20040078328A1 (en) * | 2002-02-07 | 2004-04-22 | Talbert Vincent W. | Method and system for completing a transaction between a customer and a merchant |
US20030167223A1 (en) * | 2002-03-01 | 2003-09-04 | Financial Fusion, Inc., A Wholly-Owned Subsidiary Of Sybase, Inc. | System with methodology for improved transmission of financial information |
US20030167237A1 (en) * | 2002-03-04 | 2003-09-04 | First Data Corporation | Money transfer evaluation systems and methods |
US20040078332A1 (en) * | 2002-03-14 | 2004-04-22 | Ferguson Ronald Gene | System and method for purchasing goods and services through data network access points over a point of sale network |
US20030182227A1 (en) * | 2002-03-25 | 2003-09-25 | Eri Guzman | Payment monitoring system |
US20040034594A1 (en) * | 2002-04-23 | 2004-02-19 | Thomas George F. | Payment identification code and payment system using the same |
US20040002914A1 (en) * | 2002-06-26 | 2004-01-01 | Jacques Munro | Method for extended term financing using time drafts |
US7004382B2 (en) * | 2002-08-02 | 2006-02-28 | Sandru Calin A | Payment validation network |
US20040024709A1 (en) * | 2002-08-05 | 2004-02-05 | Yu Paul D. | System and method for determining the identity of a party associated with a transaction |
US20040030621A1 (en) * | 2002-08-07 | 2004-02-12 | Cobb Keith B. | Method of reconciling credit union corporate accounts |
US20040143621A1 (en) * | 2002-08-09 | 2004-07-22 | Fredrickson Carol A. | International and domestic collection system |
US20040128240A1 (en) * | 2002-10-07 | 2004-07-01 | Yusin Wendy E. | Method and system for managing financial transactions |
US20050044043A1 (en) * | 2002-10-31 | 2005-02-24 | Federal Reserve Bank Of Atlanta | Searching for and identifying automated clearing house transactions by transaction type |
US7330835B2 (en) * | 2002-10-31 | 2008-02-12 | Federal Reserve Bank Of Minneapolis | Method and system for tracking and reporting automated clearing house transaction status |
US20040109596A1 (en) * | 2002-12-10 | 2004-06-10 | Ncr Corporation | Method of providing an indication of quality of a document image and an apparatus therefor |
US20040117299A1 (en) * | 2002-12-17 | 2004-06-17 | First Data Corporation | Method and apparatus for screening financial transactions |
US20040138973A1 (en) * | 2003-01-14 | 2004-07-15 | American Express Travel Related Services Company, Inc. | Method and system for exchange of currency related instructions |
US20040148225A1 (en) * | 2003-01-28 | 2004-07-29 | Conexant Systems, Inc. | Point of sale modem for high-speed communications |
US20050004872A1 (en) * | 2003-07-03 | 2005-01-06 | Federal Reserve Bank Of Minneapolis | Method and system for conducting international electronic financial transactions |
US20050038743A1 (en) * | 2003-08-11 | 2005-02-17 | Jennifer Stanley | Coupon payment system |
US20050086136A1 (en) * | 2003-09-30 | 2005-04-21 | Federal Reserve Bank Of Atlanta | Value tracking and reporting of automated clearing house transactions |
US7580886B1 (en) * | 2004-09-15 | 2009-08-25 | Federal Reserve Bank Of Atlanta | Managing foreign payments in an international ACH |
US7680737B2 (en) * | 2006-07-06 | 2010-03-16 | Moneygram International, Inc. | Systems and methods for processing payments with payment review features |
US20090157550A1 (en) * | 2007-12-18 | 2009-06-18 | Federal Reserve Bank Of Atlanta | System and method for managing foreign payments using separate messaging and settlement mechanisms |
Non-Patent Citations (1)
Title |
---|
Abraham Silberschatz and Peter B. Galvin, Operating System Concepts, 1994, Addison-Wesley Publishing Company, Inc., 4th edition, Pages 131-158 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9928490B1 (en) * | 2009-01-16 | 2018-03-27 | Wells Fargo Bank, N.A. | System and method for transferring funds |
US10592877B1 (en) | 2009-01-16 | 2020-03-17 | Wells Fargo Bank, N.A. | System and method for transferring funds |
US11810087B1 (en) | 2009-01-16 | 2023-11-07 | Wells Fargo Bank, N.A. | System and method for transferring funds |
US8688580B1 (en) * | 2009-12-08 | 2014-04-01 | Xoom Corporation | Expediting electronic funds transfers |
US9898717B2 (en) | 2013-03-25 | 2018-02-20 | Paypal, Inc. | Online remittance system with methodology for predicting disbursement times of online electronic funds transfers |
Also Published As
Publication number | Publication date |
---|---|
US20150235186A1 (en) | 2015-08-20 |
US9858553B2 (en) | 2018-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8660920B2 (en) | Managed deposit program | |
US7702559B2 (en) | Methods and apparatus for funding transactions | |
US7580886B1 (en) | Managing foreign payments in an international ACH | |
WO2020132026A1 (en) | Computer-projected risk assessment using voluntarily contributed information | |
US20100125514A1 (en) | Least Cost Routing of Fund Transfer Transactions | |
WO2006026418A2 (en) | Method and system for automated payment authorization and settlement | |
US20100138325A1 (en) | Methods and arrangements involving adaptive auditing and rating for disparate data processing | |
US20140244491A1 (en) | Accelerated payment component for an electronic invoice payment system | |
US20080249934A1 (en) | Computer-based payment transaction system and repository | |
CA2666572A1 (en) | Systems, methods, and computer program products for performing item level transaction processing | |
US20060277129A1 (en) | System and method of transaction settlement and supply chain financing | |
US9858553B2 (en) | ACH payment processing | |
CN103827909A (en) | Systems and methods for global transfers | |
TW201324419A (en) | Collective-FX-dealing server, method for collectively dealing in foreign exchanges, and program for collectively dealing in foreign exchanges | |
US20140052616A1 (en) | Payment system and methods for brokering consumer-pay transactions | |
US8694424B2 (en) | System and method for managing foreign payments using separate messaging and settlement mechanisms | |
CN115423619A (en) | Data processing method, device, system, storage medium and program product | |
US20130046682A1 (en) | Electronic clearing and payment system | |
EP2355029A1 (en) | Electronic clearing and payment system | |
US20070226138A1 (en) | Systems and methods for subscriber to payee cross pollination | |
AU2021101189A4 (en) | Method and Apparatus for Immediate Credit | |
US20240112256A1 (en) | Financial service provision system and simple payment company server therefor | |
CN115797062A (en) | Method and device for selecting payment and remittance route based on rule engine | |
JP2021018736A (en) | Financial product transaction management device, financial product transaction management system, and program | |
EP2355032A1 (en) | Electronic clearing and payment system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: FEDERAL RESERVE BANK OF MINNEAPOLIS, MINNESOTA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DAVIS, PETER A.;PIERCE, KEITH R.;HANTEN, STEPHEN P.;AND OTHERS;REEL/FRAME:021136/0177;SIGNING DATES FROM 20080417 TO 20080424 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |