fepli
ManualReferenceSystem and data protectionAdmins

Settings

Under Settings, super admins determine the behaviour of the whole instance.

Location: Settings (System). Visible to: super admins.

RuleContent
Mark ConfigurationThe installation fixes the value; the field is locked.
SavingEvery page with a form has its own save bar. Changes apply immediately.

General

Identity & appearance

FieldMeaningValuesDefaultEffect
Page title“Appears in the browser tab of the admin panel.”Text, at most 255 characters, requiredName of the tenant, without tenants fepliAppears at the top of the sidebar and in the header of the sign-in page when there is no logo. Also appears in the header of the PDF exports of consents and in the footer of the cash report.
LogoLogo of the admin panelSVG, PNG, WebP or JPG, at most 1 MB; Choose file, Upload, Replace, Remove; preview on a light and a dark background–“For the sidebar and the sign-in page. SVG, PNG, WebP or JPG up to 1 MB; only SVG adapts to dark mode.” See Prepare the logo for dark mode. The logos of the emails and the receipts are separate files, see Email and Receipt & invoice. Uploading and removing apply immediately: “Logo saved.”, “Logo removed.”
Sign-in pictureBackground picture next to the sign-in formoptional; JPG, PNG or WebP in landscape format, at least 1600 px wide, at most 5 MB; Choose file, Upload, Replace, Remove; Preview opens the sign-in pageno pictureWithout a picture, the sign-in stands alone in the middle. Applies to the sign-in page only. Uploading and removing apply immediately: “Picture saved.”, “Picture removed.”
Hide the fepli logofepli logo in the sidebar and on the sign-in pageon, offoff“The fepli logo sits at the bottom of the sidebar and in the footer of the sign-in page.”
Primary colourBrand colourHex valueempty“Sets the look of the entire admin panel.” Empty: The admin panel shows the red of fepli, #e62e23. If the colour is close to red (hue 10 to 38 in the OKLCH colour space, saturation from 0.08), the main buttons are almost black, in dark mode a medium grey. Links, checkboxes, switches, selection bars and badges keep the colour.
Admin panel languageLanguageDeutsch, EnglishDeutsch“Applies to the admin panel and to all texts for participants and organizers.”
Date formatDisplay of dates31.07.2026, 2026-07-31, 07/31/202631.07.2026–
Time zoneTime zone of the instanceEurope/Berlin, Europe/Zurich, Europe/Vienna, UTCEurope/Berlin–
Participant list sortingOrderLast name, First nameLast name“Applies to the PDF export only.”

Email

“Applies to all of this tenant's emails. Layout, font and colours are fixed.” Which address the emails are sent from is determined by Email sending.

FieldMeaningValuesDefaultEffect
LogoLogo at the top left of every emailown file; JPG, PNG or GIF, at most 1 MB, because only these appear in every mailbox–Without a logo, the name of the programme appears there.
FooterMarkdown text below every emailBold, italic and links; line breaks are kept; at most 400 characters, with counterempty“Sender, address and link to the imprint.” Why someone receives the email is added below by fepli itself. Empty: The copyright text of the installation appears there.
ElementContent
PreviewA sample email (Confirmation, Sign-in link or Newsletter) with logo and footer as in the form, even before saving; Desktop or Phone as width
LinkTexts of the notifications opens the Notifications

Email sending

“All system emails go out through the installation's mail delivery. You set the sender identity here.” In installations with tenants: “… Each tenant sets its own sender identity.”

