A subscription with a minimum term and a fee policy refuses mid-term changes instead of charging the fee #38

Open
opened 2026-09-21 07:18:12 +00:00 by cgalo5758 · 0 comments
Owner

What a person cannot do today

Leave or downgrade a committed subscription whose early-termination policy is to charge a fee. The other two policies work: one lets the change through at once, the other defers it to the end of the committed term by way of a scheduled change. The fee policy has nothing behind it, so the endpoint refuses the change with a reason and the member catalog renders the control disabled with that reason, rather than letting the change through without the fee it cannot emit.

What they should be able to do

Change or cancel mid-term under a fee policy, and be charged the early-termination fee on the next invoice.

Why it matters

Nothing exercises this today, because every subscription runs without a committed term. It becomes real the first time an operator configures a commitment with the fee policy, and until then the console stores a policy it cannot carry out.

Where

internal/fulfillment, the commitment dispatch; the invoice line types and the patronage attribution that reads them; the member catalog control.

Done when

Breaking a fee-policy commitment emits an early-termination fee line on the next invoice, the patronage attribution handles that line type, and the endpoint and the catalog control move from refusing to proceeding.

Migrated from status/issues.md at b7a0e15

## What a person cannot do today Leave or downgrade a committed subscription whose early-termination policy is to charge a fee. The other two policies work: one lets the change through at once, the other defers it to the end of the committed term by way of a scheduled change. The fee policy has nothing behind it, so the endpoint refuses the change with a reason and the member catalog renders the control disabled with that reason, rather than letting the change through without the fee it cannot emit. ## What they should be able to do Change or cancel mid-term under a fee policy, and be charged the early-termination fee on the next invoice. ## Why it matters Nothing exercises this today, because every subscription runs without a committed term. It becomes real the first time an operator configures a commitment with the fee policy, and until then the console stores a policy it cannot carry out. ## Where [`internal/fulfillment`](https://git.coopcloud.tech/wiki-cafe/member-console/src/commit/b7a0e15/internal/fulfillment), the commitment dispatch; the invoice line types and the patronage attribution that reads them; the member catalog control. ## Done when Breaking a fee-policy commitment emits an early-termination fee line on the next invoice, the patronage attribution handles that line type, and the endpoint and the catalog control move from refusing to proceeding. Migrated from status/issues.md at b7a0e15
cgalo5758 added the
kind
enhancement
area/billing
labels 2026-09-21 07:18:12 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: wiki-cafe/member-console#38