⚖️ 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:
- Self-Approval Interception: The user who created the adjustment cannot approve it. Attempting to approve one's own adjustment triggers an instant permission block.
- Role Group Separation:
Loyalty Maker: Authorized to initiate requests and view their own submissions.Loyalty Checker: Authorized to review, approve, or reject pending submissions from other staff.- Immutable Chatter Logging: When a request is approved or rejected, Odoo automatically records a permanent Chatter entry with:
- Approver Name & User ID
- Timestamp (UTC & local PNG time)
- Net points delta (+/-)
- Audit justification reason
2. Step-by-Step Operator Guide (Maker)
- Open the customer's contact record.
- Click Points Adjustment from the action menu.
- Enter:
- Points Delta: Integer value (e.g.
+50or-25). - Adjustment Reason: Descriptive audit note (e.g. "Customer service resolution for transaction #420025398").
- Click Submit for Approval.
- The request moves to
Pending Approval.
3. Step-by-Step Manager Guide (Checker)
- Navigate to Real Rewards > Moderation Queue.
- Filter by status:
Pending Approval. - Open the pending record and review the points amount and rationale.
- Action the request:
- Click Approve: System issues the ledger points entry immediately.
- Click Reject: Enter rejection reason; status moves to
Rejectedand notifies the Maker.