Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Current »

Overview

Date: 2023-07-25

Objective: Plan payment method integration

Participants:

Dominika Bieńkowska (Deactivated)
Damian
Seweryn
Kamil
Jan
Oliver
Piotr

Minutes

  1. Validation of flows for on site and digital payments.

  2. Mojaloop Adaptor

Action items

Additional resources

On-site payments flow

Flow

  1. Invoice Generation: An invoice is generated in the system.

  2. Payroll Assignment: Each invoice is subsequently assigned to a specific payroll for processing.

  3. Cash Disbursement Preparation: Upon preparing for disbursement, the system updates the status of the payroll to 'Ongoing'. Meanwhile, the funds for the payroll are readied for distribution.

  4. Payment Execution: The disbursement officer travels to the payment location and proceeds with the manual distribution of funds. Each transaction is carefully documented, likely through a mobile application, to ensure record accuracy.

  5. Upload Payment Proofs: The transaction records collected through the mobile application are uploaded to the system, associating them with their corresponding invoices. As a result, the status of those invoices is updated to 'Awaiting Reconciliation'.

  6. Payroll Reconciliation: Upon the completion of the disbursement process, the payroll in the system undergoes reconciliation. This phase involves freezing the payroll, ensuring no further changes can be made to the associated invoices.

Sequence Diagram:

 UML
@startuml
participant "User" as A
participant "System" as B
participant "Disbursement Officer" as C
participant "Mobile App" as D

A -> B: Generate Payroll
B -> B: Assign Invoice to Payroll
B -> B: Update Payroll Status to 'Ongoing'
note right of B: Disbursement Preparation

C -> B: Travel to Payment Location and Distribute Funds
C -> D: Document Transactions
D -> B: Upload Transaction Records
B -> B: Change Invoice Status to 'Awaiting Reconciliation'

A -> B: Perform Payroll Reconciliation
note right of B: Reconciliation Phase
@enduml

Questions

  • Unsettled Invoices: For invoices that remain unsettled post-disbursement, the system could place these invoices back into a pool for assignment during the next payroll cycle, or handle them according to the specific protocols. What would be desired behavior?

  • Maker-Checker Logic: Should this process also allow maker/checker logic?

  • Role Responsibility: What are actors responsible for creating payroll, uploading data and confirming action?

Digital Payments Flow

Flow

  1. Invoice Generation: An invoice is generated.

  2. Payroll Assignment and Payment Method Selection: The invoices are assigned to a payroll, where the payment method is determined (e.g., mobile payment, bank transfer, or any digital method).

  3. Beneficiary Data Validation (Optional): Given different plans, beneficiary data may vary and it's not always the same. It would be good to have the ability to validate whether a given payment can already be made at this stage - for example, if there is a bank account assigned, etc.

  4. Payroll Approval: The payroll is approved by the responsible person, and then:

    • A request is sent to the external server for magic to happen for each invoice. Their status changes.

    • [Nice to have] Scheduler for later payment

  5. Payment Request Execution: A request is sent to the payment gateway, which performs operations related to actual transfers, etc.

  6. Recording Payment Gateway Response: The response from the payment gateway is recorded, and the payment status for the invoices changes. Note: This is an easier case than when we don’t have asynchronous and we get response right away.

  7. Payroll Reconciliation: Verify the payroll to ensure that all payments match with the invoices and the responses received from the payment gateway.

Sequence Diagram

 UML
@startuml
participant "User" as A
participant "System" as B
participant "External Server" as C
participant "Gateway" as D

A -> B: Generate Payrol
B -> B: Assign Invoices to Payroll and Set Payment Method
B -> B: Validate Beneficiary Data (Optional)
A -> B: Approve Payroll
note right of B: Payroll Preparation

B -> D: Execute Payment
D -> B: Send Payment Response
B -> B: Record Response and Update Payment Status
note right of B: Payment Execution

A -> B: Perform Payroll Reconciliation
note right of B: Reconciliation Phase
@enduml

Questions

  • No labels