Create OCS Invoice On-Demand
The Customer Sales Representative or Finance Department User wants to via CRM / Finance system GUI create Invoice for current billing period. 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 On-Demand creation of the Invoice. The request body contains the Account details and period for which Invoice will be calculated.
The OCS.io starts process which calculates the Invoice, the CRM / Finance system is then notified in standard manner about Invoice has been calculated.
Basic Flow
Step | Actor | Action | Description |
---|---|---|---|
1. |
CSR / FIN User |
Search Account |
Customer Sales Representative or Finance Department User via CRM / Finance GUI searches for an Account for which On-Demand Invoice will be created. |
2. |
CRM / Finance |
Display Search Account |
CRM / Finance System displays result of Search Account 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 createDocument API |
CRM / Finance System calls Create OCS Invoice On-Demand 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 createDocument 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 creating an OCS invoice on-demand:
-
Account must be provided in the request, it must be already created in the system and must be in Deactivated State.
-
Payer must be already created in the system.
Perform Business Logic
-
System internally asynchronously starts Perform On-Demand Invoice Process and acknowledges that process has been started.