- P&L and Balance Sheet account rows are now clickable and open the
General Ledger filtered to that account (its transaction list for the COA).
Adds StructuredRow.accountId, threaded from the report builders, with a
clickable row in StructuredTable and an initialAccountId prop on
GeneralLedgerReport.
- Bids/Quotes: PDF upload on the New Bid/Quote dialog (bid-attachments
bucket + document_url/document_name columns), shown as a link on the
bid Details dialog.
Migration applied: bids_quotes_pdf_attachments.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Bill/vendor payments:
- Bill "Pay" and bank-register vendor debits now clear Accounts Payable
(Dr A/P / Cr Bank) instead of re-debiting the expense, which had
double-counted expenses in the P&L and never cleared A/P. The expense
account is kept as a display-only category on the payment.
Checks:
- Bill-payment checks now print the return address (payer name/address)
from the company check layout (was hardcoded blank).
- Per-segment MICR gap control (check# / routing / account) in both check
generators, wired to Check Setup (bill payments) and the Check Layout
editor (Print Checks). New columns: check_settings.micr_gap_1/2 and
check_layouts/company_check_layouts.micr_gap_1/2.
Accounting Dashboard / Financial Overview:
- Date-range selector (presets + custom) drives the charts, top expenses,
and recent transactions.
- PDF title renamed to "Financial Overview" and shows the period.
- Fixed amounts rendering as "$ 5 0 0. 0 0": the U+2212 minus sign forced
jsPDF into a UTF-16 fallback; replaced with an ASCII hyphen (also in the
report PDF out-of-balance line).
DB migrations applied to the project: repost_gl_on_line_item_change,
budget_actuals_accrual_owner_income, add_micr_gap_controls.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Remove the Zoho Books integration (edge functions, sync libs, settings,
reports/overview, banking links, fees tab, import dialog); preserve fee
rules as a standalone FeesTab and the COA accounting_system classification.
- Financial Overview/Reports (staff + board) render the Accounting dashboard
and reports; board reports mirror the rich Accounting Reports.
- New Reserve Fund Schedule report + an is_reserve flag on accounts.
- Unify all report exports to a branded format (logo + centered header +
footer): shared ReportSheet (on-screen) and reportHeader (PDF). Budget vs
Actuals and Bank Reconciliation PDFs now match the reference layout.
- Render financial reports inline (no preview pop-up).
- Budget Management mirrors Accounting Budgeting (staff-accessible) with SPA
navigation; editable bills in the Accounting Bills page.
- Negative opening balances flow through to the GL and reports (allow negative
input; keep non-zero on save; signed CSV import).
- Upload a per-account trial balance via CSV on Opening Balances.
- Board members: read-only RLS access to their association's accounting ledger;
editable board-members panel on the association page; share vendor contacts
with the board (toggle + directory section).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
renderReportPdf now matches the on-screen comparison: when a comparison period
is active it renders Amount | Comparative | Change | Change % columns (was
Previous | Amount), switches to landscape for room, and underlines each numeric
column on totals. Applies to P&L, Cash Flow, Movement of Equity, and Balance
Sheet exports.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Extract the general Report Generator's branded cover (cover image/band,
logo, title, prepared-for/by) into shared src/lib/reportCover.ts. Financial
reports now open with the same cover: platform AccountingReportsPage via new
renderReportPdfWithCover(), and the Zoho/Board financial reports
(zohoFinancialReportPdf generators). ReportGeneratorPage refactored to use
the shared module (removes duplicated cover code).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>