feat: add payroll draft adjustments API#501
Open
auracule007 wants to merge 23 commits into
Open
Conversation
…cent-activity-feed feat: add paginated dashboard activity feed
…slipAPI Feat/generate pdf payslip api
Extend GET /api/v1/finance/transactions to support sortBy (date, status, type) and order (asc, desc) query params on top of the existing status/type/asset filters. Sorting is built dynamically from the validated params so the frontend can natively filter and order the transaction table. - Add sortBy/order to ListTransactionsSchema (validated, defaulted) - Replace hardcoded date-desc sort with dynamic comparator - Document new params in Swagger - Add route tests covering filtering, sorting and validation Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…-global-search-api feat: implement global search API functionality
…alculate-endpoint Feat/payroll calculate endpoint
…ayment methods - Add ChargeParams and ChargeResult to PaymentProvider interface - Implement charge method in MonnifyProvider and FlutterwaveProvider - Add atomic updateBalance to FinanceWalletService - Implement processCharge in FiatDepositService to orchestrate charge, balance update, and transaction recording - Create POST /api/v1/finance/deposit endpoint with validation Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
[FEATURE] Fetch Tax Jurisdiction Rates API (SafeVault#479)
…ory-filter-sort feat(finance): add dynamic sorting to transaction history endpoint
|
@auracule007 is attempting to deploy a commit to the vestroll's projects Team on Vercel. A member of the Team first needs to authorize it. |
Contributor
Author
|
@codeZe-us Please review this PR and check workflow |
Contributor
|
@auracule007 PR should point to dev branch not main branch |
feat: implement Process Fiat Deposits API for immediate charging of p…
…count feat: implement unlink connected bank account API
…ad-api feat(notifications): add mark all as read API
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary #478
This PR implements the Payroll Bonuses and Deductions API for active payroll drafts.
It adds a new payroll draft database model and introduces an adjustments endpoint that lets an authenticated organization user apply one-time bonuses or custom deductions to a specific employee within an active payroll draft. When an adjustment is submitted, the API updates the employee payload, recalculates the employee’s
netPay, recalculates the drafttotalAmount, and persists the updated draft record.This gives payroll managers a way to make last-minute draft payroll changes while keeping both employee-level and draft-level totals in sync.
Type of Change
Linked Issues
Fixes #478
Key Changes
payroll_draft_statusenum withactive,processed, andcancelledstates.payroll_draftstable to store draft payroll payloads, draft status, organization ownership, and total amount.POST /api/v1/payroll/[draftId]/adjustmentsfor applying payroll adjustments.PATCH /api/v1/payroll/[draftId]/adjustmentsfor adding or removing payroll adjustments.draftId,employeeId, adjustmenttype,amount,action, and optionalreason.netPayafter applying bonuses or deductions.totalAmountafter employee payload updates.Checklist
Screenshots / Recordings
Not applicable. This is a backend API/database change.
Closes #478