feat: unified document inbox, full BAS 2026, and document-transaction matching

- Expand BAS reference from ~180 to ~1,276 accounts (full BAS Kontoplan 2026)
  with K2 exclusion flags, per-class data files, and computed SRU codes
- Evolve invoice inbox into unified document inbox handling invoices, receipts,
  and government letters with AI-powered classification (Claude Haiku Vision)
- Add multi-pass document-to-transaction matching engine with greedy assignment
  for both supplier invoices (reference/amount/date/name) and receipts
  (weighted amount/merchant/date scoring)
- Add supplier invoice matching in transaction ingest pipeline
- Inject booking template suggestions into AI extraction prompts
- Surface matched documents in swipe categorization UI with one-tap booking
- Auto-activate missing BAS accounts during SIE import against full reference
- Add K2 filter toggle in Chart of Accounts manager
- Add receipt confirmation route with BFNAR representation fields
- Add database migrations for K2 support and document matching columns
- Remove obsolete extension migration scripts

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Jakob Wennberg
2026-02-25 16:59:02 +01:00
co-authored by Claude Opus 4.6
parent 6956a757f3
commit 39e407644d
68 changed files with 19234 additions and 2412 deletions
+12
View File
@@ -118,6 +118,9 @@ export function makeReceipt(overrides: Partial<Receipt> = {}): Receipt {
is_foreign_merchant: false,
representation_persons: null,
representation_purpose: null,
representation_business_connection: null,
source: 'upload',
email_from: null,
matched_transaction_id: null,
match_confidence: null,
raw_extraction: null,
@@ -145,6 +148,7 @@ export function makeTransaction(overrides: Partial<Transaction> = {}): Transacti
invoice_id: null,
supplier_invoice_id: null,
potential_invoice_id: null,
potential_supplier_invoice_id: null,
journal_entry_id: null,
mcc_code: null,
merchant_name: 'ICA Maxi',
@@ -467,6 +471,14 @@ export function makeInvoiceInboxItem(
matched_supplier_id: null,
created_supplier_invoice_id: null,
error_message: null,
document_type: 'supplier_invoice',
linked_receipt_id: null,
raw_email_payload: null,
suggested_template_id: null,
suggested_template_confidence: null,
matched_transaction_id: null,
match_confidence: null,
match_method: null,
created_at: '2024-06-15T14:30:00Z',
updated_at: '2024-06-15T14:30:00Z',
...overrides,