Projects:RulesDrivenAccountingEngine/Specifications
Rules driven accounting engine - Functional Specifications
Overview
Purpose
The purpose of this project is to be able to define processes in the Application Dictionary in the same way that windows, tabs and fields are defined by an user.
The initial purpose is to define the rules to make the accounting entries of the documents but it is intended to be able to define any process of the application. Examples of these processes are the import and utilities functionalities or any process of the application like creating an invoice from a shipment.
Scope
The scope of this project is to define the creation of accounting entries from documents but with the idea of generalizing this process.
Design Considerations
The definition of processes is easier to do in a programming language (e.g., Java or script languages) but the intended users of these functionalities are not familiarized with programming. So the idea is to support both methods, be able to introduce script code or fields with the information to process the register.
The process is executed when the document is posted (the accounting process is called). The process assigned to the document is executed.
Assumptions
- Most of the accounting processes should be able to be understood by the user, so the initial templates will be done with fields.
- Anyway, more complex processes or utilities may be developed with Java procedures or scripts, which will be accessible for the user but not intended to be modified by him.
- Every document must have assigned a process for each accounting schema.
- The documents must have an accounting tab. In this tab we include the assignment of a process to the post of a document for an accounting schema.
Dependencies
Background process management (Release 2.50)
Constraints
None.
Glossary
- Process: a set of instructions that perform an operation on database tables.
Functional Requirements
User roles & profiles
The target users for this project are:
- Developer: Develop the initial templates of the processes.
- Consultant: Modifies the processes in the start-up, customizing the behavior for the needs of the customer.
- Users: common users of the application, that can made modifications to the existing processes or even define new processes.
Business process definition
Initially these processes apply to the accounting entries creation.
User stories
Story 1: Definition of invoice accounting
- The financial officer wants to account the sales invoices with the structure he has defined, with an entry for each product, an entry for each tax category and an entry for each payment.
Story 2: Accounting of sales invoices with different accounts
- The financial officer of the company wants to account in different accounts when the customer is national or international and depending of the category of the product.
Story 3: Accounting of remittances
- The financial officer wants to account a remittance grouping all the payments of the same customer.
Functional requirements based on business processes
Process definition
Num | Requirement | Importance | Status |
---|---|---|---|
1.1 | Process definition.
A process definition has the following data:
| Must have | To be planned |
1.2 | Definition process argument.
They are the argument passed to the process. Each process definition argument has the following data:
| Must have | To be planned |
1.3 | Process definition line.
A process must have a process definition line for:
A Process definition line is defined with:
| Must have | To be planned |
1.4 | Process definition field.
A process has the list of fields that it is going to insert or update. There may be also auxiliary fields. A Process definition field is defined with:
| Must have | To be planned |
Process assignment
Num | Requirement | Importance | Status |
---|---|---|---|
2.1 | To assign a process to the post of a document, the documents must have an accounting tab. In this tab must be the following information:
It is possible to assign different processes for the same document and accounting schema. | Must have | To be planned |
Execution of accounting processes
Num | Requirement | Importance | Status |
---|---|---|---|
3.1 | When the accounting post is executed, the application look up in the table of processes of the document to determine which processes must be executed. | Must have | To be planned |
User Interface Mockups
The image below is a mock up of the Process definition screen.
Pending drawing
Technical Requirements
None.
Non-Functional Requirements
None.a