Pay Document On-Line
The Customer Sales Representative or Finance Department User wants to via CRM / Finance system GUI mark document as paid online. This operation is available in the CRM / Finance system GUI for users with correct privileges.
The CRM / Finance system via the RESTful API requests for marking the document in the OCS.io as paid. The request body contains the Account details and identification of the document which shall be marked as paid.
The OCS.io marks document as paid, then returns result of the operation as a payload of the response.
The CRM / Finance system presents the result of the operation to the User in the GUI.
Basic Flow
Step | Actor | Action | Description |
---|---|---|---|
1. |
CSR / FIN User |
Search Payment |
Customer Sales Representative or Finance Department User via CRM / Finance GUI searches for a Payment to be paid online. |
2. |
CRM / Finance |
Display Search Payment |
CRM / Finance System displays result of Search Payment to the User. |
3. |
CSR / FIN User |
Request for Operation |
Customer Sales Representative or Finance Department User via CRM / Finance GUI requests for Operation. |
4. |
CRM / Finance |
Call payDocumentOnline API |
CRM / Finance System calls Pay Document On-Line API exposed by OCS.io. |
5. |
OCS.io |
Request Validation |
OCS.io validates Request whether all mandatory attributes are populated, all data types are valid, ENUMs match with definition, etc. Additionally, OCS.io validates Request against Business Logic. This typically includes, that referenced entity exists in the system, entity has proper state, etc. |
6. |
OCS.io |
Perform Business Logic |
OCS.io performs Business Logic implemented for the Use-Case. |
7. |
OCS.io |
Publish Business Transaction |
OCS.io publishes zero to many messages to Streaming Platform that impacted entities have been changed. |
8. |
OCS.io |
Publish Notification |
OCS.io publishes zero to many notifications to Streaming Platform that certain conditions have been met. |
9. |
OCS.io |
Return payDocumentOnline Response |
OCS.io returns Response to the CRM / Finance System. |
10. |
CRM / Finance |
Result of Operation |
CRM / Finance system displays result of the operation to the User. |
11. |
Notification Handler |
Subscribe for Notifications |
Notification Handler subscribes for Notifications to be delivered by Streaming Platform. |
12. |
Notification Handler |
Process Notifications |
Notification Handler process Notifications. This typically includes delivering of Notifications to recipients, storing for audit purposes, etc. |
13. |
Finance System |
Subscribe for Business Transactions |
Finance System subscribes for Business Transactions to be delivered by Streaming Platform. |
14. |
Finance System |
Process Business Transactions |
Finance System process Business Transactions internally. This typically includes storing of changed entities, update indexes, update metrics, etc. |
15. |
DWH |
Subscribe for Business Transactions |
DWH subscribes for Business Transactions to be delivered by Streaming Platform. |
16. |
DWH |
Process Business Transactions |
DWH process Business Transactions internally. This typically includes storing of changed entities, update indexes, update metrics, etc. |
Request Validations
The following validations are performed when registering an online payment for a document:
-
Account must be provided in the request, it must be already created in the system and must not be in Deactivated State.
-
Payer must be already created in the system.
-
Currency must be configured in the system.
-
Document provided in the request, must exist in the system.
-
Document provided in the request, must not be Cancelled.
-
Document provided in the request, must belong to the same Account.
-
Currency provided in the request must be identical with Currency of the Document.
Perform Business Logic
-
System creates Promise To Pay with provided attributes.
-
System creates Incoming Payment to Document Monetary Transaction.
-
System decreases Due Amount on referenced Document by Amount provided in the request (up to Due Amount).