This website requires JavaScript.
d3409183c0
fix(categorize): make confidence honest — backing-driven, not the model's word (#1791 )
2026-08-21 16:43:20 +02:00
316189675a
fix(peppol): read Qvalia's prefixed UBL-JSON keys, add incoming probe (#1786 )
2026-08-21 16:09:40 +02:00
72c81c21e7
feat(categorize): feed the selector the underlag, not just the bank line (#1785 )
2026-08-21 16:00:43 +02:00
704bf93e08
feat(categorize): confidence calibration engine + measurement loop (cascade step 4) (#1784 )
2026-08-21 15:55:26 +02:00
524d9978f1
fix(migration): resumable underlag import without inline extraction + same-origin MCP storage URLs (#1783 )
2026-08-21 15:28:37 +02:00
0531576807
feat(transactions): AI booking proposal in the quick-review dialog (cascade step 3) (#1782 )
2026-08-21 15:04:03 +02:00
e7a5e65ecf
feat(categorize): Tier 1 candidate gathering + the proposal route (#1781 )
2026-08-21 13:32:09 +02:00
b17878e58f
feat(categorize): provider-agnostic account selector (auto-booking cascade, Tier 2) (#1779 )
2026-08-21 13:19:46 +02:00
148ec0ce85
feat(agent): docked assistant sheet runs general.help on the single-call console (#1769 )
2026-08-21 13:13:54 +02:00
05c3c6ebd9
feat(peppol): Qvalia access-point adapter, send flow and delivery webhook (#1780 )
2026-08-21 12:45:11 +02:00
8249fcab5e
feat(mileage): suggest driving distance from the from/to addresses (#1778 )
Mattsson and Claude Fable 5
2026-08-21 12:19:35 +02:00
60920ec794
feat(skatteverket): expose filed VAT declarations and decisions via the v1 API (#1773 )
Mattsson and Claude Fable 5
2026-08-21 12:12:18 +02:00
0de766c6a4
fix(bokslut): stop step 3 (Dispositioner) from failing for every pre-2025 räkenskapsår (#1777 )
2026-08-21 11:47:29 +02:00
f11a78ec50
feat(providers): request the Fortnox attachment scopes now that the portal grants them (#1776 )
2026-08-21 09:20:28 +02:00
f3e4fdcf32
fix(providers): stop the Fortnox reconnect loop, and make the attachment scopes opt-in (#1761 )
2026-08-21 08:33:34 +02:00
c5b7716f74
revert(nav): keep company switching in the bottom user block only (#1775 )
2026-08-20 22:15:03 +02:00
577552ca94
docs(privacy): name Anthropic in the Bedrock row, state replay deny-by-default, pin disclosures to code (#1766 )
Mattsson and Claude Fable 5
2026-08-20 21:36:47 +02:00
72181e49bd
feat(nav): one-click company switching at the top of the sidebar (#1664 ) (#1765 )
Mattsson and Claude Fable 5
2026-08-20 21:30:57 +02:00
47c039453c
feat(import): undo a bank file import including ignored transactions (#1764 )
Mattsson and Claude Fable 5
2026-08-20 21:25:18 +02:00
ff4425d10e
feat(agent): let the single-call assistant read the ledger via read-only MCP tools (#1767 )
2026-08-20 21:18:21 +02:00
febb4cc0c2
fix(import): let provider re-sync re-import an earlier fiscal year after data deletion (#1763 )
Mattsson and Claude Fable 5
2026-08-20 21:11:15 +02:00
3f6f1ab06e
feat(chat): single-call console for general.help, persisted, runs on a local model (#1762 )
2026-08-20 20:35:16 +02:00
a071a0220b
feat(agent): provider-agnostic single-call assistant endpoint (runs on a local model) (#1759 )
2026-08-20 19:48:43 +02:00
4ecc888416
feat(ai): self-host enablement for BYO endpoints: poppler in the runner image, backend-agnostic smoke script, docs (#1743 )
2026-08-20 19:48:21 +02:00
c7a75d069d
feat(ai): job-shaped AI service with OpenAI-compatible backend, extraction-first; stop extracting every inbox document twice (#1740 )
2026-08-20 19:39:08 +02:00
fbf47649f2
chore(build): type-check what ships (tsconfig.build.json) and move to Next 16.3.1 (#1750 )
2026-08-20 15:27:13 +02:00
051f467406
fix(build): give the Vercel type-check worker a 6 GB heap so next build stops stalling at the 45-min cap (#1749 )
2026-08-20 15:13:49 +02:00
e733ab7c43
fix(arsredovisning): unblock the signing flow, accept foreign parent org nr, explain Fortnox underlag failures (#1738 )
2026-08-20 13:25:06 +02:00
5a8dd21931
feat(reconciliation): page-owned window, automatic matching, and a way out for unbookable rows (#1742 )
2026-08-20 13:14:31 +02:00
b5e908f9ea
feat(reconciliation): explain the difference instead of just printing it (#1737 )
2026-08-20 12:41:55 +02:00
a92c492dbe
refactor(ui): record detail pages as documents, not card piles (#1739 )
2026-08-20 12:29:43 +02:00
db14ac18cb
fix(nav): replace the expired Discord invite in the user menu (#1741 )
2026-08-20 12:24:46 +02:00
9a7db6bbdf
fix(providers): accept Bokio's flat company-information body (live API differs from spec) (#1735 )
2026-08-20 11:12:39 +02:00
e6c4fe2cf8
fix(customers): personnummer guard + personal_number on v1 + payment terms from settings (#1724 )
2026-08-20 10:41:24 +02:00
9fc05c383f
feat(notices): one aggregated notice line instead of stacked degraded-state banners (#1733 )
2026-08-20 10:27:52 +02:00
4cf227001d
fix(skattekonto): bound the sync to the first räkenskapsår, add an ignore path, EF-aware avdragen skatt (#1729 )
2026-08-20 10:22:13 +02:00
b77af371c4
fix(transactions): persist the source filter per company and stop the reset race (#1726 )
2026-08-20 10:08:40 +02:00
3de5dee553
fix(enable-banking): reconnect supersedes the old connection and stops duplicate imports (#1728 )
2026-08-20 10:08:04 +02:00
1ded1af8fe
fix(enable-banking): one primary action per connection state on /settings/banking (#1727 )
2026-08-20 10:07:04 +02:00
e1805125af
polish(dashboard): downgrade the build-assistant hero to the quiet-sentence promo (#1731 )
2026-08-20 10:06:24 +02:00
64fc7c783d
fix(periodisering): stop overselling automatic periodization to enskild firma (#1730 )
2026-08-20 10:06:01 +02:00
c402421908
feat(billing): make the expired-trial state visible with a clear upgrade path (#1725 )
2026-08-20 10:05:39 +02:00
834cc4d0e8
fix(ui): kill horizontal overflow in dialogs and cut the worst modal copy (#1732 )
2026-08-20 10:03:52 +02:00
68ca152127
fix(import): stop a Swedish Lunar export being parsed as Nordea (#1734 )
2026-08-19 22:18:58 +02:00
4e20c9dec4
fix(import): bulk-confirm the VAT-treatment review gate in account mapping (#1723 )
2026-08-19 21:26:04 +02:00
506d030bb1
fix(reconciliation): exclude ignored transactions from the bank total and bridge whitespace-drifted duplicate descriptions (#1705 )
2026-08-19 20:19:26 +02:00
6b9338f17e
feat(invoices): Betald-stämpel i faktura-PDF + betalningsbekräftelse till kund (#1700 )
2026-08-19 20:17:18 +02:00
926ca75fd3
fix(rattelse): let a bank-side strike land on the linked bank amount (#1701 )
2026-08-19 20:09:23 +02:00
06e554f3cc
feat(vat): show already-booked banner when opening momsdeklaration (#1703 )
Daniel Stenborg and Cursor
2026-08-19 20:08:31 +02:00
eb0df1722b
fix(salary): show the sysselsättningsgrad product next to the run salary input (#1702 )
2026-08-19 20:07:51 +02:00
f101bde6a8
fix(selfhost): stop NEXT_PUBLIC_* flags being constant-folded out of the Docker build (#1656 )
2026-08-19 19:52:31 +02:00
bd85395cd6
feat(billing): rebuild the Abonnemang page as a clean order summary (#1696 )
2026-08-19 19:51:31 +02:00
bb5fafe87b
fix(orders): book webshop orders against 1686 and stop the missing-account dead end (#1697 )
2026-08-19 19:51:02 +02:00
3a1b842e4a
feat: add safe owner-only migration reset (#1682 )
Mattsson
2026-08-19 12:04:24 +02:00
b07a4a4bca
fix(entitlements): trial seeding grants every paid capability, not the launch four (#1698 )
2026-08-19 11:09:10 +02:00
43cde6deb9
fix: unignore transactions during categorization (#1683 )
Mattsson
2026-08-19 11:00:02 +02:00
b069d9a9fe
fix(import): keep mapping confirmation visible (#1684 )
Mattsson
2026-08-18 23:20:23 +02:00
dfa7097f3a
fix(auth): secure white-label invite and reset links (#1680 )
Mattsson
2026-08-18 23:17:26 +02:00
3ec76d39db
fix(providers): correct Bokio v1 connection validation (#1681 )
Mattsson
2026-08-18 23:00:44 +02:00
9d59e509ab
fix(invoices): fold the ROT/RUT card into Detaljer and mask personnummer as YYYYMMDD-XXXX (#1699 )
2026-08-18 21:26:52 +02:00
72603abfd6
feat(invoices): show the ROT/RUT claim on the invoice detail page (#1690 )
2026-08-18 17:33:11 +02:00
83932f2e07
fix(salary): show the AGI kvittensnummer from agi_declarations regardless of who fetched it (#1692 )
2026-08-18 17:32:23 +02:00
7d56e0ec01
fix(mcp): use canonical VAT deadlines (#1679 )
Mattsson
2026-08-18 17:22:52 +02:00
d0640e0968
fix(settings): clarify bankgiro source on Foretag tab, offer IBAN prefill from bank connection (#1695 )
Mattsson and Claude Fable 5
2026-08-18 17:18:51 +02:00
1af5846adf
fix(skatteverket): let company members read data connected by another member (#1691 )
2026-08-18 16:40:10 +02:00
619b446c52
fix(invoices): make the Swish QR encode the amount to pay after ROT/RUT deduction (#1685 )
Mattsson and Claude Fable 5
2026-08-18 16:39:49 +02:00
ffa18019f4
fix(invoices): carry ROT/RUT deduction into the editor PDF preview (#1687 )
2026-08-18 16:32:32 +02:00
3ea03c0fe1
fix(import): stop the generic CSV mapper picking a time column as description (#1689 )
2026-08-18 16:22:14 +02:00
c84f8b04c2
fix(mcp): return a clear validation error when categorize_transaction lacks category (#1688 )
2026-08-18 16:17:37 +02:00
1000f18169
fix(invoices): real empty states in the editor pickers (#1678 )
2026-08-18 11:09:43 +02:00
bc357531cc
feat(shopify): port the order sync from the transactions feed to webshop_orders (#1676 )
Mattsson and Claude Fable 5
2026-08-18 10:57:01 +02:00
cfdddb2d7e
feat(mcp): customer_number on create_customer + Beta tags on webshop surfaces (#1677 )
Mattsson and Claude Fable 5
2026-08-18 10:46:34 +02:00
387e1fb7f1
fix(import): let a skattekontoutdrag that does not sum through a confirm gate (#1675 )
2026-08-18 10:33:51 +02:00
2b5b813b7a
feat(invoices): rebuild the invoice editor as the snabbflöde single column (#1654 )
2026-08-18 09:56:35 +02:00
93e99012d7
feat(supplier-invoices): dokument-forst editor rebuild (prototype shell + 4 flow optimizations) (#1653 )
2026-08-18 09:50:48 +02:00
dc311726de
feat(mileage): prefill distance and purpose from earlier trips on the same route (#1657 )
Mattsson and Claude Fable 5
2026-08-18 09:16:52 +02:00
798a76ed7a
fix(invoices): accept USD/GBP payment accounts without an IBAN (#1649 )
2026-08-17 22:23:36 +02:00
76b8d5c100
fix(pending): show the staged kontering and bank currency on the bulk_book_transactions approval card (#1648 )
2026-08-17 22:21:53 +02:00
15a1c96292
fix(matching): bring the MCP match-invoice commit path to parity with the dashboard route (#1646 )
2026-08-17 22:21:18 +02:00
e70718eea3
fix(matching): make match_batch_allocate commit from the MCP approval path (#1645 )
2026-08-17 22:20:52 +02:00
1470596591
feat(mcp): make agent feedback a read loop, advertise the tool, and stop over-promising (#1650 )
2026-08-17 22:18:43 +02:00
40ce34b984
fix(reports): route 77xx nedskrivningar to the anläggningstillgångar RR line (#1644 )
2026-08-17 22:07:53 +02:00
7494274852
fix(reconciliation): stop counting a stornerad opening balance as the IB (#1647 )
2026-08-17 22:01:20 +02:00
a447b29210
fix(invoices): remaining_amount can no longer be inserted as 0 on an unpaid invoice (#1655 )
2026-08-17 21:36:16 +02:00
e030393fe6
fix(rot-rut): payment-side booking, reminders and claim completeness (#1652 )
2026-08-17 20:49:27 +02:00
79240cb2ed
fix(articles): article ROT/RUT prefill was dead for every dashboard-created article (#1651 )
2026-08-17 19:47:29 +02:00
1cd33d9d97
PR 2 of 2: fix/inbox-retry-extraction-rematch (#1631 )
2026-08-17 15:06:53 +02:00
3841ab9f54
feat(mcp): bulk-link documents to vouchers in one staged approval (#1411 )
2026-08-17 14:52:58 +02:00
4300cb711b
fix(inbox): match suppliers on VAT number, not just org-nr and name (#1630 )
2026-08-17 14:52:50 +02:00
0a3a2e1ad6
docs(docker): correct the Resend delivery webhook env var name (#1522 )
2026-08-17 14:52:42 +02:00
93541d7186
fix(ux): smoothness follow-ups - detail pages, batches, toasts, and the last edges (#1633 )
2026-08-17 14:30:25 +02:00
43a71aec3c
fix(supabase): stop server clients leaking a 30s refresh ticker per request (#1612 )
bjornbergenheim and Claude Opus 5
2026-08-17 14:30:17 +02:00
4921d1da5e
feat(import): import skattekontoutdrag files into the skattekonto pipeline (#1637 )
2026-08-17 13:18:32 +02:00
dfb34a01d9
feat(invoices,year-end): four byrå-feedback fixes (validation feedback, moms gate, klarmarkera, article search) (#1641 )
Mattsson and Claude Fable 5
2026-08-17 12:02:43 +02:00
caa0c3b41d
feat(mcp): accept article_id on gnubok_create_invoice lines (#1638 )
Mattsson and Claude Fable 5
2026-08-17 11:42:51 +02:00
f8db38f989
fix(analytics): mask session replays by default, chrome-only unmask (#1639 )
Mattsson and Claude Fable 5
2026-08-17 11:32:45 +02:00
1bb423b2b3
fix(salary): surface missing sender bankgiro/IBAN before betalfil download (#1640 )
Mattsson and Claude Fable 5
2026-08-17 11:15:37 +02:00
25524e1df4
fix(suppliers): stop requiring standardkonto that was never meant to be required (#1636 )
2026-08-17 10:41:03 +02:00
2eb3441244
fix(export): paginate the archive size estimate and explain scope counts (#1635 )
2026-08-17 10:20:18 +02:00
62c6fc44fe
fix(invoices): article pre-fills ROT/RUT and kundkort personnummer covers the claim (#1634 )
2026-08-17 10:06:05 +02:00