FieldMeaningValuesDefaultEffect
Sender addressSender of every system email and newsletter, usually a noreply addressdepends on the installation, see belowemptyThe domain must be verified with the mail provider, otherwise the provider rejects the emails.
Sender nameName before the sender addressTextempty“Empty: recipients see only the address.”
Receive replies in the systemReplies as a message on the recordon, offon“Replies to conversation messages appear on the record. All other emails use the reply address.” Appears as soon as the installation accepts replies. In installations with tenants, the switch takes effect only if the tenant has entered a Receiving domain in the app Replies by email (Outbox and delivery problems).
Reply addressReply-To and contact address of the teamEmail addressemptyRequired. “Replies to system emails and newsletters go to this address — except replies to messages, and where a notification names a reply address of its own. It is also the contact address on error pages and the administrator address for Contao — unlike the sender address, which usually nobody reads.” The exception for messages applies only if Receive replies in the system is turned on. Without an address: “Please enter a reply address.”
Reply nameName before the reply addressTextempty“Empty: replies carry only the address.”
Sender addressField and behaviour
Installation without tenantsEmail address, not required: “The domain must be verified with the mail provider. Empty: {address}.” {address} is the address of the installation.
Tenant with a domain for Email sendingOnly the part before the @, followed by “@{domain}”, e.g. noreply before “@mail.beispiel.fepli.eu”. Required: “The part before the @ can be chosen.” Messages: “Please enter a name for the sender address.”, “Only letters, digits and . _ % + - are allowed — the @ and the domain are fixed.”
Tenant without a domain for Email sendingShows only the address of the installation with the lock Installation: “Without a sending domain the installation's address applies.” Note: “A sender address of your own needs a verified sending domain.” Global admins see the link Tenant domains.
OrderThe address saved here applies, otherwise the Installation's sender address, otherwise the address from the configuration of the installation.
RuleContent
Validity“Changes apply immediately to all emails.” In installations with tenants: “… to all emails of this tenant.” Emails from background runs carry the sender name and reply address of the tenant for which the run works.
Reply address of an emailReply address and Reply name appear in every email without a reply address of its own: in newsletters and in notifications without their own Reply address (Notifications). A reply address of the notification itself takes precedence.
Reply address of the installationIf the installation sets a reply address, the page shows it with the lock Configuration, and Reply name is omitted. It then applies to all emails without a reply address of their own.
Receiving with Receive replies in the systemNote: “Replies to messages go to {address} and appear on the record.” The address lies under the Receiving domain of the app Replies by email, in installations without tenants under the domain of the installation.
Without a Receiving domainApplies in installations with tenants when Receive replies in the system is turned on. Note: “Needs a receiving domain from the app “Replies by email”. Until then replies go to the reply address.” The link Open app opens the app Replies by email in the side panel.
Entries in the DNSThe mail provider verifies the domain of the Sender address through entries in the DNS (Domain Name System) of this domain. The Receiving domain to which replies go needs entries of the same kind, plus MX entries (Mail Exchanger) that route replies to the mail provider. A domain that the operator of the installation provides is set up by the operator. Which entries are needed is described by fepli developers.

Receipt & invoice

“What appears on receipts. Layout and font are fixed.” Installations no longer bring their own receipt template; these fields replace it.

FieldMeaningValuesDefaultEffect
LogoLogo at the top right of every receipt and on the consent sheetsown file; JPG, PNG or GIF, at most 1 MB–Without a logo, the name of the programme appears there.
Return addressSmall line above the address, in the window of the envelopeTextemptyEmpty: Name and address from the Imprint appear there.
NoteText below the total, on receipt and invoiceMarkdown, e.g. “Please bring this receipt to the offers you booked.”empty–
FooterWho issues the receipt and how to reach themTextemptyEmpty: The name from the Imprint and the reply address of the emails appear there.
Payment termDeadline of an invoiceDays from the invoice dateempty: 14 daysApplies to a receipt that is not yet paid: “Invoice” with due date and the way to pay.
Bank detailsDetails for the bank transferRecipient, IBAN, bankemptyfepli adds the payment reference below. Empty: The invoice names no bank transfer.
ElementContent
PreviewPDF of a sample receipt, follows the input, even before saving; selection Receipt or Invoice; Open as PDF shows it at full size
ValidityApplies to every receipt that is created or downloaded afterwards.

Imprint

A Markdown text for the Imprint page, with the same toolbar as the privacy statement. An empty field removes the page and its links again.

ElementContent
TextFor a public authority, the text should contain: who offers (name, legal form, address), who represents, email and phone, where applicable the VAT ID and the competent supervisory authority.
Save and view / Open previewSaves and opens the Imprint page: “The imprint has been saved.”
LinkedBeside Privacy in the footer of the sign-in page and the admin panel, for signed-in and not signed-in visitors
Without tenantsThe page exists in installations without tenants too.

System configuration

