This website requires JavaScript.
3c0bf3f584
feat(deadlines): gate F-skatt reminders on debited preliminary tax + durable dismissal (#1057 )
Jakob Wennberg and Claude Fable 5
2026-07-17 15:48:25 +02:00
97907a5a5c
fix: article ordering, free-text rows, invoice back-nav, onboarding resilience (#1053 ) (#1056 )
Jakob Wennberg and Claude Fable 5
2026-07-17 14:45:43 +02:00
0e9cca2750
Add/customer mcp (#1055 )
Mattsson and Claude Fable 5
2026-07-17 14:13:53 +02:00
bfd5b42eb1
feat(settings): open Assistenten on Kunskap with the konteringskarta first (#1044 )
Jakob Wennberg and Claude Fable 5
2026-07-17 13:43:57 +02:00
fd1c266cb0
chore: salvage unmerged work from the 2026-07-16 worktree audit (#1043 )
Jakob Wennberg and Claude Fable 5
2026-07-17 13:35:55 +02:00
5b8e3fa130
fix(vat): enforce decimal vat_rate on supplier invoice items and normalize MCP percent extraction (#1049 )
Jakob Wennberg and Claude Fable 5
2026-07-17 13:28:36 +02:00
03fd1b60b7
fix(bokslut): derive preview netResult from the 2099/2010 closing amount (#1045 )
Jakob Wennberg and Claude Fable 5
2026-07-17 11:51:10 +02:00
88f53350de
fix(errors): translate typed engine errors instead of leaking raw messages as journal_entry_error (#1048 )
Jakob Wennberg and Claude Fable 5
2026-07-17 11:51:07 +02:00
d182cf5d93
refactor(bokslut): convert periodiseringsfond balance query off the journal_entries!inner embed (#977 ) (#1047 )
Jakob Wennberg and Claude Fable 5
2026-07-17 11:51:03 +02:00
f91536c86c
fix(ui): migrate remaining native confirm() calls to DestructiveConfirmDialog (#1046 )
Jakob Wennberg and Claude Fable 5
2026-07-17 11:51:00 +02:00
a5e37d3510
Fix/build (#1041 )
Mattsson and Claude Fable 5
2026-07-17 00:52:57 +02:00
1443235cec
feat(invoices): registrera utan att bokföra + explicit Bokför-steg (#1040 )
Jakob Wennberg and Claude Fable 5
2026-07-16 18:15:20 +02:00
14f7478abb
feat(reports): reskontra per valfritt datum + PDF-export (#1039 )
Jakob Wennberg and Claude Fable 5
2026-07-16 18:14:45 +02:00
f8611f2e89
fix(ui): use styled confirm dialog for salary and recurring-invoice destructive actions (#1036 )
Jakob Wennberg and Claude Fable 5
2026-07-16 18:14:34 +02:00
a95872928e
fix(supplier-invoices): warn on class 1/6 accounts for reverse charge lines (#1034 )
Jakob Wennberg and Claude Fable 5
2026-07-16 18:14:23 +02:00
6bd85f94b6
fix(bookkeeping): editable verifikationstext on andringsverifikation (#1035 )
Jakob Wennberg and Claude Fable 5
2026-07-16 18:14:02 +02:00
90e4f668c9
fix(bookkeeping): tiebreak same-date vouchers in the date-sort direction (#1032 )
Jakob Wennberg and Claude Fable 5
2026-07-16 18:13:39 +02:00
f0907da7e9
fix(v1): thread resolved settlement account through FX and cash-method supplier-payment branches (#1033 )
Jakob Wennberg and Claude Fable 5
2026-07-16 18:13:09 +02:00
1dc85736d8
feat(import): add Wise (TransferWise) CSV import format (#1018 )
2026-07-16 16:22:32 +02:00
f8033cb32d
fix(transactions): bind manually-fed transactions to a cash account (#1016 ) (#1017 )
2026-07-16 16:15:06 +02:00
aa5edd3aa7
fix(database): unblock credit note constraint validation (#1024 )
Mattsson and Jakob Wennberg
2026-07-16 16:04:06 +02:00
edef48471c
feat: add currency for articles (#834 )
Alexander Reinthal and Jakob Wennberg
2026-07-16 16:00:05 +02:00
2a1ec5ec2f
fix: Make SIE imports atomic (#860 )
2026-07-16 16:00:01 +02:00
4e2ca3f2a8
build(deps): bump the npm group with 11 updates (#1013 )
2026-07-16 15:55:52 +02:00
5ac560ce41
fix: generate tax deadlines for the installed base + correct 2893 label carryover (#1029 )
Jakob Wennberg and Claude Opus 4.8
2026-07-16 15:55:41 +02:00
8534ff1006
build(deps): bump the github-actions group with 8 updates (#1014 )
dependabot[bot]
2026-07-16 15:21:18 +02:00
1a0d67bd28
Update repository link in README for self-hosting (#1025 )
Daniel Schäf
2026-07-16 15:20:14 +02:00
d704714eef
fix(auth): show confirmation-specific copy when a signup link fails (#1027 )
Jakob Wennberg and Claude Opus 4.8
2026-07-16 11:20:18 +02:00
072aedeaf9
Fix/supp ag fb (#1023 )
Mattsson
2026-07-15 15:53:15 +02:00
a558c75678
fix(bookkeeping): clear the period IB link when stornoing an opening balance (#1022 )
Jakob Wennberg and Claude Opus 4.8
2026-07-15 14:10:51 +02:00
b6332e9ff4
Fix/skv connection flow (#1015 )
Mattsson and Claude Fable 5
2026-07-13 22:54:33 +02:00
e7e3c35f9e
fix(billing): charge Swedish VAT on Stripe subscriptions (#1011 )
Jakob Wennberg and Claude Opus 4.8
2026-07-13 10:58:57 +02:00
aab7e47c35
Bug/skv auth (#1010 )
Mattsson and Claude Fable 5
2026-07-13 01:40:03 +02:00
f04dc4c4e0
fix(transactions): allow re-linking a bank tx stranded on a reversed verifikat (#988 ) (#1009 )
Jakob Wennberg and Claude Opus 4.8
2026-07-12 22:43:02 +02:00
dcd33997b7
feat(agent): move 'Vad din agent vet' into settings (Assistenten -> Kunskap) (#1008 )
Jakob Wennberg and Claude Fable 5
2026-07-12 22:21:08 +02:00
4b51af3d80
feat(agent): 'Vad din agent vet' page rendering the ledger context (P2) (#935 )
Jakob Wennberg and Claude Fable 5
2026-07-12 21:25:34 +02:00
64ea0fef02
fix(transactions): resolve customer-invoice payment account from cash_account_id (#987 )
Jonas Flodén and Jakob Wennberg
2026-07-12 21:23:19 +02:00
8a41b5dbf2
fix(v1): resolve supplier-payment/categorize settlement account from cash_account_id (#986 )
Jonas Flodén and Jakob Wennberg
2026-07-12 21:14:16 +02:00
528c53ffe7
fix(transactions): stop defaulting supplier-invoice payment account to a stale private-funds setting (#985 )
Jonas Flodén and Jakob Wennberg
2026-07-12 21:04:39 +02:00
1e19099945
fix(ci): quote compliance-pr.yml name to fix invalid YAML (#1003 )
Jonas Flodén
2026-07-12 20:54:08 +02:00
715c671b67
fix(app): stop transient login errors flashing the full-screen fallback (#1002 )
Jakob Wennberg and Claude Opus 4.8
2026-07-12 20:05:43 +02:00
98d0c7f2d0
Add/stripe skv (#1004 )
Mattsson and Claude Fable 5
2026-07-12 19:14:12 +02:00
ee3c33c7a4
docs(api): correct /docs/api against the v1 implementation (#999 )
Jakob Wennberg
2026-07-12 12:57:26 +02:00
7d7f604e00
Add/stripe invoice link (#998 )
Mattsson and Claude Fable 5
2026-07-12 00:56:16 +02:00
0ef5593388
refactor(reports): restructure declaration pages around the filing pipeline (#992 )
Jakob Wennberg and Claude Fable 5
2026-07-11 23:22:52 +02:00
650c7be5e1
fix(bookkeeping): revive counterparty template learning (dead since the multi-tenant refactor) (#989 )
Jakob Wennberg and Claude Fable 5
2026-07-11 23:13:50 +02:00
3a2c57a167
feat(billing): paywall conversion pass (deferred first charge, trial touchpoint, sell-view upgrade) (#991 )
Jakob Wennberg and Claude Fable 5
2026-07-11 22:29:48 +02:00
9d91ee0168
fix(vat): keep the momsrapport intact after a manual nollställning (#990 )
Jakob Wennberg and Claude Fable 5
2026-07-11 21:37:30 +02:00
2774e01258
feat(vat): book the momsrapport as an editable settlement verifikat (#980 ) (#983 )
Jakob Wennberg and Claude Fable 5
2026-07-11 20:16:57 +02:00
5d7127a38a
chore(ops): remove the temporary personnummer backfill route (#982 )
Jakob Wennberg and Claude Fable 5
2026-07-10 14:24:22 +02:00
53452e183d
feat(ops): personnummer backfill route (temporary) + FX repair script (#981 )
Jakob Wennberg and Claude Fable 5
2026-07-10 14:07:43 +02:00
aec81cb7ad
fix(db): lock down exchange_rates writes, drop duplicate JEL index, receipts anon read (#969 )
Jakob Wennberg and Claude Fable 5
2026-07-10 11:05:40 +02:00
2be104ba34
fix(cloud-backup): mark dead Google tokens needs-reauth and surface reconnect in the UI (#970 )
Jakob Wennberg and Claude Fable 5
2026-07-10 11:04:11 +02:00
b06d73c23e
fix(enable-banking): recover error-state connections, respect PSD2 balance quota, clean error surface (#968 )
Jakob Wennberg and Claude Fable 5
2026-07-10 11:04:06 +02:00
6a9adcf00a
fix(skatteverket): stop hot-retrying APIGW subscription rejections in the AGI kvittenser cron (#963 )
Jakob Wennberg and Claude Fable 5
2026-07-10 11:04:02 +02:00
f87277393d
fix(events): retry transient event_log persistence failures and stop racing function suspension (#966 )
Jakob Wennberg and Claude Fable 5
2026-07-10 11:03:58 +02:00
7c739529d6
fix(documents): make the nightly integrity-verify cron finish and surface missing objects (#965 )
Jakob Wennberg and Claude Fable 5
2026-07-10 11:03:54 +02:00
b4a21b1029
fix(documents): RFC 5987 Content-Disposition so NFD filenames stop crashing inline view (#964 )
Jakob Wennberg and Claude Fable 5
2026-07-10 11:03:50 +02:00
5b505bb4a7
fix(entitlements): stop passing a component across the RSC boundary on the extension upsell page (#962 )
Jakob Wennberg and Claude Fable 5
2026-07-10 11:03:46 +02:00
a8801430f4
fix(reports): stop driving report queries from the unfiltered journal_entry_lines side (#971 )
Jakob Wennberg and Claude Fable 5
2026-07-10 11:03:28 +02:00
da859d7236
refactor(ui): design-system consistency pass over dense pages + i18n de-bloat (#961 )
Jakob Wennberg and Claude Fable 5
2026-07-10 08:56:30 +02:00
ca8a89324c
build(deps): bump the npm group minus major bumps (from #949 ) (#959 )
2026-07-09 22:19:18 +02:00
c9d9c5fe99
fix(billing): block demo/sandbox accounts from Stripe checkout (#948 )
Jakob Wennberg and Claude Opus 4.8
2026-07-09 22:16:25 +02:00
0626bb6326
feat(app): prompt to reload when a newer deploy is live (#951 )
Jakob Wennberg and Claude Opus 4.8
2026-07-09 22:14:37 +02:00
82c66739d7
fix(transactions): steer duplicate guard to matching for ledger-only vouchers (#958 )
Jakob Wennberg and Claude Fable 5
2026-07-09 22:08:44 +02:00
d7e110b6b2
build(deps): regenerate lucide-react 1.22 lockfile on current main with npm 10 (#639 )
2026-07-09 22:05:12 +02:00
2e7931b36b
feat(customers): let users set a customer number shown on the invoice (#957 )
Jakob Wennberg and Claude Fable 5
2026-07-09 21:27:03 +02:00
11400b4dec
fix(banking): base sync date suggestions on booked coverage and the real fiscal period (#956 )
Jakob Wennberg and Claude Fable 5
2026-07-09 21:20:24 +02:00
2c5e1ce317
fix(enable-banking): release ledger claims on disconnect so reconnect lands on the original account (#916 ) (#955 )
Jakob Wennberg and Claude Fable 5
2026-07-09 21:10:37 +02:00
15e5dc1a01
fix(csp): allow self-hosted Supabase Realtime WebSocket in connect-src (#954 )
Jakob Wennberg and Claude Fable 5
2026-07-09 21:10:13 +02:00
982fe77f72
fix(import): actionable hint when a bank CSV lands in the opening-balance importer (#953 )
Jakob Wennberg and Claude Fable 5
2026-07-09 21:10:09 +02:00
b21aa84268
fix(import): parse the real 2026 Lunar CSV export (issue #915 ) (#952 )
Jakob Wennberg and Claude Fable 5
2026-07-09 21:10:05 +02:00
c1ea0d9bf2
fix(salary): make pain.001 betalfil generatable (company IBAN + BIC) (#950 )
Jakob Wennberg and Claude Opus 4.8
2026-07-09 12:35:52 +02:00
bacc5914af
Fix/dependabot cus feedback (#946 )
Mattsson and Claude Opus 4.8
2026-07-09 12:19:57 +02:00
b1f85bc33e
fix(inbox): stop the onboarding card rendering twice below xl (#944 )
Jakob Wennberg and Claude Opus 4.8
2026-07-09 11:05:40 +02:00
8dde46ad96
fix(db): reconcile prod-orphaned migrations blocking Supabase branching (#942 )
Mattsson and Claude Opus 4.8
2026-07-08 23:54:49 +02:00
c068638d24
fix(dependencies): downgrade @anthropic-ai/bedrock-sdk to version 0.29.1 (#940 )
Mattsson
2026-07-08 21:07:06 +02:00
3a3c4adbc6
Bug/ai assistant config (#939 )
Mattsson and Claude Fable 5
2026-07-08 20:19:02 +02:00
ae489cfdcb
fix(client): update AWS credential handling to prefer BEDROCK_AWS_* environment variables (#937 )
Mattsson
2026-07-08 18:09:34 +02:00
b10cf2ec23
fix(banking): harden PSD2 loading, error, and refresh states (#934 )
Jakob Wennberg
2026-07-08 16:55:29 +02:00
c3764e8987
feat(mcp): point agents at ledger_context before booking (openwiki discovery) (#933 )
Jakob Wennberg and Claude Fable 5
2026-07-08 15:09:15 +02:00
fddc58f624
fix(mcp): exclude VAT contra accounts from ledger-context dominant pick (#932 )
Jakob Wennberg and Claude Fable 5
2026-07-08 15:04:25 +02:00
a3c6566caf
feat(mcp): ledger-context resource with per-company booking patterns (#928 )
Jakob Wennberg and Claude Fable 5
2026-07-08 13:48:04 +02:00
abe9ac9d8c
Fix/attributes config (#926 )
Mattsson and Claude Opus 4.8
2026-07-08 09:54:46 +02:00
63e05c4eec
fix(import): company-scope the bank_file_imports dedup key (#925 )
Jakob Wennberg and Claude Fable 5
2026-07-08 02:14:15 +02:00
19cbb0094b
fix(entitlements): gate the AI-only invoice-inbox for non-payers (#924 )
Jakob Wennberg and Claude Fable 5
2026-07-07 23:20:39 +02:00
a566a42aec
fix(entitlements): gate remaining paid-feature UI, drop stale beta pricing copy (#921 )
Jakob Wennberg and Claude Opus 4.7
2026-07-07 14:22:14 +02:00
ed7a178ac6
fix(import): scope bank account picker to the active company (#922 )
Jakob Wennberg and Claude Opus 4.7
2026-07-07 14:17:35 +02:00
cbffcd7292
fix(invoices): accept empty self-billing fields on invoice create (#920 )
Mattsson and Claude Opus 4.8
2026-07-07 13:20:23 +02:00
27b88426e2
fix(entitlements): show paid features as gated upsells instead of dead ends (#913 )
Jakob Wennberg and Claude Opus 4.7
2026-07-07 10:01:44 +02:00
fca75df3e2
chore: update snapshot for endpoint counts and keys (#912 )
Mattsson
2026-07-07 01:50:18 +02:00
3a88b53fd9
Add/api and invoice (#911 )
Mattsson and Claude Opus 4.8
2026-07-07 01:14:59 +02:00
7f24ede6c0
fix(entitlements): close paywall leaks on interactive bank, SKV, and email routes (#910 )
Jakob Wennberg and Claude Opus 4.7
2026-07-06 22:20:26 +02:00
573feea890
perf: cross-system snappiness batch (middleware, loading states, bundle) (#909 )
Jakob Wennberg and Claude Opus 4.7
2026-07-06 16:16:33 +02:00
cdac1808c9
feat(api): ROT/RUT, articles, and project lifecycle on the v1 API (#904 )
Jakob Wennberg and Claude Opus 4.7
2026-07-06 15:21:53 +02:00
31b244acf5
fix: stop dropping VAT on MCP inbox-converted supplier invoices (#896 )
Jonas Flodén and Jakob Wennberg
2026-07-06 14:04:37 +02:00
a1fad3193e
build(deps): bump the minor-and-patch group (38 updates) (#884 )
dependabot[bot]
2026-07-06 13:53:09 +02:00
5149caebbf
fix(transactions): use the resolved cash account name as bank line description (#899 )
Jonas Flodén
2026-07-06 12:14:02 +02:00
185b6f799c
fix(build): pin turbopack.root, update comment for middleware to proxy rename (#897 )
Jonas Flodén
2026-07-06 12:13:59 +02:00
8094f288fa
fix(ci): quote workflow name with embedded colon in compliance-swarm.yml (#898 )
Jonas Flodén
2026-07-06 12:08:42 +02:00