Creating a modern factoring system is an interesting task, because most of the financial software solutions are old fashioned, and it was worth to upgrade. Systems design is the process of defining the architecture, modules, interfaces, and data for a system to satisfy specified requirements. This part of the project took care of the requirement collection and the description of the specification. Some invoice systems and their processes were tried and examined.
The global and Hungarian view about invoice factoring trends was investigated. First, I needed to have an overall view of the current factoring systems. Surveys and interviews were made at an active financial service provider. Sometimes inconsistent information was collected, but the end of the information gathering the general invoice factoring process was clear.
Parallel to writing this document’s first half, some feasibility studies were managed, which examined that developing a new factoring system will be a good economical decision. Other factors have been examined, where came out the biggest risk are the employees’ attitude changing to a new system. Later the best feedbacks come about the good opportunities creating automatized functions.
The workflow diagrams, user stories, and business process plans were composed after the surveys and interviews. Management methods were selected for each kind of tasks. Using Agile methods at development was giving freedom on selecting tasks and getting a quick response from users. Jira is the tool where the User stories, Epics, and Tasks were to be recorded, after the system specification. This provided a hybrid model of a specification and using an agile development method. Bitrix24 was selected as a framework, which was written in PHP in a modular manner. It specifies the database type, as well.
Modular design, or "modularity in design", is a design approach that subdivides a system into smaller parts called modules, which can be independently created and then used in different systems. A modular system can be characterized by functional partitioning into discrete scalable, reusable modules; rigorous use of well-defined modular interfaces. The factoring system will be also a modular system where the parts will communicate.
Regarding implementation, the main functions of the system were similar for all factor houses (potential buyers), e.g.: notifications, user roles, and main screens. There were parts, which can be parametrized: all the factor houses have some difference in their factoring products and their processes e.g.: approvals, pricing and invoicing. There was another little part of the project, which implemented a master data manager module, containing all the important data from MNB e.g.: BUBOR (Budapest Interbank Offered Rate), LIBOR (London Interbank Offered Rate), EURIBOR (Euro Interbank Offered Rate), currencies rates, etc. The core system get the numbers from the “Master Data Manager” module and calculates the rates using that information.
This factoring system is a well parametrized, easy to set up, user-friendly functional system containing all those roles, what a modern factoring company needed to be integrated into a modern social collaboration tool (Bitrix24). The system is evolving continuously, there are further plans about automatized factoring through API, and so the upcoming tasks are targeted towards the almost fully automatized factoring processes.