ElementContent
VisibleOnly in installations with tenants
Name“Display name throughout the admin panel.” Super admins edit it.
SlugLocked after creation: “set once”
DomainsPer row Domain and Purpose; Add another domain, Remove. Super admins edit them. Help text: ““Public website”: public pages, plus the admin panel under /admin as long as there is no admin domain. “Admin panel”: the admin panel only. “API”: the API only; without an API domain it lives with the admin panel. “Email sending”: appears in the sender address, and may be the same domain as the website.” Messages: “The domain "{domain}" already belongs to a tenant.”, “The domain "{domain}" is already entered for this purpose.”, “The domain "{domain}" already has a purpose. Only “Email sending” can share a domain with another.”, “The address "{domain}" is reserved for the examples in the documentation. Please choose another one.”, “A tenant needs at least one domain.”
PurposePublic site, Admin, API, Email sending
Domain previewOne row per address with what it shows after saving: Website for families, Admin panel, as long as the API is turned on, API (API), and, as long as embeds are turned on, Embeds with the address from which other websites load the embeds. If the tenant has embeds turned on and no website of its own, Registration for families (no direct access) appears instead of Website for families: Families reach the address through the link of an offer.
Embeds are turned on, but no domain has the purpose Public siteNote in the preview: “Embeds are on, but no address serves the website for families, where families register. Give the tenant a website domain, alone or next to the admin panel’s.”
The same domain more than onceA domain belongs to one tenant, for every purpose. It appears once per purpose. It answers requests for exactly one of the purposes Public site, Admin and API. It may also have the purpose Email sending; requests to the domain then still reach the other purpose.
A domain has the purpose AdminThe admin panel lies directly under this domain and no longer under /admin of the public website. Links to the admin panel in the tenant's emails lead to this domain, for example in invitations and sign-in links. Invitations and sign-in links sent before the domain was entered are no longer valid; newly sent ones lead to the new domain.
A domain has the purpose Email sendingThe tenant sends from an address under this domain; it selects the part before the @ under Email > Sender address. The domain may be the same as the website's. It must be verified with the mail provider.
No domain has the purpose Email sending“No domain selected for sending email. System emails go out under the installation's sender address.”
StateTake offline and Delete tenant; for global admins only, not part of this manual

Registration of participants

Registration & booking

FieldMeaningValuesDefaultEffect
Registering with a friendFriend codeson, offoff“Participants sharing a friend code only get places together in the lottery.”
Postal address requiredAddress before the registrationon, offoff“Makes the address mandatory in the registration.”
Ask for important informationDetails on allergies and medicationon, offoff“Families can state per participant what the organizers need to know, such as allergies or medication. It appears on the participant lists and their exports.” If the switch is on, the field Important information for the organizers appears in the registration form of the website and in the participant's form. The Participant list and its exports show the information in a column of its own. If it is off, field and columns are missing; saved texts are kept.
Preferred postal codesLocal residentsPostal codes, separated by commasempty“Get a place first in the lottery. The address in the account counts. Without an account, the participant’s own address counts, otherwise the one given with the registration. Separate several with commas. Empty: nobody is preferred.” Takes effect only in the automatic allocation in the lottery (Allocation and committing). In oversubscribed offers, registrations from these postal codes get a place first; the remaining places go to everyone else after the usual ranking. The postal code of the participant account decides, even if the participant has an address of their own. Without an account, the participant's address counts; if both are missing, the one from the registration form counts. If the postal code is missing, the participant does not count as a local resident.
Age toleranceLeeway at age limitsDays, weeks, monthsempty“Widens the age range at both ends. Empty: age limits apply exactly.”
Privacy noteText on the use of the dataText with Markdown, up to 2000 charactersempty“Folded under the registration form: what the family's data is used for.” The form shows the text as Markdown, bold with **text** and links with [text](https://…). If the field is empty, no note appears.

Withdrawal

“Until when a registration can be withdrawn.” A summary shows the saved state.

FieldMeaningValuesDefaultEffect
Free of charge until before the startDeadline before the first datePeriodemptyWhoever withdraws earlier pays nothing; afterwards the payment obligation remains. “Empty: every withdrawal is free.”
Not at all after the periodBlock withdrawal after the deadlineon, offoff“Blocks the withdrawal instead of charging for it.”
Not after the registration deadlineBlock withdrawal after the registration deadlineon, offoff“No withdrawal after the registration deadline.”
Note on withdrawing within the periodText for paid registrations within the free periodText with Markdown, up to 600 charactersempty“For families who paid and withdraw a participant within the free period – how they get the fee back, say.” {firstname} stands for the participant's first name. If the field is empty, no note appears.
Note on withdrawing after the periodText for paid registrations after the periodText with Markdown, up to 600 charactersempty“For families who paid and withdraw a participant after the period.” {firstname} stands for the participant's first name. If the field is empty, no note appears.

Both notes appear on the withdrawal page of the website if the registration is paid. In the registration form of the website they appear in the participant's section if the offer has a fee and the registration is paid. Which text appears depends on whether the free period is still running.

