Projects:APR Migration Tool/Functional Documentation
Contents |
APR Migration Tool - Functional Specifications
Overview
This module provides the possibility of migrating all the financial data from the old flow to the new flow implemented by the Advance Payables and Receivables Management module.
Purpose
With this module it is expected to provide an easy way to migrate old live environments to an updated instance using the Advance Payables and Receivables Management module (APR from now on). On the APR module financial entities like Bank, Cash, Settlements, etc. have been replaced by new entities like Financial Accounts, Payments, Payment Methods. The objective of the migration tool is to provide an automatic mechanism to migrate all the data defined on the old entities to the equivalent entities on the new flow. Once the migration is done the instance will be ready to use the new flow.
Scope
This module will deliver a process to migrate data from the old flow to the new flow. This process will be executed once and it won't be possible undo it. It will neither provide a process to migrate data from the new flow to the old flow.
References
Design Considerations
Assumptions
Add here all the decisions that we take regarding the migration tool. All the dos and don'ts:
- The process is one way. Once the process finishes there is no rollback.
- The process can not be repeated. Once the process is run successfully it can not be run again.
- Financial Account is mandatory on Payments, if there isn't a Financial Account of each type (Bank and Cash) with the Default flag set an exception is thrown.
- For the outstanding amount of Invoice and Orders partially paid new Payments will be created in Awaiting Execution status.
Dependencies
Constraints
Management of debt payments pending to be paid.
Glossary
- Old flow: Current Core's financial flow, includes payment rules, debt payments, settlements,...
- New flow: New financial flow implemented by the APR module, this is incompatible with the old flow and when the APR module is installed it is not possible to use the old one.
Functional Requirements
User roles & profiles
System Administrator: Person in charge of maintaining the instance.
Business process definition
Migration of all the data defined on the old flow to the new flow. The result of the process should be an instance ready to work using the new flow entities.
User stories
Functional requirements based on business processes
Add here entities that need to be migrated:
Id | Requirement | Importance | Status |
1.1 | Migration of Payment Methods | Must have | Done |
1.2 | Migration of Financial Accounts | Must have | Done |
1.3 | Business Partners Defaults | Must have | Done |
1.4 | Migration of Orders | Must have | Done |
1.5 | Migration of Invoices | Must have | Done |
1.6 | Migration of Settlements | Must have | Done |
1.7 | Extension Point for invoices:
Don't generate Payment Plan if invoiced order has payments on old flow. | Must have | Not started |
1.8 | Extension Point for invoices and orders:
Avoid reactivation of documents processed with old flow. | Must have | Not started |
User Interface Mockups
The form for launching the migration process is available only for System Administrator role in General Setup || Client || Migration Tool || Migration Tool
The form is very simple.
- Process button: it will launch the migration process. It will be hidden while the process is running not allowing the user to press it again.
- Results area: it shows some steps, one for each entity that will be migrated. If you are familiar with the module management rebuild window this form follows the same approach. The eye (circumference) at the left side will start moving if the corresponding entity is being migrated, if the step finishes successfully it will become in a green tick if an error occurred it will show a red cross.
The following figure shows how the form looks like in the middle of an execution. Notice that the button is not visible and a timer has appeared.
Technical Requirements
Non-Functional Requirements
Open Discussion Items
To open a new discussion item please start a new thread on the forums and put here the link.