Skip to content

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. updateSupplierInvoice previously 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 a SupplierInvoiceHasCreditsError before 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

  • updateSupplierInvoice now returns a catchable SupplierInvoiceHasCreditsError (in extensions.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 — supplierCreditsBySupplierInvoiceId already 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.