Within 30 minutes after the confirmation, withdrawal is free despite these rules (Rules of registration on the website).

Reminders

FieldMeaningValuesDefaultEffect
Send remindersReminder before the eventon, offoffSends Reminder before the event to registrations with takes part in published offers that are not cancelled. fepli runs this hourly, counts the lead time from the first date and reminds each registration once. If several registrations of one family fall due at the same time, the family receives one combined reminder.
Lead timePoint in timePeriodempty“Empty: 36 hours before.”
Edit notificationOpens the overview of the Notifications.–––

Registration of organizers

The page is missing from the navigation under Registration and answers with 404 as long as Organizers under Fields is off.

FieldMeaningValuesDefaultEffect
Registration without invitationSelf-registrationon, offoff“On: the page {path} accepts applications, which you approve one by one. Off: access by invitation only.” {path} is /registrierung on the admin domain, without a domain of its own for the admin panel /admin/registrierung. If the switch is on, the sign-in page offers Register as an organizer. The page shows pending applications with Review in the Accounts list.
Invitations valid forValidity of invitation linksDays, weeks; at most 30 daysempty“At most 30 days. Empty: 14 days.” After that the link expires. A longer value is not saved: “Invitations are valid for 30 days at most. Please enter at most 30 days or 4 weeks.” A saved longer value counts as 30 days when sending, a saved value in months appears here as 30 days. Applies to invitations of new organizers, to an organizer profile and to an offer, to the invitation of a new account and to the sign-in link after Unblock account. Requested sign-in links are valid for 10 minutes regardless.
Access after the offer endsHow long organizers see the participant listPeriodempty“How long after an offer ends organizers see the participant list when the phase ‘Participant lists public’ is ‘Always active’. Empty: 6 months.” Otherwise access ends with the phase; without the phase, the lists stay closed. The period counts from the last date of the offer.

Access codes

The page shows the list of Access codes. Create new opens the page New access code strategy. Note on the list: “Apply while registration is still closed for everyone else.”

FieldMeaningValuesDefaultEffect
NameName of the strategyText–“To find them again, e.g. ‘Spring programme’.”
Access codesThe codesText per code; New code, Delete code–Upper and lower case count.
Usage limit“How often a code may be redeemed.”Number; 0 = unlimited1Counts the participants who use the code.
RuleContent
UseA registration phase uses the strategy through Registration with access code only (Phases).
InputFamilies enter the code per participant on the website: “Access code for {season}”. The field appears only while such a phase is running.
Invalid code“This access code is not valid or has already been redeemed.” The message is the same for unknown and used-up codes.
Too many invalid codesAfter several invalid codes, the website stops verifying codes for a while: “Too many invalid access codes. Please try again in an hour.”
DeleteAction of a strategy. Dialog “Delete access codes “{name}”?” – “The codes become invalid. Cannot be undone.” – Delete access codes. Anyone who has already registered with a code stays registered.
Strategy in a registration phaseThe dialog shows Cannot be deleted – “A registration phase uses these access codes. Choose others or none there first.” The row Used in names the seasons. The dialog offers only Close.

Offers

Fields

“Which details an offer carries.”

MarkMeaning
On, OffState of every field. “Switching off removes a field from form, booklet, website and exports; recorded values stay.”
alwaysRequired field
featureFeature
GroupFieldsDefault
ContentTitle (always), Organizers, Categories, Description (always), What to bringCategories: off
TermsAge from / to, Fee, Wheelchair accessibleon
RegistrationMaximum places (always), Minimum participants, Waiting list, Collect date of birth, Extra questions, Consentson
Dates & placesDates (always), Repetition, Registration deadline, Address, Note on the meeting point, Variantson
Media & downloadsPictures, AI image generation, Downloads (PDF)AI image generation: off. On offers Generate picture in the offer form, provided the app Generate images with AI is connected (App-Store).
ContactContact personson
Own propertiesCan be dragged between the fixed rows by the handle.–
Note in the rowContent
Registration deadline“Off: the season's deadline applies.”
Age from / to“Off: no age check on registration.”
Organizers“Off: offers name no organizers; whoever already has access keeps it.”
Variants“Dates of their own; marked fields can be changed per variant.”
AI image generation“Needs a provider to be set up.”
Contact persons“Appear publicly on the offer page.”
Confirmation when savingContent
WhenSave opens it when Organizers is saved as on and set to Off in the list. Every other change, including turning on, is saved immediately.
Title“Switch organizers off”
Description“Applies immediately. Offers name no organizers any more; the menu entry, their pages and their registration go. What was entered stays, and whoever already has access keeps it.”
ChangeOrganizers, On → Off
Checkbox“I understand that the organizers' pages and their registration can no longer be reached afterwards.”
Apply changeSaves the whole page. While the checkbox is off, the browser holds the form back and points to the checkbox. Message: “Settings saved.”
CancelCloses the confirmation. The list keeps the state that was set, nothing is saved.

