{"id":"records","type":"module","title":"Records (Proposals and EOI Ledger)","status":"ga","audience":["bid-manager","org-admin","partner"],"scope":"supplier","tier_min":"free","aliases":["6","proposals","bid-tracker"],"summary":"The org's spreadsheet-native ledger of every bid, rendered as an inline editable Excel-style table with typed core columns, an open JSONB tail and a two-way sync with workspaces.","keywords":["records","ledger","spreadsheet","import","sync","columns","org-fields"],"body":{"what_it_is":"The firm's **spreadsheet-native ledger of bids**: every EOI, tender\nsubmission, and active/historic project, rendered as an Excel-style table\neditable inline. In the schema the table is still `proposals` (\"Records\" is\nthe product-facing rename); each row is one bid/project, identified by a\nstable per-firm `seq_number`. A row carries **typed core fields**\n(project_name, project_no, year, country, status, outcome, financier,\nbid_manager, project_manager, partners, EOI/tender deadline+submitted+result,\ncontract_value/currency, stake_pct, workspace_id) and an open **`org_fields`\nJSONB bag** for firm-defined columns. The column set is firm-configurable:\nKlarum ships a **33-column starter set** from a real\ninfrastructure-consulting bid tracker. Records is deliberately separate from\n`canonical_opportunities` (internal record vs external universe; they never\nreference each other in code).\n","what_it_helps_users_do":"Replace the master bid-tracking spreadsheet with a live, multi-user, typed,\nsearchable table (import an existing CSV/Excel workbook in one step);\ninline-edit any cell (optimistic updates, per-column Excel-style filters,\nsort, full-text search, bulk delete); slice by activity (the *Active* tab is\nserver-filtered); **promote a record into a full working Workspace** in one\nclick; generate a branded PDF report (quarterly/by-sector/by-country); and\nconfigure the firm's column dictionary (admins only).\n"},"engines":[],"integrations":[],"capabilities":[{"id":"records-column-dictionary","type":"capability","title":"Column dictionary","summary":"Typed core columns plus an open org_fields JSONB tail, with firm-defined columns type-enforced against a closed type set. Admin-managed.","status":"ga","scope":null,"keywords":["columns","typed","jsonb","admin"],"body":null},{"id":"records-workspace-sync","type":"capability","title":"Two-way record and workspace sync","summary":"A declarative map of about thirty field pairs mirrors edits both ways with deterministic converters, returning HTTP 409 with candidate options rather than guessing an ambiguous value.","status":"ga","scope":null,"keywords":["sync","field-map","409","conflicts"],"body":null},{"id":"records-excel-import","type":"capability","title":"Excel and CSV import","summary":"One-step import of an existing bid-tracking workbook, with an LLM column mapper that returns a per-header confidence flag and a circuit breaker back to a deterministic miss.","status":"ga","scope":null,"keywords":["import","llm-mapper","circuit-breaker"],"body":null},{"id":"records-promote-to-workspace","type":"capability","title":"Promote to Workspaces","summary":"Turns a ledger row into a full working workspace in one click, creating and linking the two so the sync engine keeps them aligned from then on.","status":"ga","scope":null,"keywords":["promote","workspace","link"],"body":null},{"id":"records-branded-report","type":"capability","title":"Branded PDF report","summary":"Quarterly, by-sector or by-country reporting over the ledger, rendered as a branded PDF that lands back in the document library.","status":"ga","scope":null,"keywords":["report","pdf","branding"],"body":null}]}