# F&F Department vs Finance No-Conflict Flow ## Purpose This document defines a conflict-free Full & Final (F&F) settlement approach where: - Departments submit and own their initial financial claims. - Finance validates and finalizes settlement amounts. - Final net settlement is always calculated from finance-validated values. The objective is to prevent duplicate updates, overwritten values, and ambiguity in amount ownership. ## Core Ownership Model ### 1) Department-Owned Fields (Claim Layer) - `department_claim_amount` - `department_amount_type` (Payable / Recovery / Deduction if applicable) - `department_remarks` - `department_supporting_documents` - `department_submission_status` Departments can only create or update this layer during the department response window. ### 2) Finance-Owned Fields (Validation Layer) - `finance_validated_amount` - `finance_decision` (Accepted / Partially Accepted / Rejected / Under Clarification) - `finance_variance_amount` - `finance_variance_reason` (mandatory when variance is non-zero) - `finance_supporting_documents` Finance can only update this layer after department responses are frozen. ### 3) System-Owned Fields - `total_payables` - `total_receivables` - `total_deductions` - `net_settlement` System fields are read-only and formula-driven. ## Workflow Stages and Edit Locks 1. `Department Response Open` - Departments: Edit allowed (claim layer only). - Finance: View only. 2. `Department Response Frozen` - Departments: Read-only. - Finance: Validation enabled. 3. `Finance Reconciliation Open` - Finance: Edit allowed (validation layer only). - Departments: Read-only (unless clarification is requested). 4. `Finance Locked` - All amount fields read-only. - Only approval/rejection/clarification routing actions are allowed. 5. `Reopen` (exception path) - Reopen must create a new version; previous values must never be overwritten. ## Calculation Rule (Single Source for Final Amount) Only finance-validated values are used for final settlement: `Net Settlement = Total Payables - Total Receivables - Total Deductions` Where: - `Total Payables = sum(finance_validated_amount where type = Payable)` - `Total Receivables = sum(finance_validated_amount where type = Recovery)` - `Total Deductions = sum(finance_validated_amount where type = Deduction)` Interpretation: - Positive value: Payable to Dealer. - Negative value: Recovery from Dealer. ## Clarification and Reconciliation Rules - Finance raises clarification against specific department rows using Work Notes. - Department responds with remarks/documents. - If amount revision is needed after freeze, reopen the row as a new version. - Every variance must include a reason and supporting proof. ## Audit and Traceability Requirements For each row and version, store: - Created by / Updated by - Timestamp - Previous value and new value - Decision and variance reason - Linked document references - Workflow state at the time of change No hard overwrite of prior approved values is allowed. ## Minimal Status Model ### Department Status - Pending - Submitted - Reopened - Resubmitted ### Finance Status - Not Reviewed - Accepted - Partially Accepted - Rejected - Under Clarification ### Case Status - Dept Collection - Dept Frozen - Finance Reconciliation - Finance Locked - Approved - Closed ## Expected Outcome - Clear ownership of amount fields. - No parallel edit conflict between departments and finance. - Deterministic and auditable final amount calculation. - Faster dispute resolution with explicit variance tracking.