If Organizers is off

If Organizers is off, the offers name no organizer profiles. The effect depends on the switch alone, not on whether organizer profiles exist. Recorded details stay saved.

AreaEffect
Offer formNo field Organizers, for organizers not even the read-only row (Offer form)
Offer listNeither column nor filter Organizers (Offer list and offer view)
Sidebar, searchNo entry Organizers. The global search finds no organizer profiles, the create palette creates none (Understanding the interface)
Pages of the organizer profilesAll pages under Organizers including the registration, and the settings page Organizers under Registration, answer with 404 (Organizers)
AccountsThe account type Organizer is missing as a tab, in the create menu and in the role selection of a new account. Its list, its export and its creation answer with 404. The mixed list has no column with organizer profiles. Whoever has the role keeps it in the role selection (Accounts)
SeasonNo page Organizers, no counter in the header, settings overview and season list, no newsletter to organizers with drafts (Seasons)
Completion formsOnly forms of the team (Completion forms)
Newsletter, exportThe newsletter of the team always goes to families. The export has no section Organizers (Newsletter, Export)
Setup plan, empty listsNo step “Invite organizers”. Empty lists do not suggest inviting organizers or reviewing their declaration (Understanding the interface)
NotificationsThe bell and comment emails link no organizer profile and no team (Notifications)
Website, emails, participant listOffer page, offer list, booking overview, the offer block in emails and the PDF of the participant list name no organizers. The public page of an organizer profile (/v/{alias}) answers with 404
Names in the admin panelWhere an organizer profile is still named (offer, access, account, file details, activity), the name is text instead of a link. On the page of an account, it leads to the page Organizers of this account
UnchangedExisting access through organizer profiles. Exports as Word, XLSX and XML, the API and the offer headers of the admin pages for allocating, reviewing, transferring, entering a registration and deleting still name organizer profiles

Saved season settings on organizers (who may offer, allocate themselves, publish themselves, confidentiality declaration, completion form) remain in force. They are visible again only when Organizers is on.

Fields per variant

As long as Variants is on, a second switch stands before On | Off of a row: From the main offer or Per variant. It determines whether a variant takes the field over from the main offer or sets it itself.

RuleContent
From the main offerThe variant takes the value over; every save of the main offer transfers it again.
Per variantEvery variant sets the value itself.
A field that is offKeeps its choice and appears pale.
FieldChoiceDefault
Title, Organizers, Categories, Collect date of birthNone, always From the main offer; the row shows no switch–
Waiting list, Variants, AI image generationNone; the row shows no switch–
Dates, Repetition, Registration deadlineNone, always Per variant, with lock–
Description, What to bring, Fee, Wheelchair accessible, Extra questions, Consents, Address, Note on the meeting point, Pictures, Downloads (PDF), Contact persons, own propertiesFrom the main offer or Per variantFrom the main offer
Age from / to, Minimum participants, Maximum placesFrom the main offer or Per variantPer variant

Categories

“Filter the offer list and order the booklet. An offer can have several.” The tab always exists. In the offer form, categories appear only when the field Categories under Fields is on; it is off by default.

ActionRule
New category, AddTakes effect immediately: “Category “{name}” created.” Duplicate names are rejected.
RenameThe alias stays so that links and filters remain correct.
DeleteOnly without offers: “A category with offers cannot be deleted.” Without confirmation.
OrderBy dragging; saved with Save.

Own properties

“Details only this tenant needs.”

FieldMeaningValues
Name, TypeNew property (Add property)Yes/No, Choice, Number, Text
Label in the form, Help textDisplay in the offer formText
ValuesOnly for Choice: one row per value, new rows with Add value. “Order = order in the form”; it can be changed by dragging. The row names “{count} offers” or “not used”.Text
Filter for families on the website, Filter in the offer list of the admin panelFilteronly for Yes/No and Choice
Print in the bookletPrint in the booklet: The exports as PDF and XML and the proof pass active properties with this setting on to their print template (Export). Whether and where they appear in the booklet is determined by the print template of the installation.on, off
RuleContent
Property set on offersCan only be switched off: “Set on {count} offers — it can only be switched off.”
Renaming a valueThe new label applies in all offers that carry the value, and in both filters.
Value set on offersThe bin of the row is locked: “Used in {count} offers — switch the offers first.”

