Skip to content

⚖️ Maker-Checker Points Moderation Workflow

To guarantee financial integrity and prevent internal fraud, all manual points additions or ledger corrections are governed by strict Maker-Checker separation of duties.


1. Governance Principles

sequenceDiagram
    autonumber
    actor Maker as Loyalty Operator (Maker)
    participant Odoo as Odoo Loyalty Backend
    actor Checker as Loyalty Manager (Checker)

    Maker->>Odoo: Create Points Adjustment (Draft)
    Maker->>Odoo: Submit for Review
    Note over Odoo: Status -> 'Pending Approval'
    alt Self-Approval Attempt
        Maker->>Odoo: Click "Approve"
        Odoo-->>Maker: 🛑 Blocked! Maker cannot approve own request
    else Independent Review
        Checker->>Odoo: Inspect justification & delta points
        Checker->>Odoo: Click "Approve"
        Note over Odoo: Status -> 'Approved'<br/>Ledger record created<br/>Chatter log entry posted
        Odoo-->>Checker: ✅ Success! Points updated on Partner profile
    end

Key Security Guardrails:

  1. Self-Approval Interception: The user who created the adjustment cannot approve it. Attempting to approve one's own adjustment triggers an instant permission block.
  2. Role Group Separation:
  3. Loyalty Maker: Authorized to initiate requests and view their own submissions.
  4. Loyalty Checker: Authorized to review, approve, or reject pending submissions from other staff.
  5. Immutable Chatter Logging: When a request is approved or rejected, Odoo automatically records a permanent Chatter entry with:
  6. Approver Name & User ID
  7. Timestamp (UTC & local PNG time)
  8. Net points delta (+/-)
  9. Audit justification reason

2. Step-by-Step Operator Guide (Maker)

  1. Open the customer's contact record.
  2. Click Points Adjustment from the action menu.
  3. Enter:
  4. Points Delta: Integer value (e.g. +50 or -25).
  5. Adjustment Reason: Descriptive audit note (e.g. "Customer service resolution for transaction #420025398").
  6. Click Submit for Approval.
  7. The request moves to Pending Approval.

3. Step-by-Step Manager Guide (Checker)

  1. Navigate to Real Rewards > Moderation Queue.
  2. Filter by status: Pending Approval.
  3. Open the pending record and review the points amount and rationale.
  4. Action the request:
  5. Click Approve: System issues the ledger points entry immediately.
  6. Click Reject: Enter rejection reason; status moves to Rejected and notifies the Maker.