The Transaktioner inbox lists unbooked skattekonto rows next to unbooked bank rows, but the sidebar badge and the Hem "Att göra" list counted bank rows only, so a migrated tax account waited in the inbox unseen. - lib/worklist: new category book_skattekonto with the inbox's own predicate (status = 'booked', no verifikat, not ignored); aggregate includes it in counts and total. - Hem: a "Bokföra skattekontohändelser" row under Bokför, deep-linking to /transactions?source=skatteverket. - Sidebar badge hook: the same third head-count query, summed into the /transactions badge. - DashboardNav subscribes to skattekonto_transactions realtime changes; migration adds the table to the supabase_realtime publication so a booked or ignored row drops the badge without a manual refresh. Closes #2180 Claude-Session: https://claude.ai/code/session_01QPQLwHNEiQfiCNLSMzXMiQ 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
aeff998b90
commit
1e91c126ff
@@ -9,6 +9,7 @@ import {
|
||||
countReconciliationDue,
|
||||
countSuggestedMatches,
|
||||
countSupplierInvoicesAwaitingApproval,
|
||||
countUnbookedSkattekontoRows,
|
||||
countUnbookedTransactions,
|
||||
countVerifikatMissingDocument,
|
||||
} from './categories'
|
||||
@@ -40,6 +41,7 @@ export async function getWorklistCounts(
|
||||
): Promise<WorklistCounts> {
|
||||
const [
|
||||
bookTransaction,
|
||||
bookSkattekonto,
|
||||
inboxDocument,
|
||||
suggestedMatch,
|
||||
supplierInvoiceApproval,
|
||||
@@ -50,6 +52,7 @@ export async function getWorklistCounts(
|
||||
reconciliationDue,
|
||||
] = await Promise.all([
|
||||
countUnbookedTransactions(supabase, companyId),
|
||||
countUnbookedSkattekontoRows(supabase, companyId),
|
||||
countInboxDocuments(supabase, companyId),
|
||||
options.suggestedMatches
|
||||
? Promise.resolve(options.suggestedMatches).then((m) => m.length)
|
||||
@@ -65,6 +68,7 @@ export async function getWorklistCounts(
|
||||
return {
|
||||
counts: {
|
||||
book_transaction: bookTransaction,
|
||||
book_skattekonto: bookSkattekonto,
|
||||
inbox_document: inboxDocument,
|
||||
suggested_match: suggestedMatch,
|
||||
supplier_invoice_approval: supplierInvoiceApproval,
|
||||
@@ -76,6 +80,7 @@ export async function getWorklistCounts(
|
||||
},
|
||||
total:
|
||||
bookTransaction +
|
||||
bookSkattekonto +
|
||||
inboxDocument +
|
||||
supplierInvoiceApproval +
|
||||
verifikatMissingDocument +
|
||||
|
||||
Reference in New Issue
Block a user