Payments

Payment provider

“How families pay and how receipts are numbered.” The menu item Payments and its pages exist only while the app Payments is switched on. While the app is off, their addresses lead to the app in the App-Store. The bank transfer appears on the invoice once Bank details are entered under Receipt & invoice.

FieldMeaningValuesDefaultEffect
Payments“The app “Payments” is switched on and off in the App Store.”“Enabled”–The link Open in the App Store… opens the app Payments.
Online payment“Families pay on the website, and the payment is recorded by itself.”“pmPayment”, “Not set up”“Not set up”With “pmPayment”, Open in the App Store… opens the app pmPayment. With “Not set up”, Set up pmPayment… leads to it.
Offers selectable for payment“On: families choose which offers to pay now. Off: one payment covers all open fees.”on, offoffWithout a selected offer, “Continue to payment” stays locked: “Select at least one offer.”
Receipt number prefixPrefix of the receipt numberLetters, numbers, - _ / .; at most 20 charactersemptyStands before the running number.

Booking templates

“For costs covered by third parties, such as BuT.” The family's payment obligation remains, a credit covers it. “Free” is always available. The templates appear in the manual booking under Template, in the order of the list.

FieldMeaningValuesDefaultEffect
NameName of the templateText“New template”Stands under Template in the manual booking.
Providers to choose fromProviders that the booking text can nameNames, separated by commasemptyIf several names are listed here, the manual booking shows the selection Provider.
DirectionWhere the booking goes+ Credit, − Charge+ CreditThe manual booking books in this direction, whatever sign is entered.
CodeMark of the bookingat most 12 charactersemptyStands in the statement before the booking.
Default booking textSuggestion for Posting textText; Insert: {Leistungsträger}, {Monat}, {Kind}, {Angebot}empty{Monat} becomes month and year of the booking (03/2027), {Kind} and {Angebot} become first name and offer of the registration under For. A placeholder without a value is dropped together with its separator.
Preselect the payment link for the restCheckbox in the manual bookingon, offoffTurns on the checkbox at Request the rest of {amount} by payment link.
Show the code in the statementMark in the statementon, offon–
RuleContent
On / OffA template that is off is missing from the manual booking.
Template with bookingsCan only be switched off: “{count} bookings use this template. Switch it off instead of deleting it.”
OrderBy dragging; saved with Save.

Reductions

“Lower the payment obligation and appear on the receipt. Selectable per item when settling.”

FieldMeaningValuesDefaultEffect
NameName of the reductionText“New reduction”Appears as the reason when billing, as a switch on the participant and on the receipt (“Reduction · {name}”).
ReductionKind and valuePercent (0 to 100), Fixed amount (in euros), Amount typedPercentfepli calculates percent and fixed amount; a fixed amount is at most as high as the fee. With Amount typed, the team enters the amount and a note when billing.
Minimum fee“only from {amount} fee”AmountemptyIf the regular fee is below it, the reduction does not apply.
Maximum fee“only offers up to {amount}”AmountemptyIf the regular fee is above it, the reduction does not apply; the fee is not capped.
Applies to participantsSwitch in the form of the participanton, offoffOn: The reduction applies to every registration of the participant, online too, unless its status is “submitted” or “rejected” (Participants: Evidence and status). Not with Amount typed.
Evidence on the participantFields under the switchNumber and valid until, Number only, Valid until only, No evidenceNumber and valid untilOnly with Applies to participants.
Ask for a copy of the evidenceFile as evidenceon, offoffHelp text: “As a PDF or photo. To view and download in the participant form.” Only with Applies to participants. If the team switches the reduction off for a participant, fepli deletes the copy.
Families state it themselvesFamilies switch the reduction on in their accounton, offoffHelp text: “In their account, on the child. Until the team confirms the evidence, the full fee applies.” Only with Applies to participants. The list shows the label “stated by families”.
Can be chosen per position when billingReason when billingon, offon“Appears as the reason on the item. The amount stays editable.”
RuleContent
Limitsfepli compares Minimum fee and Maximum fee with the regular fee. “Empty: no limit.”
Several reductions on one participantThey do not add up; the one that deducts the most applies.
PrecedenceA reduction selected when billing takes precedence over the reduction of the participant.
On / OffA reduction that is off is missing when billing and in the form and no longer applies to unpaid registrations.
Reduction in useIf receipts, registrations or participants carry it, it can only be switched off: “The reduction is in use. Switch it off instead of deleting it.”
PreviewWhere the reduction shows on the participant shows the switch of the first active reduction for participants, below it, depending on the settings, the fields Number, valid until and Evidence (“PDF or photo”), and its effect on sample fees

