This website requires JavaScript.
f80e933f8d
docs: restore decision log entries from the merge-wave strip (#1400 )
Mattsson and Claude Fable 5
2026-08-04 11:51:25 +02:00
5ca64bde30
feat(bokslut): IL 18 kap pooled tax depreciation with method election (#1393 )
Mattsson and Claude Fable 5
2026-08-04 11:43:58 +02:00
00ae3540db
feat(customers): carry contact person and invoice copy recipients through migration (#1392 )
Mattsson and Claude Fable 5
2026-08-04 10:00:03 +02:00
cb3ef45f14
feat(assets): atomic asset disposal workflow (avyttring, utrangering, verksamhetsoverlatelse) (#1391 )
Mattsson and Claude Fable 5
2026-08-04 09:59:52 +02:00
1c9d378df8
feat(auth): enforce session idle and absolute timeouts (#1387 )
Mattsson and Claude Fable 5
2026-08-04 09:59:42 +02:00
f55bfc478b
fix(bookkeeping): three static templates named accounts that break or mis-book (#1397 )
2026-08-03 22:55:54 +02:00
a3d8fe733c
fix(packs): representation template named itself avdragsgill while booking 6072 (#1396 )
2026-08-03 22:32:12 +02:00
267ed6c1bb
feat(mcp): expose the konteringspaket catalogue as a resource (#1395 )
2026-08-03 22:17:27 +02:00
281cb3989d
fix(build): break Turbopack chunk-name hash collision from #1385 's import edge (#1394 )
Mattsson and Claude Fable 5
2026-08-03 19:28:15 +02:00
ff864ad3db
feat(packs): sync system templates from packs/ instead of the frozen migration (#1390 )
2026-08-03 18:55:59 +02:00
0ef3c03904
fix(salary): book net deductions as settlement lines so salary entries balance (#1374 )
Mattsson and Claude Fable 5
2026-08-03 18:51:53 +02:00
8443062b1f
fix(vat): enforce fraction unit for supplier invoice vat_rate writes (#1385 )
Mattsson and Claude Fable 5
2026-08-03 18:49:46 +02:00
5b9605d8e9
fix(packs): repair the four broken system templates the validator found (#1388 )
2026-08-03 18:46:55 +02:00
8299ee9fb4
fix(bookkeeping): resolve settlement account in all categorization flows and ship mis-booking audit (#1383 )
Mattsson and Claude Fable 5
2026-08-03 18:45:38 +02:00
e40dc64485
feat(invoices): invoice list column sorting and row-level status styling (#1375 )
Mattsson and Claude Fable 5
2026-08-03 18:43:30 +02:00
a2f7132c94
fix(year-end): conservative historical repair for carried-forward 2099 (#1373 )
Mattsson and Claude Fable 5
2026-08-03 18:41:54 +02:00
5d7952a01e
feat(mcp): model-free document upload via signed URL (#1378 )
Mattsson and Claude Fable 5
2026-08-03 18:41:05 +02:00
00d4c8a49e
feat(invoices): ROT/RUT payout file dialog and file guards (#1380 )
Mattsson and Claude Fable 5
2026-08-03 18:16:46 +02:00
df34cae9bf
feat(packs): konteringspaket as validated data files (phase 2a) (#1386 )
2026-08-03 18:05:54 +02:00
c1888fcd5e
feat(inbox): make custom-domain dialog ship-ready while gate stays off (#1377 )
Mattsson and Claude Fable 5
2026-08-03 18:01:15 +02:00
cd7d7f52b9
feat(invoices): per-recipient email delivery outcomes (#1384 )
Mattsson and Claude Fable 5
2026-08-03 17:56:37 +02:00
bb1eddcccf
fix(salary): exempt F-skatt compensation from arbetsgivaravgifter (#1372 )
Mattsson and Claude Fable 5
2026-08-03 17:56:09 +02:00
24911abde0
feat(import): support Wise balance statements (#1368 )
Mattsson and Claude Fable 5
2026-08-03 17:55:09 +02:00
0510d4c13f
fix(sync): stop expired trials from starving automatic bank and skattekonto sync (#1376 )
Mattsson and Claude Fable 5
2026-08-03 17:32:39 +02:00
c9625fa45c
fix(salary): book lonevaxling pension provision from frozen run snapshot (#1382 )
Mattsson and Claude Fable 5
2026-08-03 17:26:49 +02:00
6782da3e9e
feat(bokslut): calculate and book overavskrivningar (2150/8850) (#1379 )
Mattsson and Claude Fable 5
2026-08-03 17:25:30 +02:00
16fbcefbbc
feat(invariants): shared format contracts + upgrade-path CI (#1364 )
2026-08-03 16:30:14 +02:00
ef237351b6
test(db): verify annual-report compliance stack (#1367 )
Mattsson
2026-08-03 15:41:01 +02:00
f10bac6023
fix(reports): block unsupported EUR annual reports (#1366 )
Mattsson
2026-08-03 15:34:32 +02:00
d9fb5da16d
fix(reports): localize latest voucher label (#1365 )
Mattsson
2026-08-03 15:18:21 +02:00
9e54a8e400
fix: preserve invoice payment dates (#1332 )
Mattsson
2026-08-02 20:44:59 +02:00
18cdba3574
fix: make out-of-order SIE opening balances atomic (#1334 )
Mattsson
2026-08-02 20:39:29 +02:00
8a2498a987
fix(mcp): add true continuation to invoice list tools (#1327 )
Mattsson
2026-08-01 19:03:51 +02:00
115147d304
docs(docker): improve NAS self-hosting compatibility (#1330 )
Mattsson
2026-08-01 18:54:46 +02:00
bfbd926950
fix: paginate MCP inbox items (#1329 )
Mattsson
2026-08-01 18:50:42 +02:00
bcf919d995
fix: expose inbox filenames via MCP (#1328 )
Mattsson
2026-08-01 18:30:27 +02:00
fd376eff94
fix: audit Cloud Backup OAuth redirects (#1324 )
Mattsson
2026-08-01 16:08:37 +02:00
d684e3c440
feat: add theme palettes (#1326 )
Mattsson
2026-08-01 16:02:12 +02:00
f24e1076cf
fix(templates): explain the Kostnad/Intäkt vs Betalning choice in the mall editor (#1325 )
2026-08-01 15:57:24 +02:00
4933fae7a9
fix(bookkeeping): correct seeded BAS account names that contradicted engine bookings (#1321 )
Jakob Wennberg and Claude Fable 5
2026-07-31 08:58:27 +02:00
f49dc3438d
fix(sandbox): lock what the sandbox cannot actually do (#1318 )
Jakob Wennberg and Claude Opus 5
2026-07-30 20:05:27 +02:00
0f1c7c9365
fix(import): refuse a Bokio connection that opens a different company (#1315 )
Jakob Wennberg
2026-07-30 19:07:40 +02:00
27ae59040e
fix(transactions): retire stale invoice match pointers when an invoice settles (#1313 )
Jakob Wennberg and Claude Opus 5
2026-07-30 18:52:24 +02:00
1a5d205bd6
fix(webhooks): derive the stuck-in_flight window from the cycle bound and charge the stall an attempt (#1311 )
Jakob Wennberg and Claude Opus 5
2026-07-30 18:51:41 +02:00
f3bf50d862
fix(invoices): roll back the header row when a recurring-schedule item replace fails (#1312 )
Jakob Wennberg and Claude Opus 5
2026-07-30 18:50:56 +02:00
4a38fa30ed
fix(recon): share the cash-account scope and cover the no-1930 case (#1309 )
Jakob Wennberg and Claude Opus 5
2026-07-30 18:50:19 +02:00
9bb8b40420
fix(vat): veto the ruta 05 rate fallback on a contradicting account label (#1310 )
Jakob Wennberg and Claude Opus 5
2026-07-30 18:49:39 +02:00
fa394e3759
fix(skattekonto): look-alike beslut rows, the list-to-voucher round trip, makulerad rendering, huvudbok discoverability (#1297 )
Jakob Wennberg and Claude Opus 5
2026-07-30 18:27:29 +02:00
144cc51458
fix(mcp): scope VAT close reconciliation account (#1295 )
Mattsson
2026-07-30 11:29:50 +02:00
6318501b71
fix(vat): recover ruta 05 for null-rate custom accounts (#1296 )
Mattsson
2026-07-30 11:28:50 +02:00
392e847c1e
fix(transactions): block invalid invoice match targets (#1294 )
Mattsson
2026-07-30 11:20:08 +02:00
17a7a62ceb
fix(reports): stop the resultatavslut zeroing declarations, and make the mistake uninventable (#1293 )
Mattsson and Claude Opus 5
2026-07-30 09:03:05 +02:00
954ce873a8
fix(transactions): confirm and allow undo on a counterparty booking (#1292 )
Jakob Wennberg
2026-07-29 19:58:47 +02:00
198d3092c7
fix: counterparty template pick crashes the page (#1291 )
Jakob Wennberg
2026-07-29 19:20:25 +02:00
16f34fb214
fix(arcim): resolve OAuth redirect_uri identically in authorize and exchange (#1287 )
Jakob Wennberg and Claude Fable 5
2026-07-29 18:47:07 +02:00
ef25a87d75
feat(mcp): Tasks extension (io.modelcontextprotocol/tasks) (#1283 )
Jakob Wennberg and Claude Fable 5
2026-07-29 18:15:06 +02:00
4501f118c2
feat(mcp): approval-queue MCP Apps widget for staged operations (#1278 )
Jakob Wennberg and Claude Fable 5
2026-07-29 18:02:17 +02:00
dc5aea4a35
feat(mcp): speak spec revision 2026-07-28 (stateless core) (#1277 )
Jakob Wennberg and Claude Fable 5
2026-07-29 18:02:05 +02:00
3bbf2a051b
Fix/bank sync bas (#1284 )
Mattsson and Claude Opus 5
2026-07-29 13:28:51 +02:00
108f348c84
refactor(motion): retime content entry, stop the double and one-frame animations (#1282 )
Jakob Wennberg and Claude Opus 5
2026-07-29 12:35:32 +02:00
3d02a74147
refactor(ui): system hygiene sweep from the UI craft audit (#1281 )
Jakob Wennberg and Claude Opus 5
2026-07-29 12:33:40 +02:00
bc5c673f7d
fix(ui): reach touch-only actions, confirm before posting, drop a dead ring (#1280 )
Jakob Wennberg and Claude Opus 5
2026-07-29 12:33:36 +02:00
8571f9235b
chore(skills): retire generic design skills superseded by emilkowalski/skills (#1279 )
Jakob Wennberg and Claude Opus 5
2026-07-29 12:33:30 +02:00
0df05c83c6
fix(email): calm, correctly-signed consent expiry notification (#1276 )
Jakob Wennberg and Claude Fable 5
2026-07-29 10:20:17 +02:00
80a14ddfd2
feat(mcp): dimension parity for the write/read tool edges (#1274 )
Jakob Wennberg and Claude Fable 5
2026-07-29 09:39:53 +02:00
222e581476
feat(categorize): dimension bags end-to-end + runtime template learning (#1273 )
Jakob Wennberg and Claude Fable 5
2026-07-29 09:39:23 +02:00
951b33363b
feat(recurring): carry dimension bags on recurring invoice schedules (#1272 )
Jakob Wennberg and Claude Fable 5
2026-07-29 09:38:52 +02:00
65c6d4c178
Fix/07 27 (#1271 )
2026-07-28 19:50:16 +02:00
151ef51cc5
feat(sandbox): call the sandbox assistant Assistenten, not Anna (#1244 )
Jakob Wennberg and Claude Opus 5
2026-07-28 18:55:16 +02:00
10a7d961f3
fix(supplier-invoices): flag foreign 0 % lines with reverse charge switched off (#1255 )
Jakob Wennberg and Claude Opus 5
2026-07-28 18:41:25 +02:00
ece6eca922
fix(storage): drop the client-side DELETE policy on the documents bucket (#1254 )
Jakob Wennberg and Claude Opus 5
2026-07-28 18:34:55 +02:00
579f48752e
fix(bokslut): add bokslut-flow depreciation (78xx) back to the bolagsskatt base (#1253 )
Jakob Wennberg and Claude Opus 5
2026-07-28 18:29:37 +02:00
49ff234954
feat(webhooks): dispatch on emit instead of waiting for the next cron tick (#1256 )
Jakob Wennberg and Claude Opus 5
2026-07-28 18:08:24 +02:00
e171bffa97
fix(docs): unbreak the website export script (server-only import chain) (#1251 )
Jakob Wennberg
2026-07-27 19:57:07 +02:00
63bf0d5ad7
fix(skatteverket): stop classifying the APIGW scope-contract 403 as MISSING_SCOPE (#1250 )
Jakob Wennberg
2026-07-27 19:51:23 +02:00
7c44cef66d
fix(supplier-invoices): freeze verifikat-critical fields once the registration entry is posted (#1249 )
Jakob Wennberg
2026-07-27 19:45:26 +02:00
de461c2cf8
feat(support): report both channel outcomes on the feedback breadcrumb (#1252 )
Jakob Wennberg and Claude Opus 5
2026-07-27 19:30:34 +02:00
4dfdb35e13
feat(plugin): ready the Claude Code plugin for directory submission (#1245 )
Jakob Wennberg and Claude Fable 5
2026-07-27 19:18:28 +02:00
69c537fd1f
fix(documents): anchor floating supplier-invoice underlag instead of nagging (#1248 )
Jakob Wennberg and Claude Opus 5
2026-07-27 18:04:15 +02:00
771dfd45ba
docs(compliance): record the deletion trigger for client-side storage (#1246 )
Jakob Wennberg and Claude Opus 5
2026-07-27 17:07:22 +02:00
46c0b72ab0
feat(auth): surface duplicate-account traps around BankID login (#1234 )
Jakob Wennberg and Claude Fable 5
2026-07-27 17:00:15 +02:00
ff205951b1
fix(auth): store BankID personnummer ciphertext as raw bytea, not JSON-serialized Buffer (#1233 )
Jakob Wennberg and Claude Fable 5
2026-07-27 16:58:48 +02:00
88099f5390
docs(privacy): state the two local values PostHog actually stores (#1242 )
Jakob Wennberg and Claude Opus 5
2026-07-27 16:55:45 +02:00
fbd4b992f5
Add/db and speed (#1243 )
Mattsson and Claude Opus 5
2026-07-27 16:49:24 +02:00
1a7152a7af
feat(settings): skyline masthead on Abonnemang + AI works-with marks on API tab (#1241 )
Jakob Wennberg and Claude Fable 5
2026-07-27 16:41:22 +02:00
d47b19fd74
docs: correct the systemdokumentation template to match the actual system (#1240 )
Jakob Wennberg and Claude Opus 5
2026-07-27 16:32:36 +02:00
52ec3ce497
feat(support): open PostHog tickets from the existing support dialog (#1239 )
Jakob Wennberg and Claude Opus 5
2026-07-27 16:23:32 +02:00
1dce9227a4
feat(assistant): make the thumbs actually report something (#1236 )
Jakob Wennberg and Claude Opus 5
2026-07-27 15:46:08 +02:00
2da96c0be2
fix(agent): stop sending every page view to a third-party avatar CDN (#1226 )
Jakob Wennberg and Claude Opus 5
2026-07-27 15:35:14 +02:00
248d98bd7e
feat(analytics): remove Recapt, PostHog is now the only analytics (#1238 )
Jakob Wennberg and Claude Opus 5
2026-07-27 15:08:32 +02:00
c62d00bcb3
feat(invoices): preview invoices and underlag in the browser instead of downloading (#1228 )
Jakob Wennberg and Claude Opus 5
2026-07-27 14:59:33 +02:00
df29817826
fix(supplier-invoices): make the 'overdue' label two-way and stop it locking an invoice (#1227 )
Jakob Wennberg and Claude Opus 5
2026-07-27 14:49:22 +02:00
f5697cfc2f
feat(articles): filter the article register by currency (#1229 )
Jakob Wennberg and Claude Opus 5
2026-07-27 14:39:13 +02:00
d4f82cafc4
feat(analytics): add PostHog (EU) behind a same-origin proxy (#1237 )
Jakob Wennberg and Claude Opus 5
2026-07-27 14:30:49 +02:00
922cf16227
fix(deps): override postcss to 8.5.18+ to clear two HIGH CVEs (#1235 )
Jakob Wennberg
2026-07-27 14:27:18 +02:00
7dde8cac82
fix(security): resolve the CodeQL backlog, three fixes and three documented false positives (#1225 )
Jakob Wennberg
2026-07-27 14:02:25 +02:00
4702a63cff
fix(assistant): announce answers to screen readers, one label map, links that keep the thread (#1224 )
Jakob Wennberg and Claude Opus 5
2026-07-27 12:48:40 +02:00
5369349e9e
chore(ci): unblock the CVE gate, finish Sonnet 5, parallelize, harden the supply chain (#1223 )
Jakob Wennberg
2026-07-27 12:01:03 +02:00
bcbe9b0903
feat(assistant): say what the conversation is anchored to (#1222 )
Jakob Wennberg and Claude Opus 5
2026-07-27 11:26:16 +02:00
60cc51fe21
feat(assistant): dock the panel into the frame, give the trigger a status channel (#1220 )
Jakob Wennberg and Claude Opus 5
2026-07-27 10:57:22 +02:00