2.8.1¶
Released: 2026-06-22
Highlights¶
- Editing a supplier invoice that has a credit note against it now returns a clear, actionable error instead of crashing with a database integrity error.
Added¶
- Nothing user-facing.
Changed¶
- Nothing.
Fixed¶
- Supplier invoice edit crash when credit notes exist.
updateSupplierInvoicepreviously failed with a raw Postgres foreign-key violation (supplier_credit_details_supplier_invoice_detail_id_fkey) for any supplier invoice that had a credit note issued against one of its lines — because the update path deletes and recreates every detail row, and a credited line cannot be deleted. The update now fails fast with aSupplierInvoiceHasCreditsErrorbefore any destructive work. See Block Editing Credited Supplier Invoices.
Migrations¶
- None. No schema changes; no alembic revisions or one-off scripts in this release.
Frontend impact¶
updateSupplierInvoicenow returns a catchableSupplierInvoiceHasCreditsError(inextensions.exception) with the message "Cannot edit this supplier invoice because one or more credit notes have been issued against its lines. Void or delete the related credit note(s) first." Surface this message and, ideally, disable the edit action (or explain why) when the invoice has associated credit notes —supplierCreditsBySupplierInvoiceIdalready exposes that list. No query, field, or type changed.
Versioning notes¶
- Bumped with
uv run python scripts/bump_version.py 2.8.1 --changelog-stub(PATCH — a bug fix, no schema or GraphQL-shape change). No deploy-order constraints.