Transaction Engine

The heart of the Community Banker system is its transaction engine. The transaction engine is the only way that transaction may be posted into the system either in single transaction pairs or in bulk batches. Logically all transactions belong to a batch. The rules behind processing financial transactions are as follows:

  • All transactions belong to a batch
  • All batches must balance or will be rejected (ie nothing will be posted)
  • A transaction consists of a minimum of a single Debit and a single Credit
  • A batch may contain many transactions
  • A batch must balance by Value Date
  • No transaction or batch may be deleted
  • Transactions may be future dated, but by no more than 31 days eg scheduled payments

The pseudo-code for the process is as follows:

A single transaction consists of a batch with the following info:

BatchId : Unique Identifier
BatchType : eg. online, waste, ACH, etc..
PostedOn : DateTime
PostedBy : eg. UserName, System, etc..

and consists of a debit row:

insert the code here

and a credit row:

insert the code here

Now that we undertsand a transaction, transcations may consist of many rows

page_revision: 2, last_edited: 1201595299|%e %b %Y, %H:%M %Z (%O ago)