Direct debit

The page Direct debit is the last one under Payments while the app SEPA direct debit is switched on. It sets the Wording of the mandate. Fields and messages are under Direct debit mandate.


Privacy

Deletion periods

Location: Settings > Privacy > Deletion periods. Above the section Participants without activity stands a sentence that summarises what the values yield and changes as you enter them.

SentenceCondition
“If a family takes part in no season for {period}, its data goes onto the deletion list. It is erased once somebody confirms the list.”Flag for deletion is selected or the period is empty (default period).
“If a family takes part in no season for {period}, it gets an email {notice} before the deletion. If it then signs in to the account, the period starts again; otherwise the data is erased at night.”Notice by email, then erase automatically is selected and a period is entered.
“If a family takes part in no season for {period}, its data is erased at night without notice.”Erase automatically without notice is selected and a period is entered.
FieldMeaningValuesDefaultEffect
Erase afterPeriod for the data of a family that no longer takes part in a seasonWeeks, months, yearsempty: 2 years (default period)“Counted from the end of the last season with a registration, otherwise from creation. Empty: 2 years.” The empty field shows “Default”. With a period entered, the button Back to default ({period}) appears, which empties the field. Under the default period appears “Default period 2 years: participants are only flagged. Notice email and automatic erasure apply only with a period of your own.” Only with a period entered, even with 2 years, do the notice email and automatic erasure take effect. If the operator sets the period by configuration, the page shows it without a field, with “Set by the operator, applies to every tenant.”
When the period is overWhat happens after the periodFlag for deletion, Notice by email, then erase automatically, Erase automatically without noticeFlag for deletionSee the table below. Under Extend account, the family learns on the website which of these applies (Accounts: On the website).
How long beforeLead time of the notice email: number and unit after the labelDays, weeksempty: 14 daysVisible only with Notice by email, then erase automatically.
Choice at When the period is overDescription in the interfaceEffect
Flag for deletion“Somebody checks and confirms the deletion list. No email to the family.”Erasure takes place after the list is confirmed under Compliance > Retention. The choice also shows View deletion list with “{count} participants up for deletion”, “1 participant up for deletion” or “Nobody is up for deletion”. A notice email is never sent.
Notice by email, then erase automatically“The family is told beforehand. Signing in to the account afterwards starts the period again.”Nightly erasure after the notification Notice before erasure. If its text is missing, “Without a text for ‘Notice before erasure’ no email goes out.” appears with the link Write text.
Erase automatically without notice“Check that your privacy statement describes it this way.”Nightly erasure without an email.

The choice is saved as two values: erase automatically and send notice email. The notice email applies only together with automatic erasure; with Flag for deletion, a notice email is never sent.

The section Data controller begins with “Mandatory information on the ‘Data use’ page in the account.”

FieldMeaningValuesDefaultEffect
NameName of the controllerText–The controller appears only when name, street, postcode and town are present.
DepartmentAddition to the nameText––
Street and house numberAddressText––
Postcode and TownPostcode and town, side by sideText–If only part is filled in, below it says “{count} of 5 details is missing.” or “{count} of 5 details are missing.” and “The controller is shown only with name, street, postcode and town.”

Retention

Location: Settings > Privacy > Retention. The page determines how long what outlasts a person is kept: “What stays once a person is erased, and for how long. Empty fields use the default.” The period for the data of the participants is under Deletion periods. The button Compliance › Retention opens the list in the Compliance area.

Above the table stand two boxes that apply to every row.

BoxText
Flag“What is due shows under Compliance › Retention. Nothing is erased until somebody starts the run.”
Automatic“The nightly run erases without confirmation. The period is the same either way.”

The table has the columns What, Keep for, Afterwards and Due now. In each row, the segment Flag or Automatic selects what happens after the period.

