Invoice fields now reject dates, discounts, tax rates, quantities, prices, and totals that cannot be stored. Issuing still requires a positive total, while drafts can contain zero-priced work.
Save, send, payment, void, delete, contact-return, and invoicing-settings actions now reject expired, unauthorized, duplicate, or stale requests without changing the invoice. A cleared terms field also stays clear on the PDF instead of restoring the settings default.