This website requires JavaScript.
c40e63e3f7
fix(parties): skip companies frozen by a migration reset in the party backfill (#2176 )
2026-09-02 18:14:32 +02:00
a24982463b
fix(parties): skip nameless suppliers and customers in the party backfill (#2174 )
2026-09-02 17:57:34 +02:00
daeab67dca
feat(parties): phase 1 substrate, one party per counterpart (#2162 )
2026-09-02 17:43:06 +02:00
69d3bba587
feat(parties): selection-step evaluation against document-anchored truth (#2169 )
2026-09-02 17:38:20 +02:00
5291806c37
feat(parties): observed parties from voucher text, ledger_key and its mirror (#2168 )
2026-09-02 17:33:30 +02:00
b68c082ef5
feat(bank-sync): close the F2 report: gap backfill, consent and paused chip states, agent-triggered sync (#2165 )
Mattsson and Claude Fable 5.1
2026-09-02 17:17:41 +02:00
723a0f537b
feat(parties): shadow evaluation of the key pre-classifier (#2161 )
2026-09-02 17:13:52 +02:00
a80ce54b78
fix(mcp): eager-auth flag on the Grok connector links so Grok starts OAuth (#2167 )
Mattsson and Claude Fable 5.1
2026-09-02 16:55:23 +02:00
f1230282a9
feat(bookkeeping): verifikationsserie per bankkonto for bank-transaction bookings (#2160 )
Mattsson and Claude Fable 5.1
2026-09-02 15:25:34 +02:00
678acfe7ef
fix(mcp): eager-auth flag so claude.ai's connector dialog detects OAuth, not "None" (#2159 )
2026-09-02 14:51:32 +02:00
6a85efb00a
feat(mcp): allowlist Grok's connector callback and document the Grok path (#2158 )
Mattsson and Claude Fable 5.1
2026-09-02 14:42:39 +02:00
61a76b1669
feat(parties): phase 0 prerequisites, pg_trgm and golden-set draw (#2157 )
2026-09-02 14:33:45 +02:00
f266c386f3
chore: repo-wide bloat sweep, remove dead code and fold duplicate helpers (#2150 )
2026-09-02 11:51:16 +02:00
18cbc4c30a
fix(security): audit remediation 2026-09-01: api_keys identity, viewer gates, OAuth binding, XSS, MFA gate (#2155 )
2026-09-02 11:38:30 +02:00
6e8d76a9cb
fix(skattekonto): remove the drift email, its event and the unused drift route (#2149 )
2026-09-02 11:28:55 +02:00
5b64df9c80
build(deps-dev): bump browserslist from 4.28.1 to 4.28.8 (#2151 )
dependabot[bot]
2026-09-02 11:28:32 +02:00
2b8e0f2d66
build(deps): bump dompurify from 3.4.12 to 3.4.14 (#2154 )
dependabot[bot]
2026-09-02 11:28:09 +02:00
3b7d2f89f2
build(deps-dev): bump flatted from 3.3.3 to 3.4.4 (#2153 )
dependabot[bot]
2026-09-02 11:27:46 +02:00
73897c3d1a
build(deps): bump brace-expansion (#2152 )
dependabot[bot]
2026-09-02 11:27:22 +02:00
3100161e7b
docs(sovereign): mark Skatteverket connector client wiring as shipped (#2156 )
Mattsson and Claude Opus 4.8
2026-09-02 11:16:16 +02:00
867767a22f
feat(inbox): document-type badge and filter, +lev/+ver plus-addressing (#2129 ) (#2148 )
Mattsson and Claude Fable 5.1
2026-09-02 08:50:42 +02:00
4c76fb10d7
feat(transactions): "Ta bort underlag" detach action on a transaction (#2132 ) (#2144 )
Mattsson and Claude Fable 5.1
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 and Claude Fable 5.1
2026-09-02 00:04:31 +02:00
8b09b06e14
feat(skatteverket): ombudsregister grant verification, honest session expiry, daily ombud sync (#2130 )
Mattsson and Claude Fable 5.1
2026-09-01 23:42:23 +02:00
d8cf78330e
docs(self-hosting): own-credentials section, stale connector lines, complete .env.example (#2146 )
Mattsson and Claude Fable 5.1
2026-09-01 23:08:47 +02:00
97107398c0
fix(import): fit the account mapping table at 100 % zoom (#2125 ) (#2138 )
2026-09-01 22:55:23 +02:00
823a0f73d8
feat(transactions): select and bulk-ignore any unbooked skattekonto row (#2127 ) (#2140 )
2026-09-01 22:44:52 +02:00
ea45e9dc2f
fix(invoices): say what payment detail is missing, per currency (#2126 ) (#2139 )
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 )
2026-09-01 22:18:35 +02:00
dd84d6c1bb
fix(mcp): tag unmapped tool failures with their cause vocabulary (#2051 ) (#2135 )
2026-09-01 22:07:46 +02:00
191fb2cfce
fix(audit): alias learning is not a rule change, stop logging it (BFNAR noise) (#2134 )
2026-09-01 21:58:02 +02:00
53c9c0c4f9
feat(mcp): second examples batch: five more tools, seven examples, 80 tokens (#2137 )
2026-09-01 21:45:31 +02:00
8d9bf383d1
perf(mcp): trim the one schema 58 catalogued tools share, reclaiming 2 552 tokens (#2123 )
2026-09-01 21:30:37 +02:00
b56da5d6c5
feat(api): expose bank-connection freshness in MCP and v1 REST (#2124 )
Mattsson and Claude Fable 5.1
2026-09-01 20:54:55 +02:00
a08bf51ced
feat(reports): log behandlingsregler changes and program versions (BFNAR 2013:2 p. 9.16) (#2097 )
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 )
2026-09-01 20:18:19 +02:00
e5fba9471e
feat(bookkeeping): verifikationsserie dropdown, wider Ny verifikat modal, balancing amount on focus (#2120 )
Jakob Wennberg and Claude Opus 5
2026-09-01 20:05:36 +02:00
0406e628e1
fix(settings): scope cross-field VAT validations to saves that touch them (#2121 )
Mattsson and Claude Fable 5
2026-09-01 19:30:25 +02:00
b5da51ea0a
feat(settings): API & MCP tab: correct connector URL namespace, plugin path, Swedish guide (#2105 )
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 and Claude Fable 5
2026-09-01 16:16:29 +02:00
a57a8d968b
fix(webshop-orders): stop syncing failed WooCommerce orders, remove stale unpaid rows (#2119 )
Mattsson and Claude Fable 5
2026-09-01 15:55:36 +02:00
fa69174aa0
fix(bank): never pre-check or mirror another company's accounts in the EB callback (#2116 )
Mattsson and Claude Fable 5
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 and Claude Opus 5
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 and Claude Opus 5
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 and Claude Opus 5
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 and Claude Opus 5
2026-09-01 14:44:54 +02:00
43341aa55c
feat(ui): shift-click range selection on list row checkboxes (#2117 )
Mattsson and Claude Fable 5
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 and Claude Opus 5
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 and Claude Opus 5
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 and Claude Opus 5
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 and Claude Opus 5
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 and Claude Opus 5
2026-09-01 14:07:34 +02:00
57d757192e
fix(security): revoke anon EXECUTE on SECURITY DEFINER write RPCs (#2106 )
Jakob Wennberg and Claude Opus 5
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 and Claude Fable 5
2026-09-01 12:11:34 +02:00
ee22c9c7b7
feat(connect): connector status + Synka nu row in Settings -> Abonnemang (PR6b-3) (#2104 )
Mattsson and Claude Fable 5
2026-09-01 11:44:33 +02:00
aabddb592f
feat(billing): multi-user paywall: multi_user capability, 20-day grace, owner-only dormancy (#2099 )
Mattsson and Claude Fable 5
2026-09-01 11:29:12 +02:00
ca12b1855e
fix(connect): PR #1758 CodeRabbit follow-up: connector status hardening, i18n strings, doc alignment (#2098 )
Mattsson and Claude Fable 5
2026-09-01 11:16:37 +02:00
b74b5e3c0d
fix(company): revoke store connections when archiving a company (#2096 )
Mattsson and Claude Fable 5
2026-09-01 11:12:12 +02:00
5f81c0638c
fix(ui): make row selection checkboxes always visible at muted opacity (#2093 )
Mattsson and Claude Fable 5
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 and Claude Fable 5
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 and Claude Fable 5
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 and Claude Fable 5
2026-09-01 09:52:54 +02:00
a47d54f1d7
feat(supplier-invoices): sortable list columns matching the customer invoice list (#2091 )
Mattsson and Claude Fable 5
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 )
2026-08-31 23:18:43 +02:00
b643e6ce64
perf(mcp): demote ten unused catalog reads, reclaiming 3 763 tokens of budget (#2089 )
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 )
2026-08-31 22:40:55 +02:00
5131ee9085
fix(errors): point payment-account-missing message at Installningar -> Fakturering (#2088 )
Mattsson and Claude Fable 5
2026-08-31 22:26:14 +02:00
10bbfb9d79
fix(mcp): make agent failures diagnosable from the log, not just from the source (#2087 )
2026-08-31 22:24:28 +02:00
523beaa18b
fix(mcp): give the missing-chart-accounts refusal a code agents can dispatch on (#2075 )
2026-08-31 22:01:27 +02:00
413a0978c0
fix(v1): attribute every REST write to the API key that made it (#2074 )
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 )
2026-08-31 21:46:50 +02:00
0ff1b05553
feat(connect): hosted connector-key registry + validate RPC + entitlements endpoint; instance sync writes connector grants hourly (#1748 )
2026-08-31 19:51:17 +01:00
cfce2de925
feat(entitlements): partition the self-host bypass so connector capabilities fall through to grants; capability_grants.source accepts 'connector' (#1747 )
2026-08-31 16:55:29 +01:00
1d63e0f72b
fix(settings): reachable opt-in toggle for the bookkeeping digest (#2085 )
Mattsson and Claude Fable 5
2026-08-31 17:39:29 +02:00
9fe37b85b5
feat(agents): per-key approval authority, the amount an agent may post unattended (#2079 )
2026-08-31 15:53:53 +01:00
2814d70cb4
feat(bookkeeping): Fortnox-style inline IB correction + cascade to later years (#2076 )
Mattsson and Claude Fable 5
2026-08-31 16:01:11 +02:00
f216a60bf8
feat(invoices): per-line percentage discount and separate fakturamarkning (#2084 )
Mattsson and Claude Fable 5
2026-08-31 15:34:06 +02:00
84c8e1ce59
fix(inbox): never extract the receiving company as its own supplier (#2080 )
Mattsson and Claude Fable 5
2026-08-31 15:13:14 +02:00
fc54e79e08
fix(auth): scope the home-domain ok cookie to the signed-in user (#2083 )
Mattsson and Claude Fable 5
2026-08-31 14:58:17 +02:00
6dfaa45061
feat(notifications): opt-in daily "nytt att bokföra" email digest (#2078 )
Mattsson and Claude Fable 5
2026-08-31 14:15:31 +02:00
024420d655
fix(auth): exempt allowlisted emails from home-domain brand-host bounce (#2077 )
Mattsson and Claude Fable 5
2026-08-31 13:44:31 +02:00
1a3686dd45
feat(inbox): promote a single prominent amount into the editable total (#2073 )
Mattsson and Claude Fable 5
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 and Pierre Gronberg
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 and pgronberg
2026-08-31 10:25:55 +02:00
6ac9679fb5
feat(auth): base available login methods off GoTrue providers (#1869 )
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 and Claude Fable 5
2026-08-31 00:10:28 +02:00
516e8b62ff
feat(inbox): match non-invoice documents via prominent amounts (#2048 )
Mattsson and Claude Fable 5
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 and Claude Fable 5
2026-08-30 23:16:34 +02:00
f43a6653f1
feat(salary): update_salary_run MCP tool and editable draft payment date (#2041 )
Mattsson and Claude Fable 5
2026-08-30 21:43:23 +02:00
e92b5a59b2
fix(reminders): settings UI discloses that automatic sending is disabled (#2033 )
Mattsson and Claude Fable 5
2026-08-30 21:43:19 +02:00
341d61131a
fix(auth): email-change recovery re-send and confirmation feedback (#2034 )
Mattsson and Claude Fable 5
2026-08-30 20:21:16 +02:00
9f8fa1b692
feat(invoices): draft invoice delete on v1 and MCP with staged approval (#2036 )
Mattsson and Claude Fable 5
2026-08-30 16:57:28 +02:00
32cb8a22ce
feat(mcp): Swedish keyword synonyms in tool search index (#2043 )
Mattsson and Claude Fable 5
2026-08-30 16:55:09 +02:00
7162053e89
fix(bookkeeping): link RPCs settle cross-currency invoices with 7960/3960 FX residual (#2037 )
Mattsson and Claude Fable 5
2026-08-30 16:54:35 +02:00
15df4c741c
feat(mcp): supplier and date filters on list_supplier_invoices (#2035 )
Mattsson and Claude Fable 5
2026-08-30 16:53:45 +02:00