Commit Graph

  • 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
  • abaab1bf8d fix(settings): show series names in the verifikationsserie per typ picker (#2295) Mattsson 2026-09-04 23:33:48 +02:00
  • a870c7f03e fix(import): attach underlag by the basename of a folder-picked upload (#2288) Jakob Wennberg 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) Jakob Wennberg 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) Jakob Wennberg 2026-09-04 17:19:18 +02:00
  • 68fee7dbe7 fix(supplier-invoices): fit the list inside the content column (#2262) (#2281) Jakob Wennberg 2026-09-04 17:18:50 +02:00
  • 88a3b5fb0f fix(arcim): count already-linked invoices as done in the registration-link row (#2276) Jakob Wennberg 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) Jakob Wennberg 2026-09-04 17:14:49 +02:00
  • 7a9036caa6 fix(kontoplan): remove the per-class active counter (#2273) Jakob Wennberg 2026-09-04 17:14:21 +02:00
  • f96a445d88 fix(sjalvfaktura): name the arrival date so it is not read as payment date (#2272) Jakob Wennberg 2026-09-04 17:13:52 +02:00
  • 743e3ae7cc fix(invoices): bank match stores the applied amount, not cash received, in invoice_payments (#2277) Jakob Wennberg 2026-09-04 17:13:29 +02:00
  • 2d927349d3 fix(payroll): enforce the jamkning both-dates invariant with a CHECK constraint (#2279) Jakob Wennberg 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) Jakob Wennberg 2026-09-04 17:01:10 +02:00
  • be0478c219 fix(bokslut): kontantmetod cut-off treats the ROT/RUT share as settled on 1513 (#2278) Jakob Wennberg 2026-09-04 17:01:06 +02:00
  • 6a68ecb4d4 fix(mfa): hard-navigate after TOTP verify, same race as #1984 on enroll (#2275) Jakob Wennberg 2026-09-04 17:00:39 +02:00
  • 417abfbe1f docs(claude): fix from first principles before implementing a proposed solution (#2283) Jakob Wennberg 2026-09-04 16:58:04 +02:00
  • d463ee1c87 feat(supplier-invoices): payment-queue sections and a grouping picker (#2102) Joakim Hansson 2026-09-04 16:44:54 +02:00
  • 304b50b5eb feat(invoices): grouped sections and a grouping picker on the customer invoice list (#2101) Joakim Hansson 2026-09-04 16:44:49 +02:00
  • 4eb1626129 feat(salary): recurring payroll lines per employee (#2042) (#2044) Joakim Hansson 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 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) Jakob Wennberg 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) Jakob Wennberg 2026-09-04 09:47:16 +02:00
  • 227a6317f1 fix(import): label the SIE preview IB total as "summa debet", not "IB Summa" (#2142) Jakob Wennberg 2026-09-04 09:42:41 +02:00
  • 8265b5d166 feat(invoices): disclose invoice-register coverage gaps + net-amount search (#2122) Mattsson 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) Jakob Wennberg 2026-09-04 09:27:26 +02:00
  • f767977bf5 docs(decisions): Accounted Connect runs as a separate private service (Option A) (#2197) Jakob Wennberg 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) Jakob Wennberg 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 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 2026-09-04 06:45:56 +02:00
  • 91e2c66afc fix(parties): readable suggestions from assistant vouchers, auto-build queue, SCB fetch after promotion (#2259) Jakob Wennberg 2026-09-03 21:19:12 +02:00
  • d670fe6663 feat(invoices): named payee accounts and per-invoice choice of bank account (#2233) Mattsson 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 2026-09-03 20:47:24 +02:00
  • b07efcafd4 fix(payroll): require jamkning valid_to on every write path (#2058) (#2240) Mattsson 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) Jakob Wennberg 2026-09-03 20:16:59 +02:00
  • 47c73206e1 chore(parties): move party_decision_undo past a same-version migration merged tonight (#2257) Jakob Wennberg 2026-09-03 20:08:31 +02:00
  • 34b677b02c chore(ui): retire the Building2 icon app-wide (#2235) Jakob Wennberg 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) Jakob Wennberg 2026-09-03 19:49:25 +02:00
  • e2d38b0ab3 fix(invoices): record manual and Stripe settlements in invoice_payments (#2236) Mattsson 2026-09-03 19:42:43 +02:00
  • 3159920d7c fix(customers): re-issue the country backfill skipping migration-reset source companies (#2249) Mattsson 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) Jakob Wennberg 2026-09-03 19:20:09 +02:00
  • 2c3ffaf51c feat(invoices): offer proforma where the invoice is created (#2217) (#2254) Jakob Wennberg 2026-09-03 18:56:14 +02:00
  • c3b7e79af8 fix(errors): show a route's Swedish message even without a keyword match (#2086) (#2253) Jakob Wennberg 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) Jakob Wennberg 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) Jakob Wennberg 2026-09-03 18:54:28 +02:00
  • 5eac2a492c fix(enable-banking): stop reading every ASPSP_ERROR as a too-wide window (#2202) (#2247) Jakob Wennberg 2026-09-03 18:43:01 +02:00
  • 0c82db88da fix(settings): say on the Danger zone rows that a typed confirmation follows (#2214) (#2245) Jakob Wennberg 2026-09-03 18:42:20 +02:00
  • e66195e5bb fix(branding): render tenant logos unoptimized so self-hosted sidebars work (#2203) (#2246) Jakob Wennberg 2026-09-03 18:41:40 +02:00
  • cc18e9d530 fix(bookkeeping): let a backfilled first räkenskapsår start mid-month (#2237) (#2242) Jakob Wennberg 2026-09-03 18:41:14 +02:00
  • d69de86b71 fix(reports): count reversed originals in the KPI monthly breakdown (#2201) (#2243) Jakob Wennberg 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 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 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) Jakob Wennberg 2026-09-03 17:19:19 +02:00
  • 601e521584 feat(kontoplan): filter the Verifikat column and inactivate unused accounts in bulk (#2186) (#2231) Jakob Wennberg 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) Jakob Wennberg 2026-09-03 17:17:41 +02:00
  • aeff998b90 feat(import): folder pick for underlag attach (#2189) (#2230) Jakob Wennberg 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) Jakob Wennberg 2026-09-03 17:16:50 +02:00
  • bc5da12372 fix(mcp-oauth): allowlist Cursor's OAuth callbacks so its dynamic registration succeeds (#2225) Mattsson 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 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 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 2026-09-03 12:18:47 +02:00
  • 4c6feea64d feat(connect): bank sync through the connector operation, with a per-company canary (#2205) Jakob Wennberg 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 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 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 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 2026-09-02 22:40:25 +02:00
  • 3f9a21c64d refactor(connect): validate the Peppol connector with the shared contract schemas (#2193) Jakob Wennberg 2026-09-02 21:08:49 +02:00
  • f31eeaa603 feat(connect): Peppol through the connector (hosted proxy, instance transport, ownership ledger) (#2177) Jakob Wennberg 2026-09-02 20:57:57 +02:00
  • fcfa1ba974 feat(connect): extract the connector wire contract into packages/connect-contract (#2179) Jakob Wennberg 2026-09-02 20:57:47 +02:00
  • 8c8996773f chore(connect): provider-host ratchet in check:guards, drop the dead Arcim gateway client (#2178) Jakob Wennberg 2026-09-02 20:57:37 +02:00
  • c0ecf2fa3b feat(parties): merge with survivor choice and 30-day undo (#2175) Jakob Wennberg 2026-09-02 18:18:35 +02:00
  • fc04578818 feat(parties): suggestion pipeline from ledger keys and linked documents (#2172) Jakob Wennberg 2026-09-02 18:18:12 +02:00
  • c0818bb2d2 feat(sales-orders): kundorder with partial delivery and partial invoicing (#2166) Mattsson 2026-09-02 18:14:49 +02:00
  • c40e63e3f7 fix(parties): skip companies frozen by a migration reset in the party backfill (#2176) Jakob Wennberg 2026-09-02 18:14:32 +02:00
  • a24982463b fix(parties): skip nameless suppliers and customers in the party backfill (#2174) Jakob Wennberg 2026-09-02 17:57:34 +02:00
  • daeab67dca feat(parties): phase 1 substrate, one party per counterpart (#2162) Jakob Wennberg 2026-09-02 17:43:06 +02:00
  • 69d3bba587 feat(parties): selection-step evaluation against document-anchored truth (#2169) Jakob Wennberg 2026-09-02 17:38:20 +02:00
  • 5291806c37 feat(parties): observed parties from voucher text, ledger_key and its mirror (#2168) Jakob Wennberg 2026-09-02 17:33:30 +02:00
  • b68c082ef5 feat(bank-sync): close the F2 report: gap backfill, consent and paused chip states, agent-triggered sync (#2165) Mattsson 2026-09-02 17:17:41 +02:00
  • 723a0f537b feat(parties): shadow evaluation of the key pre-classifier (#2161) Jakob Wennberg 2026-09-02 17:13:52 +02:00
  • a80ce54b78 fix(mcp): eager-auth flag on the Grok connector links so Grok starts OAuth (#2167) Mattsson 2026-09-02 16:55:23 +02:00
  • f1230282a9 feat(bookkeeping): verifikationsserie per bankkonto for bank-transaction bookings (#2160) Mattsson 2026-09-02 15:25:34 +02:00
  • 678acfe7ef fix(mcp): eager-auth flag so claude.ai's connector dialog detects OAuth, not "None" (#2159) Jakob Wennberg 2026-09-02 14:51:32 +02:00
  • 6a85efb00a feat(mcp): allowlist Grok's connector callback and document the Grok path (#2158) Mattsson 2026-09-02 14:42:39 +02:00
  • 61a76b1669 feat(parties): phase 0 prerequisites, pg_trgm and golden-set draw (#2157) Jakob Wennberg 2026-09-02 14:33:45 +02:00
  • f266c386f3 chore: repo-wide bloat sweep, remove dead code and fold duplicate helpers (#2150) Jakob Wennberg 2026-09-02 11:51:16 +02:00