Skip to content

Revenue, Payments & Invoicing

Revenue can be viewed from three perspectives: accrual-based (when earned), cash-based (when received), and invoice-based (when invoiced). Each serves a different analytical purpose. Revenue is categorized into a two-level hierarchy of main groups and sub groups, covering everything from membership fees to bad debt write-offs. Payment runs handle the batch collection of recurring fees via direct debit, and invoices are the billing documents sent to customers and corporate partners.

Revenue Perspectives

Perspective When Revenue Is Recorded Use For Table
Accrual-Based When earned (regardless of payment) P&L reporting, financial analysis fct_revenue
Cash-Based When payment is received Cash flow analysis, payment reconciliation fct_revenue_cash_based
Invoice-Based When invoices are emitted Gyms with invoice-based accounting fct_revenue_invoice_based

Revenue Main Groups

Main Group What It Covers
CHARGES_SALES Positive income from contracts and services
DEDUCTION Mostly negative amounts reducing income
FEES Mostly positive income from penalties

Revenue Sub Groups — CHARGES_SALES

Sub Group What It Is
MEMBERSHIP_FEE Income from main membership contracts
ADDITIONAL_MODULE Income from add-on modules (sauna, drinks, etc.)
FLAT_FEE Income from one-time fees (enrollment, card replacement)
STARTER_PACKAGE Income from initial setup/activation fees
SALE_OF_GOODS_AND_SERVICES Income from product sales or ad-hoc services
ADDITIONAL_CHARGE Additional contract-related income
REST_PERIOD_CONTRIBUTION Charges during idle/freeze periods
DEPOSIT Income from deposits (e.g. bottle deposits)

Revenue Sub Groups — DEDUCTION

Sub Group What It Is
CREDIT Credits granted to members (e.g. due to illness)
DEBT_CLAIM_REDUCTION Discounts on previous charges
DEBT_CLAIM_REVERSAL Full cancellation of previous charges
DERECOGNITION Bad debt write-offs — customer did not pay
REFUND_OF_DEPOSIT Deposit returns
VOUCHER_EXPIRATION Multi-purpose voucher expiration (recognized as income)

Revenue Sub Groups — FEES

Sub Group What It Is
BANKING_FEE Payment processing fees
DUNNING_PENALTY_FEE Late payment penalty fees
OTHER_FEE Miscellaneous fees (address requests, damage compensation)

Table: dim_revenue_group. Join via fct_revenue.revenue_group_id.

Revenue Adjustment Types

Adjustment Type What Happened
IDLE_PERIOD Adjustment due to membership freeze
CONTRACT_CANCELLATION Adjustment due to contract cancellation
CONTRACT_REVERSAL Adjustment due to contract being voided
CONTRACT_ADJUSTMENT General contract price adjustment
CONTRACT_REST_MATURITY Remaining charges locked on rest maturity
BOOKING_ENTRY_REVERSAL Reversal of a previously locked charge
BOOKING_ENTRY_REDUCTION Partial reduction of a charge
CHARGED_BACK Payment returned/reversed by the bank
CHECKIN_DISCOUNT Discount for reaching a check-in milestone
NULL Not an adjustment — regular revenue

Payment Run Booking Types

Booking Type What Happened
REGULAR_BOOKING Payment successfully collected
FAILED_BOOKING Collection attempted but failed (e.g. insufficient funds)
EXCLUDED_BOOKING Customer excluded before collection attempted

Table: fct_payment_run. Filter archived = FALSE. amount is NULL for failed and excluded bookings.

Other Payment Terms

Term Definition Table Analyst Notes
Payment Individual payment events across all channels. fct_payment Filter is_reversed = FALSE. unallocated_amount = unmatched to revenue.
Finion Capital (MemberCash) Sport Alliance's receivables-financing product. Collects fees via SEPA, pays gym immediately, handles dunning. — Finion reasons appear in dim_payment_run_property.reason.

Invoicing

Invoices are the billing documents sent to customers or corporate partners. They can be generated automatically via scheduled invoice runs, created manually, or produced through the MySports app. Each invoice contains one or more positions (line items), and the data warehouse stores one row per position — not per invoice.

Invoice Types

Type What It Is
INVOICE Standard outgoing invoice (debit document)
REFUND Credit note / refund
PAYMENT_RECEIPT Payment receipt (for MySports transactions)

Invoice Status

Status Meaning
DRAFT Not yet finalized; can be deleted
CREATED Finalized but not yet sent
SENT Sent to the recipient
PAID Fully paid
PARTIALLY_PAID Partial payment received
CANCELLED Invoice cancelled

Invoice Discriminator (Source)

Discriminator Source
INVOICE_RUN Standard automated invoice run (to customer)
COMPANY Automated invoice run (to company, B2B)
MANUAL_DEBT_CLAIM Manually created debt claim
MYSPORTS MySports online payment receipt
IMPORTED Imported from external system

Table: fct_invoice (grain: one row per invoice position, not per invoice). Use invoice_entity_id to group by invoice.