Claim to reimburse
Modules CLM, NTF, PAY, MOB · Release R2 · Spec Claims
Context
In the reference product a claim has one or more bills; the manager verifies (and can reject individual bills or set a verified amount), finance approves and then marks it Paid outside payroll; there are no documented policy limits or duplicate checks [Observed and Inferred] (see Spryple analysis §9 and §21.6). Spyrl adds the expense policy, duplicate detection and payout through payroll or a bank-file batch.
Diagram
Steps
| # | Actor | Action | System response | Module | Notifications |
|---|---|---|---|---|---|
| 1 | employee | Creates a draft and adds lines (category, date, bill number, vendor, GSTIN, amount, image) | Draft saved on device and server; images compressed | CLM, MOB | — |
| 2 | employee | Submits | Policy version resolved for the employee; each line checked for limits, receipt, age, duplicates; blocking results must be fixed | CLM | — |
| 3 | System | Starts the claim workflow | Chain: reporting manager verifies; finance approves; department head added above an amount | NTF | Task to manager |
| 4 | line_manager | Verifies each line, edits verified amount or rejects lines with reason; or sends back | Claim Verified with verified total; rejected lines excluded | CLM | Employee sees line outcomes |
| 5 | payroll_manager | Approves the verified claim | Claim Approved; approved amount set | CLM | Employee informed |
| 6 | System | Settles advances | Ledger: claim credit, advance debit; net payable computed | CLM | — |
| 7 | System | Schedules payout | Payroll mode: REIMBURSEMENT pay input for the next open period. Batch mode: added to the open payout batch | CLM, PAY | — |
| 8 | payroll_manager | Runs payroll or confirms the batch bank file | Payroll lock sets the claim Paid when the run is paid; batch confirmation does the same | PAY, CLM | Employee informed with payment reference |
| 9 | payroll_manager | Reviews dashboard | Settlement ratio, scorecard, spend by category | CLM, RPT | — |
Exception paths
| Situation | Handling |
|---|---|
| Line over limit | Policy action: cap to the limit, flag for the approver, or block |
| Receipt missing above threshold | Submit blocked for that line |
| Duplicate suspected | Line flagged DUPLICATE_SUSPECT; finance sees the matching claim; clm.duplicate.suspected |
| Expense older than the allowed age | Line blocked |
| Manager sends back | Claim SentBack; employee edits and resubmits; the chain restarts at step 1 |
| Finance rejects after verification | Claim Rejected with reason; no payout |
| Pay run reversed after the claim was scheduled | Claim returns to Approved and is rescheduled |
| Employee leaves with open claims | Open approved claims and advances are settled in F&F |
| Bank rejects a batch row | Row marked failed; claim stays Scheduled until bank details are fixed |