Fix/m sprint fixes (#613)

* fix(dashboard): exclude ignored and already-triaged transactions from stale count

The "Gamla transaktioner" widget counted transactions that had been ignored
or already marked as is_business=true but not yet booked, so users saw a
nag for a row they had already dealt with — and the /transactions inbox
correctly hid it. Align the count with the inbox criterion (is_business
IS NULL, is_ignored = false) so the widget clears when the row leaves
the inbox.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix(transactions): read entity_type from settings response wrapper

The transactions page read entityRes.entity_type directly, but
/api/settings returns { data: { entity_type, ... } }. The expression
was always undefined, so setEntityType never fired and entityType
stayed at its initial 'enskild_firma'. The template picker's
entity_type filter then dropped every aktiebolag-tagged user template
for AB customers — only entity_type='all' templates made it through.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* stale templates
bank sync
journal entry from transaction

* fixed pr comments

* fixed pr comment

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Mattsson
2026-05-30 01:28:41 +02:00
committed by GitHub
co-authored by Claude Opus 4.7
parent fc7a46c3f2
commit ea1bf01f1e
76 changed files with 5474 additions and 532 deletions
+24 -1
View File
@@ -1800,6 +1800,20 @@
"on_confirm_mark_paid_supplier": "The supplier invoice is marked as paid",
"on_confirm_mark_paid_customer": "The invoice is marked as paid",
"on_confirm_voucher": "A journal entry is created automatically",
"booking_title": "Bookkeeping",
"booking_loading": "Calculating booking...",
"booking_unavailable": "Could not preview the booking. Continue or cancel.",
"booking_debit": "Debit",
"booking_credit": "Credit",
"booking_account": "Account",
"booking_edit": "Edit",
"booking_reset": "Reset",
"booking_done_editing": "Done",
"booking_add_line": "Add line",
"booking_remove_line": "Remove line",
"booking_description_placeholder": "Description",
"booking_unbalanced": "Debit and credit must match and be greater than zero. Difference: {diff}",
"booking_account_invalid": "Account number must be 4 digits.",
"cancel": "Cancel",
"confirming": "Confirming...",
"confirm_match": "Confirm match"
@@ -3265,7 +3279,16 @@
"bank_sync_age_just_now": "just now",
"bank_sync_age_minutes": "{count} min ago",
"bank_sync_age_hours": "{count} h ago",
"bank_sync_age_days": "{count} d ago"
"bank_sync_age_days": "{count} d ago",
"bank_sync_stale_warning": "Last sync was over 36 hours ago — check the connection",
"bank_sync_latency_hint": "Banks report transactions with up to 48 hours of delay. Today's transactions often only appear the next morning.",
"bank_sync_button_now": "Sync now",
"bank_sync_button_syncing": "Syncing…",
"bank_sync_new_since_last_visit_one": "1 new bank transaction since your last visit",
"bank_sync_new_since_last_visit_many": "{count} new bank transactions since your last visit",
"bank_sync_new_since_last_visit_dismiss": "Dismiss",
"import_psd2_active_warning_title": "PSD2 is active for {bankName}",
"import_psd2_active_warning_body": "Transactions sync automatically each night. File imports are only needed for older history or when PSD2 isn't working — otherwise duplicates may occur."
},
"bookkeeping": {
"title": "Bookkeeping",
+24 -1
View File
@@ -1800,6 +1800,20 @@
"on_confirm_mark_paid_supplier": "Leverantörsfakturan markeras som betald",
"on_confirm_mark_paid_customer": "Fakturan markeras som betald",
"on_confirm_voucher": "Bokföringsverifikation skapas automatiskt",
"booking_title": "Bokföring",
"booking_loading": "Beräknar bokföring...",
"booking_unavailable": "Kunde inte förhandsgranska bokföringen. Fortsätt eller avbryt.",
"booking_debit": "Debet",
"booking_credit": "Kredit",
"booking_account": "Konto",
"booking_edit": "Redigera",
"booking_reset": "Återställ",
"booking_done_editing": "Klart",
"booking_add_line": "Lägg till rad",
"booking_remove_line": "Ta bort rad",
"booking_description_placeholder": "Beskrivning",
"booking_unbalanced": "Debet och kredit måste vara lika och större än noll. Differens: {diff}",
"booking_account_invalid": "Kontonummer måste vara 4 siffror.",
"cancel": "Avbryt",
"confirming": "Bekräftar...",
"confirm_match": "Bekräfta matchning"
@@ -3265,7 +3279,16 @@
"bank_sync_age_just_now": "just nu",
"bank_sync_age_minutes": "{count} min sedan",
"bank_sync_age_hours": "{count} tim sedan",
"bank_sync_age_days": "{count} d sedan"
"bank_sync_age_days": "{count} d sedan",
"bank_sync_stale_warning": "Senaste synk var över 36 timmar sedan — kontrollera anslutningen",
"bank_sync_latency_hint": "Banker rapporterar transaktioner med upp till 48 timmars fördröjning. Dagens transaktioner syns ofta först nästa morgon.",
"bank_sync_button_now": "Synka nu",
"bank_sync_button_syncing": "Synkar…",
"bank_sync_new_since_last_visit_one": "1 ny banktransaktion sen ditt senaste besök",
"bank_sync_new_since_last_visit_many": "{count} nya banktransaktioner sen ditt senaste besök",
"bank_sync_new_since_last_visit_dismiss": "Stäng",
"import_psd2_active_warning_title": "PSD2 är aktivt för {bankName}",
"import_psd2_active_warning_body": "Transaktioner synkas automatiskt varje natt. Filimport behövs bara för äldre historik eller om PSD2 inte fungerar — annars kan dubbletter uppstå."
},
"bookkeeping": {
"title": "Bokföring",