Fix bounty mismatch alert on invoice review#2
Open
d4mr wants to merge 16 commits into
Open
Conversation
To manually handle the case when a company worker moves to the US. --------- Signed-off-by: Ershad Kunnakkadan <ershad92@gmail.com>
…serializer (#1580)
# Problem A user was unable to log in due to the following validation error: "Validation failed: Preferred name is too long (maximum is 50 characters)" <img width="643" height="346" alt="image" src="https://github.com/user-attachments/assets/aa9b0d1d-45cb-4c55-8023-0fa2909c937c" /> # Solution The only way a user can end up with a `preferred_name` longer than 50 characters is through the CSV investor import. Added `preferred_name` length validation to the CSV investor import process to ensure it complies with the 50-character limit and prevents invalid data from being created.
…egal name is not present (#1587)
FIX ISSUE - #1531 Root Cause: Test logged in to /login, waited for redirect, then navigated again to /settings/administrator/roles. The redirect wait sometimes timed out on slow CI runners. Solution: Pass the target URL directly to login() function, navigating straight to the roles page in one step instead of two. <img width="1456" height="56" alt="image" src="https://github.com/user-attachments/assets/c4208bde-8f76-4f87-96c9-f748458aa5fa" /> AI Disclosure - I have used Opus 4.5 to understand issue. --------- Co-authored-by: Sahil Lavingia <sahil.lavingia@gmail.com> Co-authored-by: Nyoman Jyotisa <jyotisa1616@gmail.com>
Add PR template, mirroring the existing Gumroad PR template to keep contribution workflows consistent across repositories
Resolves antiwork/flexile#1582 # Problem Some companies don't have their EIN/TIN configured in Flexile. When these companies try to issue dividends or make contractor payments, we cannot generate the required tax forms, causing distribution failures. # Solution Add validation to prevent companies from issuing dividends or contractor payments without a configured EIN/TIN. # After ## Invoice <img width="1470" height="799" alt="image" src="https://github.com/user-attachments/assets/33c185a7-1935-45ef-a5a3-f1aa36b70470" /> ## Dividend <img width="1470" height="803" alt="image" src="https://github.com/user-attachments/assets/98a7f833-657a-4cbd-b398-3bc74c8c7aac" /> # AI disclosure Claude Sonnet 4.5 for code generations. All code self reviewed. --------- Co-authored-by: Ershad Kunnakkadan <ershad92@gmail.com>
Issue https://github.com/antiwork/accounting/issues/77 # Description The IRS sent a CP 2100A notice indicating TIN/name mismatches for certain users on 1099-DIV. We need to: 1. Flag affected users for TIN re-verification 2. Notify them via email to update their tax information 3. Prevent them from receiving payments until they re-verify # Screenshots ## Tax Setting Page <img width="1470" height="791" alt="image" src="https://github.com/user-attachments/assets/2db83690-ea0a-4a02-aaae-424ed6406e51" /> ## Email <img width="756" height="619" alt="image" src="https://github.com/user-attachments/assets/066065c2-2636-4f39-ba1e-9ad825f6e46b" /> ## One Time Script execution ### Dry run <img width="1131" height="470" alt="image" src="https://github.com/user-attachments/assets/c2893e49-99f6-470a-a10b-9a19dbea9dd1" /> ### Live <img width="1136" height="588" alt="image" src="https://github.com/user-attachments/assets/1e646a98-be85-4e12-89f6-e26fbf3d34d7" /> # AI disclosure Claude Sonnet 4.5 used for code generation. All code self reviewed.
Fixes antiwork/flexile#1604 # Description <!-- Briefly describe the problem and your solution --> ## Problem The invoices list page loads slowly for companies with many invoices (e.g. 10k+ paid). The query fetches all invoices regardless of the active tab filter, so admins who typically only need "Awaiting approval" invoices wait for the entire dataset. The invoice detail page has a query waterfall: the parent component fires `invoices.get` and `expenseCategories.list` in one batch, then suspends. Only after that resolves does the child `StatusDetails` component mount and fire `consolidatedInvoices.last` as a second HTTP request, doubling the perceived load time ## Solution ### List page Pass the active tab filter to the server as a `status` parameter on `invoices.list`. The column filter state is lifted from TanStack Table's `initialState` into controlled React state so that filter changes also update the query input. A `displayNameToDbStatuses` mapping (derived from the existing `statusNames` to avoid sync risk) translates UI display names like "Awaiting approval" into the corresponding database enum values `(["received", "approved"])`. ### Detail page Move the `consolidatedInvoices.last` query from the child `StatusDetails` component into the parent `InvoicePage` component. All three `useSuspenseQuery` calls now execute in the same component, allowing tRPC's `httpBatchLink` to batch them into a single HTTP request instead of two sequential ones. `StatusDetails` receives the data as a prop instead. --- # Before/After ## List page ### Before (with 10k paid invoice records) https://github.com/user-attachments/assets/0637edfc-200b-40cc-b54b-eb211ad7548b ### After (with 10k paid invoice records) https://github.com/user-attachments/assets/01ff9ec8-6623-4d69-afc1-f006ebd803be ## Detail page ### Before (not reproduced on local) https://github.com/user-attachments/assets/f41f42f2-e296-46c2-9af1-b0c85d20aa33 ### After https://github.com/user-attachments/assets/cc3afcb8-a439-4525-bf57-689443689684 --- # AI Disclosure Claude Opus 4.6 for code generation, all code self reviewed
## Summary - Fixed PR details not fetching when editing an existing invoice line item URL - Updated `shouldFetch` condition to compare stored URL with current description instead of just checking if stored data exists - Updated `displayPR` fallback to only use stored data when it matches the current description Closes #1576
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.
Fixes the bounty mismatch alert that was incorrectly showing on invoices where the bounty matched the line item amount.