mirror of
https://github.com/InvoiceShelf/InvoiceShelf.git
synced 2026-09-01 21:00:58 +00:00
A payment recorded against a draft invoice in 2.x was silently unlinked by the allocations migration: the warning was the only trace, and the column drop destroyed the association. Declined links are now written to a transitional legacy_payment_links table (reason draft or mismatch) and draft-linked payments get an explanatory note, so the money remains identifiable unapplied customer credit instead of anonymous credit.