I am looking for information about the direction that needs to be taken to create an accounting application. The application must provide high customization, sometimes it is necessary to change entire processes.
I want to make changes without recompiling the entire application when the client has a specific change request. The internal database will be an SQL database. Most likely, SQL Server Express is for cost reasons. The front interface will be C #.
I am thinking of an event-based system that will have events when various types of actions are taken, such as recordings. Then I will have a plugin that handles the event. I may need to have several processes apply in a specific order to the data before they are finally saved. It should also trigger other processes.
I want my base application to be the same that works for most clients, but has an elegant way to load user processes that other specific clients have.
I am open to all suggestions. Even if they think of completely different ways to solve the problem. Our current development talent is .NET and MS SQL Server. I do not know a software template that can fit this situation.
Additional information: This is not a completely empty slate system; it will have functionality that works for a large number of clients. For various reasons, the requirements vary depending on the state and even at the level of the region and city where adjustment may be required.
I would like to be able to plug in additional pre-compiled modules. When I started exploring possible options, I presented an empty handler that could insert code through a plugin. So let's say, for example, a new entry is entered in the General Ledger that triggers an event. A handler is called, but the handler code comes from a plugin, which may be my initial process, which suits 80% of clients. If the client wants to perform a custom operation, I can add a plugin that completely replaces the original one, or add an additional post-processing step through another plugin after the initial launch. This seems to be a stratification process.
source
share