Commit Graph

  • 6a0ba9faaa Merge pull request 'feat(toolchain): W4-slutvåg — mise task-kontrakt + lefthook + template-pin + dokumentation' (#2) from feat/selected-toolchain-w4 into main main admin 2026-09-15 00:38:13 +00:00
  • 42241a9ad3 feat(toolchain): W4-slutvåg — mise task-kontrakt (genererad ur toolchain-discovery) + lefthook + template-pin + dokumentation admin 2026-09-15 02:30:45 +02:00
  • 07eb82af5d feat(toolchain): W4-slutvåg — mise task-kontrakt + lefthook + template-pin + dokumentation admin 2026-09-15 02:28:57 +02:00
  • a90de92e92 feat(governance): add siax.repo.v3.json (P003) + companion siax.repo.json (v2) feat/siax-repo-v3-manifest admin 2026-09-15 01:47:56 +02:00
  • 97e17964ad Add renovate.json renovate/configure Renovate 2026-09-11 03:05:21 +00:00
  • 5b7015d88d fix(plan): komplettera lock-scriptet-krav (aldrig egen SQL, frontend-tenant-trust, PRODUCTION_READY) siax-bot 2026-09-10 13:30:37 +02:00
  • d8463e7ffe feat(scaffold): SIAX masterplan-lock-gate + PLAN/MASTERPLAN_INDEX.md integrering siax-bot 2026-09-10 13:27:19 +02:00
  • 51f05ffeba feat(dashboard): dismissible system notice banner for every signed-in user (#2464) Mattsson 2026-09-10 13:15:27 +02:00
  • a84d2723e0 feat(import): keep the source system's #BTRANS/#RTRANS correction history at SIE import (#2458) Mattsson 2026-09-09 14:45:29 +02:00
  • 9a8291f454 feat(reports): list a booked 8999 in Resultatrapport instead of hiding it (#2457) Mattsson 2026-09-09 13:57:38 +02:00
  • e996d70955 feat(settings): rename learned counterparty templates (#2454) Mattsson 2026-09-09 12:32:29 +02:00
  • bb28968151 fix(import): chunk SIE account creation and close the import row on every exit (#2451) Jakob Wennberg 2026-09-09 12:24:29 +02:00
  • fc2d78a7c4 feat(onboarding): the orgnr step suggests companies as you type (SCB search, TIC on the pick) (#2452) Mattsson 2026-09-09 11:43:14 +02:00
  • cb9eedd7f2 fix(bank): unchecked accounts yield their bokföringskonto to a checked one in the picker (#2449) Jakob Wennberg 2026-09-09 11:29:21 +02:00
  • 6ea92f3152 feat(zettle): sync paid purchases into webshop_orders (#2445) Mattsson 2026-09-09 11:19:39 +02:00
  • 500806f001 fix(agent): the assistant reaches earlier räkenskapsår: period resolved from dates, years listed in the grounding (#2436) Jakob Wennberg 2026-09-08 21:32:38 +02:00
  • 20925f6c65 feat(worklist): the next Skatteverket payment with bankgiro, OCR and due date under Att göra on Hem (#2435) Jakob Wennberg 2026-09-08 21:25:01 +02:00
  • a7dcaac6ad feat(kpi): monthly revenue, expenses and result table under Nyckeltal, toggle in Anpassa (#2433) Jakob Wennberg 2026-09-08 21:19:19 +02:00
  • 5e2498bc2f feat(transactions): pick several ROT/RUT begäran by hand for one Skatteverket transfer (#2431) Jakob Wennberg 2026-09-08 21:05:52 +02:00
  • d5373cd66c feat(invoices): ROT/RUT begäran status as a column and filter in the invoice list (#2434) Jakob Wennberg 2026-09-08 20:56:52 +02:00
  • 9782f80db0 feat(invoices): offert to kundorder, the missing step in offert, order, faktura (#2442) Mattsson 2026-09-08 18:29:37 +02:00
  • 32721b9f61 feat(invoices): diagonal UTKAST/DRAFT watermark on draft PDFs instead of the top-margin banner (#2441) Mattsson 2026-09-08 18:11:43 +02:00
  • 2d49a81508 fix(bookkeeping): negative item rows book on the opposite side, never as negative amounts (#2439) Mattsson 2026-09-08 18:10:34 +02:00
  • c091a7f28e fix(ui): clip the flexible list cell on the rows #2003 missed (#2284) bjornbergenheim 2026-09-08 17:07:33 +02:00
  • 2f787a2b3c fix(bookkeeping): send each missing-underlag lookup chunk once per URL (#2430) Mattsson 2026-09-08 16:35:41 +02:00
  • b2b714f829 fix(invoice-inbox): make the extraction prompt fill invoiceDate on receipts (#2429) Jakob Wennberg 2026-09-08 16:26:09 +02:00
  • 26e29f47bc feat(company): ideell förening as a third legal form, behind a flag (#2072 step 1) (#2423) Mattsson 2026-09-08 14:47:50 +02:00
  • 1157ff1b66 feat(onboarding): the orgnr field also accepts a company name (#2421) Mattsson 2026-09-08 14:23:05 +02:00
  • 5987523a25 fix(migrations): re-issue the 12xx label backfill inside an explicit transaction block (#2422) Mattsson 2026-09-08 14:14:51 +02:00
  • e85eac317c feat(arsredovisning): manual override for medelantal anställda (Not 2) (#2420) Mattsson 2026-09-08 13:44:29 +02:00
  • 59d5b7b366 fix(bookkeeping): name 1249/1259/1269 after their BAS 2026 free heads, drop retired 12xx sub-accounts (#2419) Mattsson 2026-09-08 13:34:50 +02:00
  • 2303f75a7b fix(suppliers): one 10-digit org number key for matching and storage (#2405) Mattsson 2026-09-08 10:59:20 +02:00
  • eea410c42b fix(bookkeeping): correctEntry moves bank anchors to the correction; deleting the correction returns them (#2406) Mattsson 2026-09-08 10:34:15 +02:00
  • 25b969183c fix(invoices): wrap the Visa PDF handler so the click event is not read as options (#2403) Mattsson 2026-09-08 01:32:21 +02:00
  • 4e8d649b2f fix(invoices): Ej skickade view and a prompt before downloading a draft-stamped PDF (#2401) Mattsson 2026-09-08 01:10:14 +02:00
  • 477b59453f fix(enable-banking): flatten Enable Banking's bank_transaction_code object to a string (#2398) Mattsson 2026-09-08 00:37:23 +02:00
  • fdcb7d937e feat(rot-rut): overview page, beslutsfil import, avslag reclaim, MCP list + settle (#2397) Mattsson 2026-09-08 00:13:05 +02:00
  • 5d735097a1 fix(period): let klarmarkera close a migrated year whose native vouchers are balance-sheet only (#2393) Jakob Wennberg 2026-09-07 20:10:41 +02:00
  • 57a5af1310 fix(woocommerce): return the wc-auth browser leg to the brand host the connect started on (#2386) Mattsson 2026-09-07 18:40:45 +02:00
  • f047c3d7d1 fix(skatteverket): finish the BankID consent on the initiating origin, bound to the initiating user (#2373) Mattsson 2026-09-07 16:43:38 +02:00
  • cb962fae88 fix(auth): resolve BankID confirmation and email-hook link hosts through the trusted-origin registry (#2380) Mattsson 2026-09-07 16:29:29 +02:00
  • e0244b95a7 fix(woocommerce): require both verified keys and browser confirmation to activate a connection (#2375) Mattsson 2026-09-07 15:54:28 +02:00
  • a769bc9d03 feat(migration): Björn Lundén activation through Lundify's redirect flow (#2374) Jakob Wennberg 2026-09-07 15:38:07 +02:00
  • 8aa5d54510 chore(domains): add solbo.accounted.se to the production host inventory (#2378) Mattsson 2026-09-07 15:25:34 +02:00
  • d29a5bda14 fix(auth): resolve auth-link hosts from the brands table, drop NEXT_PUBLIC_WHITELABEL_DOMAINS (#2376) Mattsson 2026-09-07 15:12:22 +02:00
  • 7a30f623ba fix(invoices): invoice PDF draft stamp, page breaks, wrapping, units, multi-line descriptions (#2369) Mattsson 2026-09-07 14:45:38 +02:00
  • c634cf9ae0 fix(banking): return Enable Banking consent callbacks to the initiating brand host (#2371) Mattsson 2026-09-07 14:14:36 +02:00
  • 9879fb53e9 fix(billing): return from Stripe to the brand domain the user started on (#2370) Mattsson 2026-09-07 13:49:16 +02:00
  • 0016732232 feat(invoices): let the invoice list read by row tone without the status column (#2353) Jakob Wennberg 2026-09-06 21:24:28 +02:00
  • bf7773d74b feat(settings): standard verifikationsserier for new companies, opt-in action for existing (#2358) Jakob Wennberg 2026-09-06 21:18:22 +02:00
  • 4fce2d7b94 feat(salary): repay utlägg with the salary as a tax-free payslip line (#2361) Jakob Wennberg 2026-09-06 21:17:46 +02:00
  • 0069a3f59a feat(reconciliation): suggest and book Skatteverkets bundled ROT/RUT payout against several begäran (#2360) Jakob Wennberg 2026-09-06 21:13:53 +02:00
  • 4bc007cdeb fix(reports): periodisk sammanställning nets a stornoed or corrected EU invoice voucher (#2354) Jakob Wennberg 2026-09-06 21:10:11 +02:00
  • 6a5fd6cd00 feat(supplier-invoices): Inlagd i banken mark for payments entered by hand (#2220) (#2356) Jakob Wennberg 2026-09-06 21:05:43 +02:00
  • 6906bc4aa2 feat(compliance): InvoiceRowsCompleted behandlingshistorik event for migrated invoice rows (#2312) (#2357) Jakob Wennberg 2026-09-06 21:04:53 +02:00
  • ebbe50c0f3 feat(supplier-invoices): "Vem betalade?" control replaces the paid privately switch and books an open utlägg (#2362) Jakob Wennberg 2026-09-06 21:04:17 +02:00
  • 6776cb4fc6 feat(reconciliation): propose the explaining voucher set for a bank row before offering Bokför (#2359) Jakob Wennberg 2026-09-06 21:03:42 +02:00
  • fcda4a75dd feat(parties): fill customer and supplier forms from the register on a valid org number (#2355) Jakob Wennberg 2026-09-06 21:03:06 +02:00
  • 3b9daf2606 fix(expenses): review follow-ups from #2333 (#2352) Jakob Wennberg 2026-09-06 20:19:18 +02:00
  • 1a725c121a fix(whatsapp): four #1991/#1992 hardening residuals in the receipt channel (#2349) Mattsson 2026-09-06 20:14:06 +02:00
  • 92a734f2b3 fix(transactions): repair pre-#1990 stranded rows through a dry-run-first, per-company RPC (#2350) Mattsson 2026-09-06 19:59:32 +02:00
  • 3c033e466f fix(bookkeeping): storno of a residual booking's main verifikat releases the bank row whole (#2348) Mattsson 2026-09-06 19:45:03 +02:00
  • 7448490fb7 fix(underlag): a verifikat a customer invoice points at is backed by it; PS follows the invoice link (#2298) (#2347) Jakob Wennberg 2026-09-06 19:04:30 +02:00
  • cce0de5704 feat(mcp): already-explained voucher guard at stage and commit for match_batch_allocate (#2294) (#2346) Jakob Wennberg 2026-09-06 18:56:36 +02:00
  • 39d409d257 fix(invoices): write migrated invoice rows through one locking RPC so two writers cannot double them (#2313) (#2340) Jakob Wennberg 2026-09-06 18:55:42 +02:00
  • 9cb1d105e3 fix(agent): hide Anthropic-only assistant surfaces where the provider cannot run them (#2204) (#2343) Jakob Wennberg 2026-09-06 18:54:47 +02:00
  • 272d19b287 fix(supplier-invoices): duplicate-payment guard matches abbreviated bank text and shares one detector with the customer side (#2299) (#2345) Jakob Wennberg 2026-09-06 18:53:34 +02:00
  • 82d25b7dee fix(invoices): migrated paid invoice no longer reads as unpaid under Betalningar (#2213) (#2344) Jakob Wennberg 2026-09-06 18:50:57 +02:00
  • b2d3a3e273 feat(settings): rename or re-date an existing räkenskapsår from the fiscal-year list (#2287) (#2337) Jakob Wennberg 2026-09-06 18:48:27 +02:00
  • 162de2128a fix(import): show "created on import" as the mapping target for source accounts the chart lacks (#2342) Jakob Wennberg 2026-09-06 18:39:36 +02:00
  • ea4da0eb07 fix(invoices): scope-check article ids in buildInvoiceWriteData so every invoice write refuses a foreign company's article (part of #2059) (#2339) Jakob Wennberg 2026-09-06 18:39:08 +02:00
  • 8313f527c9 fix(migration): complete-invoice-lines cron visits registers smallest first (#2341) Jakob Wennberg 2026-09-06 18:38:31 +02:00
  • b71f2bf425 feat(expenses): repay utlägg from the bank line (#2333) Jakob Wennberg 2026-09-06 18:16:51 +02:00
  • 238cbe13f9 feat(invoices): choose the first invoice date on recurring schedules (#2338) Mattsson 2026-09-06 16:49:29 +02:00
  • 0c854ac54f feat(settings): let a company name each verifikationsserie letter (#2336) Mattsson 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) Jakob Wennberg 2026-09-05 19:13:28 +02:00
  • 0ecf1d7fc4 fix(expenses): no help line for "Företaget" in the Vem betalade select (#2330) Jakob Wennberg 2026-09-05 18:07:01 +02:00
  • c0eda46354 feat(mail): withhold new Gmail consents on hosted unless the company is allowlisted (#2320) Jakob Wennberg 2026-09-05 17:51:45 +02:00
  • 3e5670f978 fix(expenses): "Vem betalade?" as a compact select in the Underlag rail (#2327) Jakob Wennberg 2026-09-05 17:27:12 +02:00
  • b0b995c77c fix(tab-guard): name the company the other tab switched to (#2328) Jakob Wennberg 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) Jakob Wennberg 2026-09-05 17:20:08 +02:00
  • 41a5728ca7 fix(expenses): review follow-ups from #2317 (#2326) Jakob Wennberg 2026-09-05 16:43:53 +02:00
  • eb2ae1da17 fix(invoices): render statutory PDF notices in the document language (#2321) Mattsson 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) Jakob Wennberg 2026-09-05 15:57:14 +02:00
  • bff44e5757 fix(parties): one "från SCB" note per contact section (#2316) Jakob Wennberg 2026-09-05 14:53:13 +02:00
  • 971952fe19 fix(mail): request gmail.readonly alone, mailbox address via Gmail profile (Google verification) (#2301) Jakob Wennberg 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) Jakob Wennberg 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 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) Jakob Wennberg 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) Jakob Wennberg 2026-09-05 11:59:59 +02:00
  • 9418de585f fix(invoices): say what is missing when an invoice preview cannot be rendered (#2303) Mattsson 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) Jakob Wennberg 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) Jakob Wennberg 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) Jakob Wennberg 2026-09-05 10:20:10 +02:00
  • 0bd3c27fba fix(assistant): the salary fact follows the ledger, never the column default (#2290) Jakob Wennberg 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) Jakob Wennberg 2026-09-05 09:43:00 +02:00
  • 1e1e1d5d17 fix(enable-banking): connector-hop failures no longer park a connection in error (#2296) Mattsson 2026-09-05 00:28:27 +02:00