Skip to main content

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​

#ActorActionSystem responseModuleNotifications
1employeeCreates a draft and adds lines (category, date, bill number, vendor, GSTIN, amount, image)Draft saved on device and server; images compressedCLM, MOB—
2employeeSubmitsPolicy version resolved for the employee; each line checked for limits, receipt, age, duplicates; blocking results must be fixedCLM—
3SystemStarts the claim workflowChain: reporting manager verifies; finance approves; department head added above an amountNTFTask to manager
4line_managerVerifies each line, edits verified amount or rejects lines with reason; or sends backClaim Verified with verified total; rejected lines excludedCLMEmployee sees line outcomes
5payroll_managerApproves the verified claimClaim Approved; approved amount setCLMEmployee informed
6SystemSettles advancesLedger: claim credit, advance debit; net payable computedCLM—
7SystemSchedules payoutPayroll mode: REIMBURSEMENT pay input for the next open period. Batch mode: added to the open payout batchCLM, PAY—
8payroll_managerRuns payroll or confirms the batch bank filePayroll lock sets the claim Paid when the run is paid; batch confirmation does the samePAY, CLMEmployee informed with payment reference
9payroll_managerReviews dashboardSettlement ratio, scorecard, spend by categoryCLM, RPT—

Exception paths​

SituationHandling
Line over limitPolicy action: cap to the limit, flag for the approver, or block
Receipt missing above thresholdSubmit blocked for that line
Duplicate suspectedLine flagged DUPLICATE_SUSPECT; finance sees the matching claim; clm.duplicate.suspected
Expense older than the allowed ageLine blocked
Manager sends backClaim SentBack; employee edits and resubmits; the chain restarts at step 1
Finance rejects after verificationClaim Rejected with reason; no payout
Pay run reversed after the claim was scheduledClaim returns to Approved and is rescheduled
Employee leaves with open claimsOpen approved claims and advances are settled in F&F
Bank rejects a batch rowRow marked failed; claim stays Scheduled until bank details are fixed