CompteamDocumentationHow SEPA billing is calculated

How SEPA billing is calculated

A worked example showing how start dates, plan and price changes, proration, signup fees, and gear become immutable invoice lines.

  1. 1

    The example

    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:

    AmateurUnlimited
    Monthly membership fee49.00 EUR69.00 EUR
    Signup fee49.00 EUR69.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.

  2. 2

    Step 1 — Establish the membership start date

    The date on which the athlete actually receives a plan determines the start of billing:

    Athlete journeyMembership start used for billing
    Imported athlete with a plan already assigned on the pending importThe branch's configured migration date
    Imported athlete without an assigned plan who subscribes laterThe actual plan-subscription date
    New self-registered adult or childThe actual plan-subscription date
    Signup-fee clearance delays activationThe original plan-subscription date is preserved
    TrialThe 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.

  3. 3

    Step 2 — Split the month by plan and rate

    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 lineCovered daysCalculationAmount
    Amateur14–21 April (8 days)49.00 × 8 / 3013.07 EUR
    Unlimited22–30 April (9 days)69.00 × 9 / 3020.70 EUR
    April recurring total33.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.

  4. 4

    Step 3 — Lock the signup fee per membership episode

    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.

    • A switch during uninterrupted membership does not create another signup fee.
    • Rejoining before a scheduled cancellation becomes effective revokes the cancellation and does not create another signup fee.
    • Rejoining after the membership has ended starts a new membership episode and charges the newly selected plan's signup fee.

    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.

  5. 5

    Step 4 — Preserve rate changes and issued invoices

    Editing a plan's price creates a new rate version instead of rewriting history:

    • New signups and plan switches receive the newly published rate immediately.
    • Athletes already on that plan keep their current rate through month-end; the new rate applies from the first day of the following month.
    • A future-dated plan switch remains scheduled until its effective date.
    • Staff cannot backdate a switch into dates already covered by an issued invoice.
    • Existing invoice lines, totals, accounting entries, due dates, and descriptions never change when a plan or price is edited later.

    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.

  6. 6

    Step 5 — Add gear to the run month

    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
    
  7. 7

    Putting it together

    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:

    InvoiceCompositionAmount
    AprilAmateur (8/30 days) + Unlimited (9/30 days) + first-plan signup fee82.77 EUR
    MayUnlimited (full month) + Kimono157.00 EUR
    Total239.77 EUR

    Key takeaways:

    • A billable period is split whenever its plan or rate changes—not only in the first month.
    • The switch day is billed at the new plan's rate.
    • The signup fee comes from the first paid, non-Trial plan in each uninterrupted membership episode.
    • Issued invoices are historical documents and are never recalculated after a later change.
    • Stripe memberships do not receive duplicate recurring CompTeam invoice lines. Stripe remains authoritative for its charges and proration.

    After manual invoices are exported and collected by SEPA direct debit, reconcile them as described in SEPA direct debit.