This website requires JavaScript.
238cbe13f9
feat(invoices): choose the first invoice date on recurring schedules (#2338 )
Mattsson and Claude Fable 5.1
2026-09-06 16:49:29 +02:00
0c854ac54f
feat(settings): let a company name each verifikationsserie letter (#2336 )
Mattsson and Claude Fable 5.1
2026-09-06 16:20:42 +02:00
0e3c0af841
fix(sie-import): refuse a closed or locked target year up front and point at Öppna igen (#2334 )
2026-09-05 19:13:28 +02:00
0ecf1d7fc4
fix(expenses): no help line for "Företaget" in the Vem betalade select (#2330 )
2026-09-05 18:07:01 +02:00
c0eda46354
feat(mail): withhold new Gmail consents on hosted unless the company is allowlisted (#2320 )
2026-09-05 17:51:45 +02:00
3e5670f978
fix(expenses): "Vem betalade?" as a compact select in the Underlag rail (#2327 )
2026-09-05 17:27:12 +02:00
b0b995c77c
fix(tab-guard): name the company the other tab switched to (#2328 )
2026-09-05 17:27:08 +02:00
473b1fd2eb
fix(providers): name the real Björn Lundén connect failure (integration not activated, not bad credentials) (#2322 )
2026-09-05 17:20:08 +02:00
41a5728ca7
fix(expenses): review follow-ups from #2317 (#2326 )
2026-09-05 16:43:53 +02:00
eb2ae1da17
fix(invoices): render statutory PDF notices in the document language (#2321 )
Mattsson and Claude Fable 5.1
2026-09-05 16:32:48 +02:00
cbe5580886
feat(expenses): utlägg as an answer to "Vem betalade?" in Underlag, not a page (#2317 )
2026-09-05 15:57:14 +02:00
bff44e5757
fix(parties): one "från SCB" note per contact section (#2316 )
2026-09-05 14:53:13 +02:00
971952fe19
fix(mail): request gmail.readonly alone, mailbox address via Gmail profile (Google verification) (#2301 )
2026-09-05 14:42:21 +02:00
0ad83b8d71
feat(parties): the register fills the row, a compact Företagsuppgifter, and the party for agents (v1 expand + MCP) (#2315 )
2026-09-05 14:33:20 +02:00
f33628f005
feat(import): say in the SIE wizard that the chart and fiscal year come along (#2307 )
Mattsson and Claude Fable 5.1
2026-09-05 13:56:54 +02:00
04898c3178
feat(parties): company details on the supplier and customer pages, the registry name becomes the displayed name (#2306 )
2026-09-05 13:43:34 +02:00
397a3b9bca
feat(expenses): expense claims module (utlägg) (#2145 )
Joakim Hansson
2026-09-05 13:36:51 +02:00
f7f40c04e4
fix: return provider OAuth callbacks to the initiating brand domain (#2305 )
Mattsson
2026-09-05 13:35:11 +02:00
287828a850
fix(payments): refuse to book a bank row that unlinked vouchers already explain (#2300 )
2026-09-05 11:59:59 +02:00
9418de585f
fix(invoices): say what is missing when an invoice preview cannot be rendered (#2303 )
Mattsson and Claude Fable 5.1
2026-09-05 11:55:45 +02:00
34bf5a7387
fix(providers): Fortnox freight and fee as rows, text rows as text, string quantities as numbers (#2304 )
2026-09-05 11:41:17 +02:00
e80ea74e76
fix(providers): map Fortnox VAT-inclusive rows net of VAT, and refuse migrated rows that contradict their header (#2302 )
2026-09-05 10:53:48 +02:00
7c36d471b5
fix(sandbox): use posting engine and recover failed seeds (#2297 )
Mattsson
2026-09-05 10:42:14 +02:00
8e1f9d5201
fix(migration): complete the rows of migrated sales invoices the hydration budget did not reach (#2291 )
2026-09-05 10:20:10 +02:00
0bd3c27fba
fix(assistant): the salary fact follows the ledger, never the column default (#2290 )
2026-09-05 09:49:21 +02:00
e684606b23
fix(supplier-invoices): a credit note is never a payable, so it never waits for attest (#2289 )
2026-09-05 09:43:00 +02:00
1e1e1d5d17
fix(enable-banking): connector-hop failures no longer park a connection in error (#2296 )
Mattsson and Claude Fable 5.1
2026-09-05 00:28:27 +02:00
abaab1bf8d
fix(settings): show series names in the verifikationsserie per typ picker (#2295 )
Mattsson and Claude Fable 5.1
2026-09-04 23:33:48 +02:00
a870c7f03e
fix(import): attach underlag by the basename of a folder-picked upload (#2288 )
2026-09-04 19:14:33 +02:00
9618bab273
fix(bookkeeping): a following year's own IB no longer blocks nollställ, and a re-dated räkenskapsår gets the right name (#2286 )
2026-09-04 18:49:23 +02:00
db289e3bdc
fix(payments): lock supplier payment batch inserts to the RPC and log the raw error behind create_failed (#2282 )
2026-09-04 17:19:18 +02:00
68fee7dbe7
fix(supplier-invoices): fit the list inside the content column (#2262 ) (#2281 )
2026-09-04 17:18:50 +02:00
88a3b5fb0f
fix(arcim): count already-linked invoices as done in the registration-link row (#2276 )
2026-09-04 17:18:22 +02:00
1976129478
feat(import): let the Fortnox import fetch older fiscal years: the three-year limit becomes a default selection (#2280 )
2026-09-04 17:14:49 +02:00
7a9036caa6
fix(kontoplan): remove the per-class active counter (#2273 )
2026-09-04 17:14:21 +02:00
f96a445d88
fix(sjalvfaktura): name the arrival date so it is not read as payment date (#2272 )
2026-09-04 17:13:52 +02:00
743e3ae7cc
fix(invoices): bank match stores the applied amount, not cash received, in invoice_payments (#2277 )
2026-09-04 17:13:29 +02:00
2d927349d3
fix(payroll): enforce the jamkning both-dates invariant with a CHECK constraint (#2279 )
2026-09-04 17:01:34 +02:00
c6ca119e73
feat(parties): one suggestion per legal person, rename on rebuild, review list for SCB matches, model reading for memos (#2274 )
2026-09-04 17:01:10 +02:00
be0478c219
fix(bokslut): kontantmetod cut-off treats the ROT/RUT share as settled on 1513 (#2278 )
2026-09-04 17:01:06 +02:00
6a68ecb4d4
fix(mfa): hard-navigate after TOTP verify, same race as #1984 on enroll (#2275 )
2026-09-04 17:00:39 +02:00
417abfbe1f
docs(claude): fix from first principles before implementing a proposed solution (#2283 )
2026-09-04 16:58:04 +02:00
d463ee1c87
feat(supplier-invoices): payment-queue sections and a grouping picker (#2102 )
2026-09-04 16:44:54 +02:00
304b50b5eb
feat(invoices): grouped sections and a grouping picker on the customer invoice list (#2101 )
2026-09-04 16:44:49 +02:00
4eb1626129
feat(salary): recurring payroll lines per employee (#2042 ) (#2044 )
2026-09-04 16:44:45 +02:00
50b6299699
feat(rot-rut): match Skatteverket's payout against the begäran from the bank row (#2271 )
Mattsson and Claude Fable 5.1
2026-09-04 14:33:41 +02:00
82859d01db
feat(parties): name the company inside a voucher text, and stop asking SCB about foreign ones (#2265 )
2026-09-04 13:43:41 +02:00
7240bfe7f3
fix(mcp): supplier-invoice-from-inbox resolves FX through the shared resolver, with the cache and an override (#2173 )
2026-09-04 09:47:16 +02:00
227a6317f1
fix(import): label the SIE preview IB total as "summa debet", not "IB Summa" (#2142 )
2026-09-04 09:42:41 +02:00
8265b5d166
feat(invoices): disclose invoice-register coverage gaps + net-amount search (#2122 )
2026-09-04 09:39:14 +02:00
67e878fb23
fix(mcp): reject unparseable voucher lines and allocation kinds; already-booked and unlinkable say why; N:1 reconcile groups survive staging (#2171 )
2026-09-04 09:27:26 +02:00
f767977bf5
docs(decisions): Accounted Connect runs as a separate private service (Option A) (#2197 )
2026-09-04 09:12:32 +02:00
01d903d3a3
fix(mcp): link_document_to_voucher marks the inbox item handled; document lists stop misleading agents (#2170 )
2026-09-04 08:57:53 +02:00
bac9e01e2d
fix(arcim): offer the company's own accounts as mapping targets (#2164 )
Pierre Grönberg
2026-09-04 08:56:56 +02:00
158108ec01
fix(bank): keep other companies' accounts out of the EB account picker (#2141 )
Mattsson and Claude Fable 5.1
2026-09-04 08:54:50 +02:00
11017ef9ee
build(deps-dev): bump @humanfs/node from 0.16.7 to 0.16.8 (#2192 )
dependabot[bot]
2026-09-04 08:52:18 +02:00
9ab823a43c
fix(migrations): re-issue the invoice payee migrations skipping migration-reset source companies (#2260 )
Mattsson and Claude Fable 5.1
2026-09-04 06:45:56 +02:00
91e2c66afc
fix(parties): readable suggestions from assistant vouchers, auto-build queue, SCB fetch after promotion (#2259 )
2026-09-03 21:19:12 +02:00
d670fe6663
feat(invoices): named payee accounts and per-invoice choice of bank account (#2233 )
Mattsson and Claude Fable 5.1
2026-09-03 21:06:45 +02:00
88a5d78594
fix(inbox): trace every received mail and file multi-recipient mail once per inbox (#2181 ) (#2244 )
Mattsson and Claude Fable 5.1
2026-09-03 20:47:24 +02:00
b07efcafd4
fix(payroll): require jamkning valid_to on every write path (#2058 ) (#2240 )
Mattsson and Claude Fable 5.1
2026-09-03 20:22:41 +02:00
22b98e0a3b
feat(parties): fetch registry facts from SCB into the dossier, with a picker for parties without an org number (#2258 )
2026-09-03 20:16:59 +02:00
47c73206e1
chore(parties): move party_decision_undo past a same-version migration merged tonight (#2257 )
2026-09-03 20:08:31 +02:00
34b677b02c
chore(ui): retire the Building2 icon app-wide (#2235 )
2026-09-03 20:02:14 +02:00
b996da60ee
feat(parties): Förslag från bokföringen, confirmed straight into Leverantörer and Kunder (#2206 )
2026-09-03 19:49:25 +02:00
e2d38b0ab3
fix(invoices): record manual and Stripe settlements in invoice_payments (#2236 )
Mattsson and Claude Fable 5.1
2026-09-03 19:42:43 +02:00
3159920d7c
fix(customers): re-issue the country backfill skipping migration-reset source companies (#2249 )
Mattsson and Claude Fable 5.1
2026-09-03 19:39:56 +02:00
a48508e5b0
feat(dimensions): show the value's name after picking, and let an unused custom dimension be deleted (#2219 ) (#2255 )
2026-09-03 19:20:09 +02:00
2c3ffaf51c
feat(invoices): offer proforma where the invoice is created (#2217 ) (#2254 )
2026-09-03 18:56:14 +02:00
c3b7e79af8
fix(errors): show a route's Swedish message even without a keyword match (#2086 ) (#2253 )
2026-09-03 18:55:33 +02:00
5070041028
fix(import): name the IB-imbalance cause and offer the manual opening-balance path (#2082 ) (#2252 )
2026-09-03 18:55:09 +02:00
1150930cb9
fix(customers): allow 0-day payment terms and say why the field is invalid (#2070 ) (#2251 )
2026-09-03 18:54:28 +02:00
5eac2a492c
fix(enable-banking): stop reading every ASPSP_ERROR as a too-wide window (#2202 ) (#2247 )
2026-09-03 18:43:01 +02:00
0c82db88da
fix(settings): say on the Danger zone rows that a typed confirmation follows (#2214 ) (#2245 )
2026-09-03 18:42:20 +02:00
e66195e5bb
fix(branding): render tenant logos unoptimized so self-hosted sidebars work (#2203 ) (#2246 )
2026-09-03 18:41:40 +02:00
cc18e9d530
fix(bookkeeping): let a backfilled first räkenskapsår start mid-month (#2237 ) (#2242 )
2026-09-03 18:41:14 +02:00
d69de86b71
fix(reports): count reversed originals in the KPI monthly breakdown (#2201 ) (#2243 )
2026-09-03 18:21:00 +02:00
3918ff6620
fix(customers): make country ISO-2 everywhere and check it against the customer type (#2241 )
Mattsson and Claude Fable 5.1
2026-09-03 18:09:46 +02:00
80b87c55fc
fix(skatteverket): treat AGI kvittens gateway refusals as errors and name the connector operator (#2234 )
Mattsson and Claude Fable 5.1
2026-09-03 17:47:02 +02:00
cb39cded81
fix(payroll): declare AGI for the payout month, not the run's period month (#2191 ) (#2228 )
2026-09-03 17:19:19 +02:00
601e521584
feat(kontoplan): filter the Verifikat column and inactivate unused accounts in bulk (#2186 ) (#2231 )
2026-09-03 17:18:08 +02:00
1e91c126ff
fix(worklist): count unbooked skattekonto rows in the Att göra badge and Hem list (#2180 ) (#2227 )
2026-09-03 17:17:41 +02:00
aeff998b90
feat(import): folder pick for underlag attach (#2189 ) (#2230 )
2026-09-03 17:17:25 +02:00
9a25672dcb
fix(import): stop the per-file model pass and parallelize underlag-to-verifikat attach (#2188 ) (#2229 )
2026-09-03 17:16:50 +02:00
bc5da12372
fix(mcp-oauth): allowlist Cursor's OAuth callbacks so its dynamic registration succeeds (#2225 )
Mattsson and Claude Fable 5.1
2026-09-03 15:33:58 +02:00
d900fea1a8
feat(connect): Skatteverket data calls through the connector with a per-company canary (#2209 )
Jakob Wennberg and Jakob Wennberg
2026-09-03 14:41:11 +02:00
65bd675f43
fix(auth): unlink social identities bound to the old address when the login email changes (#2208 )
Mattsson and Claude Fable 5.1
2026-09-03 14:25:32 +02:00
fefef038c5
fix(sales-orders): pin the sales_order_items embed FK and teach the embed guard composite keys (#2207 )
Mattsson and Claude Fable 5.1
2026-09-03 12:18:47 +02:00
4c6feea64d
feat(connect): bank sync through the connector operation, with a per-company canary (#2205 )
2026-09-03 11:06:47 +02:00
828628d882
fix(auth): land stock email-change links on the status page and stop retries voiding pending mails (#2199 )
Mattsson and Claude Fable 5.1
2026-09-03 10:55:12 +02:00
51b68afc87
fix(reconciliation): judge bank sign-off from the fiscal period start and show the refusal (#2200 )
Mattsson and Claude Fable 5.1
2026-09-02 23:11:42 +02:00
c72b8bcee1
feat(kpi): show every month's result in the Resultat per månad pane (#2198 )
Mattsson and Claude Fable 5.1
2026-09-02 22:43:11 +02:00
1c82baf553
feat(invoices): offert (quote) document type with own OF-series, decisions, conversion, MCP and v1 (#2163 )
Mattsson and Claude Fable 5.1
2026-09-02 22:40:25 +02:00
3f9a21c64d
refactor(connect): validate the Peppol connector with the shared contract schemas (#2193 )
2026-09-02 21:08:49 +02:00
f31eeaa603
feat(connect): Peppol through the connector (hosted proxy, instance transport, ownership ledger) (#2177 )
2026-09-02 20:57:57 +02:00
fcfa1ba974
feat(connect): extract the connector wire contract into packages/connect-contract (#2179 )
2026-09-02 20:57:47 +02:00
8c8996773f
chore(connect): provider-host ratchet in check:guards, drop the dead Arcim gateway client (#2178 )
2026-09-02 20:57:37 +02:00
c0ecf2fa3b
feat(parties): merge with survivor choice and 30-day undo (#2175 )
2026-09-02 18:18:35 +02:00
fc04578818
feat(parties): suggestion pipeline from ledger keys and linked documents (#2172 )
2026-09-02 18:18:12 +02:00
c0818bb2d2
feat(sales-orders): kundorder with partial delivery and partial invoicing (#2166 )
Mattsson and Claude Fable 5.1
2026-09-02 18:14:49 +02:00