A worked example showing how start dates, plan and price changes, proration, signup fees, and gear become immutable invoice lines.
This guide walks through one complete billing cycle with real numbers. It explains membership start dates, plan changes, prorated invoice lines, signup fees, and gear. For SEPA setup and collection (Creditor Identifier, IBAN mandates, clearing modes, and pain.008 exports), see SEPA direct debit.
In production, automated monthly billing runs on the 1st of each month at 06:00 UTC. This example uses a manual run date to make the calculation easier to follow.
Anna self-registers on 14 April and selects the Amateur IBAN plan. On 22 April, she switches to Unlimited:
| Amateur | Unlimited | |
|---|---|---|
| Monthly membership fee | 49.00 EUR | 69.00 EUR |
| Signup fee | 49.00 EUR | 69.00 EUR |
She also orders a Kimono for 88.00 EUR, which is delivered on 30 April. On 12 May, the branch admin clicks Run Monthly & Yearly Invoice.
The date on which the athlete actually receives a plan determines the start of billing:
| Athlete journey | Membership start used for billing |
|---|---|
| Imported athlete with a plan already assigned on the pending import | The branch's configured migration date |
| Imported athlete without an assigned plan who subscribes later | The actual plan-subscription date |
| New self-registered adult or child | The actual plan-subscription date |
| Signup-fee clearance delays activation | The original plan-subscription date is preserved |
| Trial | The actual registration or activation date |
Anna selected her first plan on 14 April, so that is her start date. April has 30 days, and only the days from the 14th onward can be billed.
Plan selections are recorded as effective-dated history. The switch day belongs entirely to the new plan; the old plan ends on the preceding day. A manual invoice therefore gets one recurring line for each plan/rate segment:
| Recurring line | Covered days | Calculation | Amount |
|---|---|---|---|
| Amateur | 14–21 April (8 days) | 49.00 × 8 / 30 | 13.07 EUR |
| Unlimited | 22–30 April (9 days) | 69.00 × 9 / 30 | 20.70 EUR |
| April recurring total | 33.77 EUR |
Monthly plans use covered calendar days divided by the number of days in that month. Annual plans use covered calendar days divided by 365, or 366 in a leap year. Each displayed line is rounded to cents first; the rounded lines are then added to produce the invoice total.
If several changes are recorded for the same day, they stay visible in the history, but only the final selection receives that day's charge. Existing pause and cancellation rules still determine which days are billable.
Within one uninterrupted membership episode, the signup fee is permanently tied to the athlete's first paid, non-Trial plan. Anna first selected Amateur, so her fee is 49.00 EUR—switching to Unlimited does not replace it with the Unlimited fee.
Amateur, 14–21 April: 13.07 EUR
Unlimited, 22–30 April: +20.70 EUR
First-plan signup fee: +49.00 EUR
─────────
April invoice total: 82.77 EUR
The basis is also locked when a paid plan is assigned on a pending-import record. A Trial does not lock a paid-plan fee; the first paid plan selected afterward does. If signup-fee clearance delays activation, its stored amount and the original subscription date survive the clearance process.
For example, if an ended athlete rejoins Unlimited on 30 July, July contains 4.45 EUR for 30–31 July plus the new episode's 69.00 EUR signup fee (73.45 EUR total). August is then 69.00 EUR.
Editing a plan's price creates a new rate version instead of rewriting history:
If a current or future switch falls inside a manual billing period that has already been invoiced, CompTeam records an immutable old-plan credit and replacement-plan charge. Both are carried into the athlete's next manual invoice; any credit that would make that invoice negative continues to a later invoice.
October Reduced membership: 55.00 EUR
September Amateur credit, 15–30: -36.80 EUR
September Reduced charge, 15–30: +29.33 EUR
─────────
October invoice total: 47.53 EUR
This example assumes September was already billed at 69.00 EUR before a 15 September switch to the 55.00 EUR Reduced plan. Stripe memberships do not use these CompTeam adjustment lines because Stripe remains authoritative for their proration.
Anna's Kimono (88.00 EUR) was delivered on 30 April, but the invoice run happens on 12 May. Gear is attached to the invoice for the current month of the run, regardless of its delivery date.
Unlimited membership, May: 69.00 EUR
Kimono (gear): +88.00 EUR
─────────
May invoice total: 157.00 EUR
One run on 12 May produces two invoices for Anna—one per outstanding billing month, each with immutable line items and its own due date:
| Invoice | Composition | Amount |
|---|---|---|
| April | Amateur (8/30 days) + Unlimited (9/30 days) + first-plan signup fee | 82.77 EUR |
| May | Unlimited (full month) + Kimono | 157.00 EUR |
| Total | 239.77 EUR |
Key takeaways:
After manual invoices are exported and collected by SEPA direct debit, reconcile them as described in SEPA direct debit.