RFC is an open source initiative for Finance projects. It has reusable components like invoicing, accounting and purchase modules. In this section we will discuss about the invoicing section of the RFC architecture.

RFC stands on a three tier architecture framework. It uses enterprise blocks heavily for data access layer, security, validation etc. The core of RFC is the business logic layer which can be used in a decoupled manner in your project. Currently the data access layer only supports SQL Server.

Currently RFC supports three major section Invoicing, purchase and journal section. Journal section is a double entry accounting system which is the heart of RFC. Any entries made in to invoicing or purchase is finally sent to the journal section.

In the same way other methods of the business component and DAL interact. I am not pasting the code here as the article will become bulky. You can download the project from the codeplex to get a fell of the same.

There are two ASPX pages one is the Invoice entry screen (InvoiceEntry.aspx) and the second is the product selection screen (SelectProducts.aspx). The UI consumes the business object in a very standard format. To get more understanding you can see the ‘setObjectFromUI’ method where all the values from the UI is passed to the business object.

Finally in the button events the operations of the classes like insert , update and delete is called. For instance you can see in the update invoice click event we have called the ‘Update’ operation. Any exceptions raised from the user interface is finally caught and displayed in the error message label.

The whole project goes with the same style of coding business object, DAL and the consumption in the UI. So if you are able to follow the above code you should be able to understand the other part of the project also.

Got it and noted. I understand what you are saying its too small.....Normally when you write a article you think you are on the top and you never get the poor readers view....Good to see negative feedbacks helps to improve.

My team and me are developing a accounting and invoicing application framework so wanted to share it...Agreed the small pussy article is not sufficient to make understand the 1000 lines of code.