RowKeep forCounted fromDefaultAfterwards
ReceiptsYears, 1 to 30. Mark “Statutory retention” with § 147 AO.End of the year of issueempty: 8 yearsFlag or Automatic, default Flag. Name, address and email address are removed, the stored receipt file is deleted. Amount and receipt number stay. Rule Receipts past their retention duty (Data subject rights).
Proofs of consentYears, 1 to 30. Mark “Duty to demonstrate consent” with Art. 7 GDPR.Year end after the consent has endedempty: 3 yearsFlag or Automatic, default Flag. Until then a consent keeps applying, even once the person is erased. When a consent ends: Period of validity. Rule Proofs of consents that are over (Data subject rights).
Uploads from familiesMonths, yearsEnd of the season, otherwise receiptempty: 1 yearFlag or Automatic, default Automatic. Meant are files that families upload with a registration or attach to an email reply. Registration and message stay. Rule Uploads of families (Data subject rights).
Emails and text messagesMonths, yearsSendingempty: 2 yearsFlag or Automatic, default Flag; Automatic if a period is entered and no choice is saved yet. Meant are the copies of sent messages in the outbox. Rule Sent emails and text messages (Data subject rights).
Dispatch logYearsSendingempty: 3 yearsFlag or Automatic, default as with Emails and text messages. The log records who received which message when, without content. Rule Dispatch log (Data subject rights).
PseudonymsYears, 1 to 30End of the seasonempty: offNo choice. With a period entered it says “The nightly run removes them.”, otherwise “Stay until a period is entered.” Erased participants stay under a pseudonym so that the statistics count them; after that, the statistics count only bookings. Rule Pseudonyms of erased participants (Data subject rights).

An empty field shows its default period as a placeholder, the field of the pseudonyms “off”. The column Due now states how many entries the rule currently covers and links to Compliance > Retention. Without due entries it shows “–”.

Below the table, Where the records are stored shows where the PDFs are kept: “Where the PDFs of the receipts and of the proofs of consent are kept. The installation decides where.” The details cannot be changed here.

RowDisplayMeaning
Receipts“Object storage, every file locked”“Each receipt is locked until its retention period ends: {years} years from the end of the year it was issued in. Until then it can be neither deleted nor overwritten, not by fepli either.”
Receipts“The installation's file storage, not locked”“The receipts are on the server of the installation and are not locked against deletion.”
Proofs of consent“Object storage, every file locked”“Each proof is locked while the consent is in force, and after it ended for {years} years from the end of that year. Until then it can be neither deleted nor overwritten, not by fepli either.”
Proofs of consent“The installation's file storage, not locked”“The proofs are on the server of the installation and are not locked against deletion.”
Note for object storage–“A changed period applies to files stored afterwards. A lock that exists is never shortened.”

Privacy statement

FieldMeaningValuesDefaultEffect
TextPage Privacy, linked in the footer of every page of the admin panel, even without a public websiteMarkdown–An empty field removes page and link. Save and view saves and opens the page: “The privacy statement has been saved.”

The tab Privacy statement exists only in installations with tenants. In installations without tenants, the link Privacy in the admin panel leads to the page /datenschutz of the website, if there is one.


Exports

Location: Settings > Exports. Here super admins create own export templates and fonts for PDF outputs. Fields, types and messages are under Export templates.


Integrations

Services of other providers, the interface and the embeds for other websites are under Settings > App-Store (App-Store).

Service accounts

ElementContent
LocationSettings > Integrations; in the app API also through Manage service accounts (App-Store)
Service accountMachine identity for the interface, independent of people
New service accountFields Name, Description, Roles, Access
RolesAdmin, Super admin, Participants, Payments, Organizers; at least one. Preselected: Admin. Note: “Participants and Payments require Admin.” Participants or Payments without Admin or Super admin: “Participants and Payments require the role Admin. Pick Admin as well.”
AccessRead only, Read and write; preselected: Read only. Upper limit for all tokens of the account: “‘Read only’ allows no writing token.”
New API tokenLabel, Valid until (empty: no expiry), Access. The token appears only once.
ActionsEdit; Disable and Enable; Revoke per token; Delete under Delete service account
Disabled“The service account is disabled.” Its tokens are rejected. New tokens can be created only after Enable.
Deleting“Deletes the account with all tokens. Integrations lose access immediately.”
NamingStatus changes on offers and registrations, as well as receipts, that a service account triggers through the API show “{name} (service account)”, with the name it had at that moment. A registration that it creates counts as created by the team.
Organizers’ consentA service account cannot confirm the declaration. If the season requires the declaration, fepli rejects invitations with which it invites new organizers to register.