54 lines
2.1 KiB
Markdown
54 lines
2.1 KiB
Markdown
---
|
|
title: "Adjustment"
|
|
type: OpenSpec
|
|
status: Draft
|
|
domain: Customer Management
|
|
---
|
|
|
|
# Adjustment
|
|
|
|
## Requirement Definition
|
|
Allows manual posting of adjustment transactions to correct balance discrepancies.
|
|
|
|
## Process Flow
|
|
|
|
### Pre-Conditions
|
|
- Users must have access rights in the "Adjustment Entry" module.
|
|
- Records require Maker-Checker approval.
|
|
|
|
## Business Rules
|
|
|
|
### Data Schema
|
|
|
|
| Field Name | Description | Logic Type | Constraints / Rules |
|
|
|---|---|---|---|
|
|
| Posted Transaction By | Card, Account, or CIF. | Enum | Required. |
|
|
| Card / Account / CIF | Identifier based on above selection. | String | Required. |
|
|
| Adjustment Quantity Sign | Positive or Negative adjustment. | Enum | Required. |
|
|
| Store | Store of transaction. | Enum (Lookup) | Required. |
|
|
| Pool Id | Pool to be adjusted. | Enum (Lookup) | Required. Must respect entity level logic. |
|
|
| Transaction Date | Transaction date time. | Date | Required. |
|
|
| Expiry Date (Positive) | Expiry date of the new bucket. | Date | Required if Positive Adjustment. Defaults to pool policy. |
|
|
| Bucket Expiry Date (Negative)| Specific bucket to deduct from. | Enum (Lookup) | Optional. If empty, uses FIFO Redemption approach. |
|
|
| Adjustment Quantity | Amount to adjust. | Decimal | Required. Must be > 0. |
|
|
| Reason Code | Reason for adjustment. | Enum (Lookup) | Required. |
|
|
| Transaction Code | OLS transaction code. | Enum (Lookup) | Required. |
|
|
| Remarks | Additional notes. | String (100) | Optional. |
|
|
|
|
### Execution
|
|
- **Pending/Approve Flow**: New adjustments go to a Pending state. Authorized user must approve.
|
|
- **Positive Adjustments**:
|
|
- Offsets any negative balance buckets first.
|
|
- Remaining points added to a new bucket with specified Expiry Date.
|
|
- **Negative Adjustments**:
|
|
- If a specific Bucket Expiry Date is chosen, deduction happens there.
|
|
- Otherwise, points are deducted based on FIFO.
|
|
- OLS validates status, permissions, and block codes for the entity.
|
|
|
|
## Post-Conditions
|
|
- Pool balance buckets updated.
|
|
- Transaction logged in history.
|
|
|
|
## Exception Flow
|
|
- Validation failures or insufficient permissions.
|