Editing or Deleting a Fee Item After Invoices Are Already Out
Editing or deleting a fee item writes to the fee structure itself — it does not retroactively recalculate any invoice that was already generated. An invoice's line items, subtotal, and total are frozen at generation time, not a live calculation from the current fee structure. What DOES happen automatically now is that Fees101 flags an already-sent invoice as out of date the moment a fee it includes is edited or removed — so it's no longer possible to unknowingly leave a parent holding a stale invoice.
What changes automatically, and what doesn't
Saving a new amount on Edit Fee Item (or Edit Fee Group), or deleting a fee item entirely, never changes the actual total on an invoice that's already been generated — a parent holding an already-sent invoice still sees the OLD number on it. What Fees101 does do automatically: any already-sent, unpaid invoice whose line items include the fee you just edited or removed gets flagged needs_resend right away, the same flag that's set when any other change makes a sent invoice stale. See Understanding the "Needs Resend" Flag for what that flag actually changes in the UI.
Deleting a fee item (single or bulk, by name across classes) does clean up any dependent per-student opt-ins first, so you're not left with orphaned records. Both editing and deleting are blocked outright on a closed term, same as every other fee-structure edit — and the needs_resend flagging only ever applies to invoices generated for the same term the fee item belongs to.
Making an already-generated invoice catch up
Flagging tells you an invoice is stale; it doesn't fix the number on it. To actually pull a changed fee into an invoice that already exists, you have to explicitly regenerate it — either one invoice at a time, or in bulk via "regenerate stale" on the term (see Generating Invoices for a Term). Regenerating recomputes the invoice from whatever the fee structure says right now, and clears the needs_resend flag once that's done (followed by actually resending it to the parent).
- If the recomputed total would drop below what's already been paid against that invoice, Fees101 blocks the regeneration for that one invoice rather than clawing money back. In a bulk "regenerate all," it's silently skipped and counted as locked — you'd need to resolve that one as a refund or credit decision manually.
Gotchas
The flag only fires for invoices already sent AND not yet fully paid — a draft (never-sent) invoice for the same term simply gets the new fee structure next time it's generated, with no flag needed since the parent never saw the old number. A fully paid invoice is also left alone, since clawing back or re-presenting it after payment isn't something this flag is meant to trigger.
