4c76fb10d7
feat(transactions): "Ta bort underlag" detach action on a transaction (#2132) (#2144)
Mattsson
2026-09-02 00:29:22 +02:00
4f33184a9a
fix(mcp): explain the Claude-side steps after "Anslut till Claude" and tick the checklist on a real connection (#2133) (#2147)
Mattsson
2026-09-02 00:04:31 +02:00
97107398c0
fix(import): fit the account mapping table at 100 % zoom (#2125) (#2138)
Jakob Wennberg
2026-09-01 22:55:23 +02:00
823a0f73d8
feat(transactions): select and bulk-ignore any unbooked skattekonto row (#2127) (#2140)
Jakob Wennberg
2026-09-01 22:44:52 +02:00
ea45e9dc2f
fix(invoices): say what payment detail is missing, per currency (#2126) (#2139)
Jakob Wennberg
2026-09-01 22:38:01 +02:00
4e1f739913
docs(decisions): rescue nine unrecorded entries stranded in a working tree since 2026-08-21 (#2136)
Jakob Wennberg
2026-09-01 22:18:35 +02:00
dd84d6c1bb
fix(mcp): tag unmapped tool failures with their cause vocabulary (#2051) (#2135)
Jakob Wennberg
2026-09-01 22:07:46 +02:00
191fb2cfce
fix(audit): alias learning is not a rule change, stop logging it (BFNAR noise) (#2134)
Jakob Wennberg
2026-09-01 21:58:02 +02:00
53c9c0c4f9
feat(mcp): second examples batch: five more tools, seven examples, 80 tokens (#2137)
Jakob Wennberg
2026-09-01 21:45:31 +02:00
8d9bf383d1
perf(mcp): trim the one schema 58 catalogued tools share, reclaiming 2 552 tokens (#2123)
Jakob Wennberg
2026-09-01 21:30:37 +02:00
b56da5d6c5
feat(api): expose bank-connection freshness in MCP and v1 REST (#2124)
Mattsson
2026-09-01 20:54:55 +02:00
a08bf51ced
feat(reports): log behandlingsregler changes and program versions (BFNAR 2013:2 p. 9.16) (#2097)
Jakob Wennberg
2026-09-01 20:31:10 +02:00
169e7eaf4e
feat(mcp): worked examples on five high-traffic tools, and in the error that rejects a call (#2100)
Jakob Wennberg
2026-09-01 20:18:19 +02:00
e5fba9471e
feat(bookkeeping): verifikationsserie dropdown, wider Ny verifikat modal, balancing amount on focus (#2120)
Jakob Wennberg
2026-09-01 20:05:36 +02:00
0406e628e1
fix(settings): scope cross-field VAT validations to saves that touch them (#2121)
Mattsson
2026-09-01 19:30:25 +02:00
b5da51ea0a
feat(settings): API & MCP tab: correct connector URL namespace, plugin path, Swedish guide (#2105)
Jakob Wennberg
2026-09-01 16:56:19 +02:00
cd40127f0e
feat(bank): expose bank-reported balance (booked + available) in UI, reconciliation, MCP and v1 API (#2118)
Mattsson
2026-09-01 16:16:29 +02:00
fa69174aa0
fix(bank): never pre-check or mirror another company's accounts in the EB callback (#2116)
Mattsson
2026-09-01 15:24:10 +02:00
b1f7116231
fix(observability): clear the dead session on the first bounce, stop filing client disconnects as exceptions, scope the Hem probe (#2114)
Jakob Wennberg
2026-09-01 15:03:23 +02:00
f1d76deaba
fix(providers): stop dead-ending on a resource 403, and stop dropping every migrated kreditfaktura (#2113)
Jakob Wennberg
2026-09-01 14:57:48 +02:00
1c04262e06
fix(byra): stop passing a lucide icon across the server boundary on the KPI empty state (#2110)
Jakob Wennberg
2026-09-01 14:51:03 +02:00
4ec2ff4b4d
fix(documents): name the journal_entries/fiscal_periods relationship so supplier-invoice underlag can anchor (#2109)
Jakob Wennberg
2026-09-01 14:44:54 +02:00
43341aa55c
feat(ui): shift-click range selection on list row checkboxes (#2117)
Mattsson
2026-09-01 14:37:25 +02:00
237bdd0366
perf(db): index the foreign keys that actually carry delete fan-out, and event_log by company (#2115)
Jakob Wennberg
2026-09-01 14:29:47 +02:00
77becf3d65
fix(documents): record archive integrity checks in their own ledger so the nightly control advances again (#2108)
Jakob Wennberg
2026-09-01 14:23:05 +02:00
2c46d69d21
fix(sandbox): complete the teardown for the four FK and guard blockers added since August (#2112)
Jakob Wennberg
2026-09-01 14:14:45 +02:00
088754d61a
fix(processing-history): register the missing event types, and strip the PII two of them carry (#2111)
Jakob Wennberg
2026-09-01 14:14:09 +02:00
21e6e2d314
fix(proxy): assert the production Supabase project for customer hosts instead of allowlisting them (#2107)
Jakob Wennberg
2026-09-01 14:07:34 +02:00
57d757192e
fix(security): revoke anon EXECUTE on SECURITY DEFINER write RPCs (#2106)
Jakob Wennberg
2026-09-01 14:00:36 +02:00
08b1119c7d
feat(connect): wire the SKV extension through the connector broker + data proxy (PR6b-2) (#2103)
Mattsson
2026-09-01 12:11:34 +02:00
ee22c9c7b7
feat(connect): connector status + Synka nu row in Settings -> Abonnemang (PR6b-3) (#2104)
Mattsson
2026-09-01 11:44:33 +02:00
b74b5e3c0d
fix(company): revoke store connections when archiving a company (#2096)
Mattsson
2026-09-01 11:12:12 +02:00
5f81c0638c
fix(ui): make row selection checkboxes always visible at muted opacity (#2093)
Mattsson
2026-09-01 10:39:34 +02:00
05dce83a2b
feat(connect): Enable Banking client routes through the hosted proxy in connector mode (PR6b-1) (#2094)
Mattsson
2026-09-01 10:26:40 +02:00
e113e9c099
fix(vat,documents): EU reverse-charge packs feed ruta 20/21; daily reanchor cron for floating supplier-invoice underlag (#2095)
Mattsson
2026-09-01 10:16:07 +02:00
08dbfdc5c4
fix(kpi): reserve label headroom in monthly result bars so the endpoint value never clips (#2092)
Mattsson
2026-09-01 09:52:54 +02:00
a47d54f1d7
feat(supplier-invoices): sortable list columns matching the customer invoice list (#2091)
Mattsson
2026-09-01 09:23:31 +02:00
50f13cf198
feat(connect): self-host connector enablement: EB/SKV in the preset, connector-mode seam, status endpoint (#1758)
Jakob Wennberg
2026-08-31 23:18:43 +02:00
b643e6ce64
perf(mcp): demote ten unused catalog reads, reclaiming 3 763 tokens of budget (#2089)
Jakob Wennberg
2026-08-31 23:01:17 +02:00
37e50c272d
feat(connect): Skatteverket broker + data proxy for self-hosted instances (tokens stay on the instance) (#1757)
Jakob Wennberg
2026-08-31 22:40:55 +02:00
5131ee9085
fix(errors): point payment-account-missing message at Installningar -> Fakturering (#2088)
Mattsson
2026-08-31 22:26:14 +02:00
10bbfb9d79
fix(mcp): make agent failures diagnosable from the log, not just from the source (#2087)
Jakob Wennberg
2026-08-31 22:24:28 +02:00
523beaa18b
fix(mcp): give the missing-chart-accounts refusal a code agents can dispatch on (#2075)
Jakob Wennberg
2026-08-31 22:01:27 +02:00
413a0978c0
fix(v1): attribute every REST write to the API key that made it (#2074)
Jakob Wennberg
2026-08-31 21:49:51 +02:00
36123cef23
feat(connect): Enable Banking proxy for self-hosted instances, with a secret-free ownership ledger and a global rate budget (#1751)
Jakob Wennberg
2026-08-31 21:46:50 +02:00
cfce2de925
feat(entitlements): partition the self-host bypass so connector capabilities fall through to grants; capability_grants.source accepts 'connector' (#1747)
Jakob Wennberg
2026-08-31 16:55:29 +01:00
1d63e0f72b
fix(settings): reachable opt-in toggle for the bookkeeping digest (#2085)
Mattsson
2026-08-31 17:39:29 +02:00
9fe37b85b5
feat(agents): per-key approval authority, the amount an agent may post unattended (#2079)
Jakob Wennberg
2026-08-31 15:53:53 +01:00
2814d70cb4
feat(bookkeeping): Fortnox-style inline IB correction + cascade to later years (#2076)
Mattsson
2026-08-31 16:01:11 +02:00
f216a60bf8
feat(invoices): per-line percentage discount and separate fakturamarkning (#2084)
Mattsson
2026-08-31 15:34:06 +02:00
84c8e1ce59
fix(inbox): never extract the receiving company as its own supplier (#2080)
Mattsson
2026-08-31 15:13:14 +02:00
fc54e79e08
fix(auth): scope the home-domain ok cookie to the signed-in user (#2083)
Mattsson
2026-08-31 14:58:17 +02:00
1a3686dd45
feat(inbox): promote a single prominent amount into the editable total (#2073)
Mattsson
2026-08-31 11:40:30 +02:00
6a40b3c0ef
fix(inbox): name the FK in the underlag lock-state embed so locked items classify (#1548) (#2022)
Jakob Wennberg
2026-08-31 10:16:21 +01:00
dd7a2eab5f
fix(docker): bump node:22-alpine digest so the frozen apk-upgrade layer re-runs (CVE-2026-14456) (#2071)
Jakob Wennberg
2026-08-31 09:58:55 +01:00
502905e093
feat(fortnox): make scope-approval flags overridable via env for self-hosted apps (#2069)
Jakob Wennberg
2026-08-31 09:27:31 +01:00
d67879b786
feat(onboarding): ChatGPT side door on the Connect to Claude step (#1981)
Jakob Wennberg
2026-08-31 09:25:58 +01:00
8b0aa80ea0
feat(arcim-migration): import the Fortnox asset register during migration (#1999)
Pierre Grönberg
2026-08-31 10:25:55 +02:00
6ac9679fb5
feat(auth): base available login methods off GoTrue providers (#1869)
Goostaf
2026-08-31 10:13:39 +02:00
dc07ca8872
feat(transactions): steer private marking in locked periods to ignore, with v1 and MCP ignore verbs (#1661) (#2031)
Jakob Wennberg
2026-08-31 08:39:04 +01:00
79edee659f
docs(self-host): sovereign Sverige guide, backup/restore scripts, Speed Insights gate (#1744)
Jakob Wennberg
2026-08-31 08:18:14 +01:00
dd8c06a8fa
fix(dashboard): offer bank connection in the all-clear Att gora state (#2049)
Mattsson
2026-08-31 00:10:28 +02:00
516e8b62ff
feat(inbox): match non-invoice documents via prominent amounts (#2048)
Mattsson
2026-08-30 23:52:29 +02:00
84ba8323b4
fix(transactions): derive pre-migration marker cutoff from imported voucher dates, not fiscal_year_end (#2047)
Mattsson
2026-08-30 23:16:34 +02:00
f43a6653f1
feat(salary): update_salary_run MCP tool and editable draft payment date (#2041)
Mattsson
2026-08-30 21:43:23 +02:00
e92b5a59b2
fix(reminders): settings UI discloses that automatic sending is disabled (#2033)
Mattsson
2026-08-30 21:43:19 +02:00