Dealer_Onboarding_Backend/docs/FNF_Department_Finance_No_Conflict_Flow.md

3.5 KiB

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.
  1. Department Response Frozen
  • Departments: Read-only.
  • Finance: Validation enabled.
  1. Finance Reconciliation Open
  • Finance: Edit allowed (validation layer only).
  • Departments: Read-only (unless clarification is requested).
  1. Finance Locked
  • All amount fields read-only.
  • Only approval/rejection/clarification routing actions are allowed.
  1. 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.