- The owner's claimant key is trimmed and lower-cased, the same rule the payout RPC applies, so "Jakob" and "jakob " are one person with one Att göra row and one exact-amount match. - The inbox pages through every registered claim (fetchAllRows) before pairing, so a long backlog can never understate a person's debt. - A foreign receipt's VAT field is locked at 0 and 0 is what is submitted. - Transport failures in the one-click and picker confirms show the destructive toast instead of failing silently. - The open-claims flag is set only after the stale-fetch guard, and a payout match decrements the inbox count like every other row exit. - Test: reset the live-link mock before the bank_line junction case. - Wording: "Återbetalning av utlägg". Co-authored-by: Jakob Wennberg <311770904+jakobwennberg-oss@users.noreply.github.com> Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Jakob Wennberg
Claude Fable 5.1
parent
1a725c121a
commit
3b9daf2606
@@ -137,6 +137,7 @@ describe('POST /api/transactions/[id]/match-expense-payout', () => {
|
||||
expect(parsed.body.error.code).toBe('EXPENSE_PAYOUT_MATCH_TX_ALREADY_LINKED')
|
||||
|
||||
reset()
|
||||
mockHasLiveLink.mockResolvedValue(false)
|
||||
enqueue({
|
||||
data: makeTxRow({
|
||||
transaction_voucher_links: [{ journal_entry_id: 'je-bulk', role: 'bank_line' }],
|
||||
|
||||
Reference in New Issue
Block a user