Skip to content

PM-6432 payment assoctiation timesheet entry - #2403

Merged
vas3a merged 3 commits into
devfrom
PM-6432_payment-assoctiation-timesheet-entry
Sep 25, 2026
Merged

vas3a merged 3 commits into
devfrom
PM-6432_payment-assoctiation-timesheet-entry

Conversation

@vas3a

@vas3a vas3a commented Sep 25, 2026

Copy link
Copy Markdown
Collaborator

Related JIRA Ticket:

https://topcoder.atlassian.net/browse/PM-6432

What's in this PR?

This pull request introduces enhancements to timesheet payment reconciliation and improves the handling of timesheet entry payment status in the engagements and work apps. The main focus is on supporting the detection and resolution of timesheet entries that have already been paid, providing tools for admins to reconcile and link excluded entries to their correct payments, and improving the data model and UI to reflect payment linkage.

Payment Reconciliation and Linking Enhancements:

  • Added a process in PaymentFormModal to detect timesheet entries already linked to other payments, display reconciliation candidates, and allow admins to link excluded entries to their corresponding payment references. This includes new state management, UI feedback, and a handler for linking entries (PaymentFormModal.tsx). [1] [2] [3] [4]
  • Introduced the fetchTimesheetEntriesByPaymentReference service function to retrieve all timesheet entries associated with a specific payment reference for reconciliation purposes (engagements.service.ts).

Data Model Updates for Payment Tracking:

  • Extended the TimesheetEntry and TimesheetRow interfaces to include paymentReference and paidAt fields, allowing entries to be explicitly linked to payments and track when they were paid (Timesheet.model.ts, timesheet.utils.ts). [1] [2] [3]
  • Added a new TimesheetPaymentEntry interface to represent entries consumed by a payment, and updated AssignmentPayment attributes to include assignmentId and timesheetEntryIds for better traceability (Engagement.model.ts). [1] [2]

Utility and Test Improvements:

  • Updated test utilities and specs to cast timesheet entry objects to the correct type, ensuring compatibility with the new fields (timesheet.utils.spec.ts, AdminTimesheetView.spec.tsx, ManagerTimesheetView.spec.tsx, MemberTimesheetView.spec.tsx). [1] [2] [3] [4]
  • Added helper functions for hour conversions between string and hundredths formats for accurate calculations and reconciliation (PaymentFormModal.tsx).

Service and Import Organization:

  • Updated imports to include new reconciliation and payment linking services in both component and service files (PaymentFormModal.tsx, payments.service.spec.ts). [1] [2] [3]

These changes collectively make timesheet payment processing more robust, transparent, and easier to administer, especially in scenarios where entries may have been previously paid or require reconciliation across multiple payments.

@vas3a
vas3a merged commit 2b75dfa into dev Sep 25, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant