Van "code is klaar" naar je kunt echt iets verkopen
Aan de code-kant is alles af: RevenueCat staat opgezet, de entitlements draaien server-side, de In-App Purchase Key is gevalideerd. Wat ontbreekt is dashboard-werk in jouw eigen Apple-account — een overeenkomst die van "Pending User Info" naar "Active" moet, en vier abonnementsproducten die nog niet bestaan. Deze pagina loopt dat stap voor stap met je door: waar je bent, wat je invult, en waaraan je ziet dat het gelukt is.
Volgorde, rollen en spullen
Twee dingen bepalen de volgorde. Apple beoordeelt je belasting- en bankgegevens handmatig, dus daar zit doorlooptijd in die je niet kunt versnellen — die begin je vandaag. En het aanmaken van de abonnementen kan pas écht iets opleveren als de overeenkomst actief is. Dus: eerst Deel A, dan Deel B. Deel B kun je wel alvast invullen terwijl A in behandeling is.
Binnen Deel A is de volgorde niet vrij. Apple: "you must submit all required tax forms needed for your paid contract in order for us to process banking information". Dus: 1. overeenkomst tekenen → 2. belastingformulier → 3. bankrekening. Vul je de bankrekening eerst in, dan blijft die gewoon staan wachten.
Wie mag wat
| Handeling | Vereiste rol in App Store Connect |
|---|---|
| Paid Apps Agreement tekenen | Alleen de Account Holder. Apple: de Account Holder is "the only user that can sign legal agreements". Dat ben jij — je kunt dit niet delegeren. |
| Belastingformulier + bankrekening invullen | Account Holder, Admin of Finance. Voegt een Admin/Finance-gebruiker een bankrekening toe, dan moet de Account Holder dat binnen 30 dagen goedkeuren. |
| Abonnementen aanmaken en prijzen zetten | Account Holder, Admin, App Manager; voor de proefperiode ook Marketing. |
Wat je bij de hand moet hebben
- ▢De zakelijke bankgegevens van Aqua-IT B.V. IBAN, tenaamstelling en adres van de rekeninghouder, precies zoals ze bij de bank staan geregistreerd. Apple: "enter your information exactly as it appears on your bank account or your payment may be rejected." Dus Aqua-IT B.V., niet "Aqua IT" of je eigen naam.
- ▢Het Nederlandse fiscale nummer van de BV (RSIN) Dit is het buitenlandse belastingnummer (FTIN) dat op het Amerikaanse formulier moet. Hiermee heb je géén Amerikaans EIN nodig — zie stap A2.
- ▢KvK-nummer en BTW-nummer Niet voor het Amerikaanse formulier, maar wél voor de EU-compliance-onderdelen (DAC7 vraagt om het BTW-nummer en het handelsregisternummer).
- ▢Statutaire naam en adres van de BV Zoals in het handelsregister. Dit moet gelijk zijn aan wat je bij de bankrekening en het belastingformulier invult — afwijkingen zijn de meest voorkomende reden dat een beoordeling blijft hangen.
- ▢Je telefoon voor tweestapsverificatie Bij het tekenen van de overeenkomst kan Apple om een verificatiecode vragen.
- ▢Het telefoonnummer van je accountant Niet letterlijk nodig om te klikken, maar één vraag op het belastingformulier is een adviesvraag (verdragsvoordelen, zie A2) en het formulier is ná verzending niet meer te wijzigen in App Store Connect.
Alles in Deel A en B gebeurt op appstoreconnect.apple.com,
ingelogd met het Apple-account van Aqua-IT B.V. Het app-record Tendlo (com.aquait.tendlo)
bestaat al, dus je hoeft niets aan te maken vóór je begint.
Paid Apps Agreement: van "Pending User Info" naar "Active"
Zonder deze overeenkomst kan Apple je geen geld uitbetalen, en kun je geen betaalde app of in-app-aankoop indienen. Er is niets ingewikkelds aan; het is invulwerk plus wachten op een mens bij Apple. Daarom staat het vooraan.
Apple heeft deze hoek van App Store Connect hernoemd. Je zoekt niet meer naar Agreements, Tax, and Banking — dat is de oude naam, al werkt de oude link nog. Het heet nu gewoon Business, en dat staat bovenaan de pagina naast Apps, Trends, Reports en Users and Access. Binnen Business vind je de tabs Agreements (met daarin de secties Bank Accounts, Tax Forms en Compliance).
-
De Paid Apps-overeenkomst tekenen
Waarschijnlijk heb je dit al gedaan — de status stond immers op "Pending User Info", en die status betekent per definitie dat je al getekend hebt. Sla dan door naar stap 2. Staat er New, doe dan dit eerst.
- Waar je bent
- App Store Connect → bovenaan Business → tab Agreements
- Wat je doet
- Zoek in de lijst de regel Paid Apps. Klik View and Agree to Terms, lees de voorwaarden, vink akkoord aan en klik Agree. Mogelijk vraagt Apple een tweestapsverificatiecode.
- Let op
- Dit is onomkeerbaar: "You cannot undo acceptance once confirmed." Dat is geen probleem — je wílt deze overeenkomst — maar teken hem met het juiste account (Aqua-IT B.V.), niet met een privé-account.
- Gelukt als
- De statuskolom van de regel Paid Apps springt van New naar Pending User Info. Apple's eigen omschrijving daarvan: "You've signed an agreement, but it's not in effect because you haven't finished providing required information." Precies waar we nu staan — de rest van Deel A is die "required information".
-
Belastingformulier invullen (het Amerikaanse formulier voor buitenlandse entiteiten)
Dit moet vóór de bankrekening, anders verwerkt Apple die niet. Het is geen PDF die je downloadt en uploadt: het is een vragenlijst in de console die je naar het juiste formulier leidt.
- Waar je bent
- Business → tab Agreements → sectie Tax Forms
- Wat je doet
- Klik Add Tax Info naast het formulier, en beantwoord de vragen. Apple: "you'll be prompted to answer a series of questions to direct you to the most appropriate tax form". Voor Aqua-IT B.V. — een entiteit, geen natuurlijk persoon, gevestigd buiten de VS — komt daar W-8BEN-E uit. (W-8BEN is voor individuen, W-9 alleen voor Amerikanen. Kom je op W-8BEN uit, dan heb je ergens "individual" aangeklikt waar "entity" hoort.) Bovenaan de pagina staan downloadbare instructies en tipsheets per formulier; die zijn bruikbaar.
- Het belangrijkste veld
- Regel 9b, het buitenlandse belastingnummer (FTIN): vul hier het Nederlandse fiscale nummer van de BV (RSIN) in. Doe je dat, dan heb je géén Amerikaans EIN/TIN nodig om de verdragsvoordelen te claimen. De IRS eist een Amerikaans nummer alleen als je verdragsvoordelen claimt én géén FTIN opgeeft. Dit scheelt je een aanvraagprocedure van weken.
- Vraag dit aan je accountant
- Het formulier vraagt in Part III welk verdragsartikel je inroept en welke "limitation on benefits"-categorie op de BV van toepassing is. Het belastingverdrag Nederland–VS kent voor royalty's een bronheffing van 0%, dus er valt hier echt iets te winnen — maar wélk artikel en wélk vakje, dat is een adviesvraag en geen gokwerk. Vraag het even na voor je verzendt.
- Eenmalig — geen correctie mogelijk
- Apple, letterlijk: "Once you submit this information, you won't be able to make any changes in App Store Connect. For any corrections or additional tax forms, contact us." Lees het dus twee keer na vóór je op Submit klikt. Een fout is niet fataal, maar kost een supportticket.
- Gelukt als
- Het formulier verdwijnt uit de "nog te doen"-stand en krijgt een ingevulde/ingediende status in de sectie Tax Forms.
-
Bankrekening toevoegen
- Waar je bent
- Business → tab Agreements → sectie Bank Accounts
- Wat je doet
- Klik Add Bank Account. Kies éérst het land — daarna past Apple de rest van
het formulier daarop aan. Je vult in:
- Bank Country or RegionNetherlands — als eerste invullen
- Bank Account CurrencyEUR
- Account TypeChecking (een zakelijke betaalrekening)
- Account NameOptioneel, je eigen label in de console
- Local Clearing Code NumberTe zoeken op banknaam, plaats of postcode
- Account Number / IBANVoor Nederland is het IBAN het veld dat telt
- Account Holder NameAqua-IT B.V., exact zoals bij de bank
- Account Holder AddressHet geregistreerde adres van de BV
- Account Holder TypeOrganisatie/bedrijf, niet particulier
- Let op
- Apple waarschuwt letterlijk: "Make sure to enter your information exactly as it appears on your bank account or your payment may be rejected." Dit is de plek waar het meestal misgaat — een afgekorte bedrijfsnaam of een oud adres. Er is geen automatische bankkoppeling die het voor je controleert; het is handmatige invoer. Apple's bankpartner kan je achteraf om extra documentatie vragen: "If an Apple banking partner needs more documentation than what you provided, they'll reach out to you directly."
- Gelukt als
- De rekening verschijnt in de sectie Bank Accounts. Doe je dit zelf als Account Holder, dan is er geen goedkeuringsstap. Deed een Admin of Finance-gebruiker het, dan moet jij het binnen 30 dagen goedkeuren; goedgekeurde wijzigingen zijn binnen 24 uur verwerkt.
-
De EU-compliance-onderdelen nalopen
Deze horen niet strikt bij de Paid Apps Agreement, maar ze staan in dezelfde tab en ze kunnen je later blokkeren. Even nalopen dus.
- Waar je bent
- Business → tab Agreements → sectie Compliance
- Digital Services Act — waarschijnlijk al gedaan
- De DSA-handelaarsverklaring is op 11 juli ingevuld toen het app-record werd aangemaakt. Controleer of hij nog op "verified" staat en niet om aanvulling vraagt. Apple publiceert deze handelaarsgegevens (telefoonnummer en e-mailadres van Aqua-IT B.V.) zichtbaar op de productpagina in alle 27 EU-landen — gebruik dus een adres dat je openbaar wilt hebben, geen privé-nummer.
- DAC7 — nieuw, mogelijk van toepassing
- Een EU-rapportageverplichting voor EU-gevestigde ontwikkelaars. Apple beperkt hem in de eigen documentatie tot ontwikkelaars "who sell apps that offer personal services through the App Store" — Tendlo verkoopt software, geen persoonlijke diensten, dus vermoedelijk niet van toepassing. Verschijnt er tóch een Add Info naast DAC7, vul hem dan in; hij vraagt om de statutaire naam, adres, EU-fiscaalnummer, BTW-nummer en het KvK-nummer. Laat het niet staan — een openstaande compliance-eis kan uitbetaling ophouden.
- Gelukt als
- Geen enkel onderdeel in Compliance vraagt nog om actie.
-
Wachten — en weten waar je naar kijkt
Nu beoordeelt een mens bij Apple je formulieren. Dat is niet te versnellen en er is geen door Apple gepubliceerde doorlooptijd. Reken op ergens tussen een dag en een week; kijk gewoon af en toe.
- Waar je kijkt
- Business → tab Agreements → de statuskolom op de regel Paid Apps
- De ladder die je doorloopt
-
- NewNog niet getekend.
- Pending User InfoGetekend, maar de gegevens zijn nog niet compleet. Hier sta je nu.
- ProcessingAlles ingeleverd; Apple beoordeelt. "We're reviewing your agreement."
- VerifyingApple controleert extra gegevens over de rechtspersoon. Komt niet altijd voor.
- Active"The agreement is in effect." Dit is het doel.
- Twee statussen die om actie vragen
- Active (Pending User) — de overeenkomst wérkt, maar er ontbreekt nog iets; niet negeren. En Disabled — dan is "your app is removed from the App Store until you provide the required information". Zover komt het alleen als er iets lang blijft liggen.
- Gelukt als
- De status leest Active. Vanaf dat moment kun je betaalde producten indienen en kan Apple uitbetalen. niet zeker Of Apple die status groen kleurt, staat nergens gedocumenteerd — vaar op het wóórd, niet op de kleur.
Zodra hier Active staat, hoef je hier nooit meer te komen — tot je ooit van bankrekening of rechtspersoon verandert. Ga door naar Deel B; dat mag je ook al doen terwijl je wacht.
De vier abonnementen aanmaken
Eén abonnementsgroep, Tendlo Plus, met daarin vier producten: Solo en Family, elk jaarlijks en maandelijks. Daarna krijgt elk van de vier een proefperiode van 14 dagen. Reken op drie kwartier.
Het Product ID is het enige wat App Store Connect en RevenueCat aan elkaar knoopt, en het is na aanmaken niet meer te wijzigen. Eén typefout betekent: product weggooien kan niet meer, nieuw product aanmaken, en de rommel handmatig rechttrekken.
Erger nog: onze eigen webhook leidt uit het product-ID af of iemand een gezinsabonnement of een
solo-abonnement heeft — de regel is letterlijk "staat het woord family in de naam?".
Typ je tendlo_plus_famly_yearly, dan koopt een gezin netjes af, en krijgt vervolgens één
persoon Plus in plaats van het hele huishouden. Dat is een fout die je pas ontdekt als een klant klaagt.
Kopieer de vier ID's hieronder letterlijk. Ze zijn op 5 augustus 2026 rechtstreeks uit RevenueCat opgehaald en zijn dus geen overschrijffout uit een document.
De vier producten — exact zoals ze moeten heten
| Wat | Product ID (letterlijk overnemen) | Duur | Prijs |
|---|---|---|---|
| Plus Solo — jaar | tendlo_plus_solo_yearly | 1 Year | € 39,99 |
| Plus Solo — maand | tendlo_plus_solo_monthly | 1 Month | € 5,99 |
| Plus Family — jaar | tendlo_plus_family_yearly | 1 Year | € 59,99 |
| Plus Family — maand | tendlo_plus_family_monthly | 1 Month | € 7,99 |
-
De abonnementsgroep "Tendlo Plus" aanmaken
- Waar je bent
- App Store Connect → Apps → Tendlo → in de linkerkolom, onder het kopje Monetization, klik Subscriptions
- Wat je doet
- Klik de plusknop (+). Vul bij Reference Name in: Tendlo Plus. Klik Create.
- Waarom één groep, niet vier
- Binnen één groep kan een klant maar één abonnement tegelijk hebben, en kan hij vrij op- en afschalen tussen Solo en Family, maand en jaar — precies wat je wilt. Vier losse groepen zou betekenen dat iemand per ongeluk twee abonnementen tegelijk kan hebben. Bovendien geldt de proefperiode per groep (zie stap 5), en dat is ook de bedoeling: één keer 14 dagen proberen, niet vier keer.
- Gelukt als
- Tendlo Plus staat als groep in de lijst onder Subscriptions.
-
De groepsnaam die klanten te zien krijgen
De Reference Name van hierboven is intern; klanten zien hem nooit. Wat ze wél zien komt uit de lokalisaties, en die moet je apart invullen.
- Waar je bent
- Subscriptions → klik op de groepsnaam Tendlo Plus
- Wat je doet
- Klik de plusknop (+) naast App Store Localizations. Kies Dutch en vul een Subscription Group Display Name in — bijvoorbeeld Tendlo Plus. Klik Add. Voeg desgewenst Engels en Duits toe; dat kan ook later nog.
- Gelukt als
- Er staat minstens één lokalisatie onder de groep.
-
De vier producten aanmaken
Dit doe je vier keer, één keer per regel uit de tabel hierboven. Ik beschrijf het één keer.
- Waar je bent
- Subscriptions → groep Tendlo Plus
- Wat je doet — het aanmaakscherm
- Klik Create (of de plusknop (+) als er al producten
staan). Twee velden:
- Reference Name — intern, kies iets leesbaars: Plus Solo jaar.
- Product ID — kopieer letterlijk uit de tabel. Dit is het veld dat onherroepelijk is.
- Wat je doet — de detailpagina
-
- Subscription Duration — 1 Year of 1 Month, volgens de tabel. Klik Save.
- Subscription Prices — kies valuta EUR en de prijs uit de tabel, en klik Next. Staat het bedrag niet in de korte lijst, klik dan See Additional Prices. App Store Connect rekent daarna zelf vergelijkbare prijzen uit voor alle andere landen, met belasting en wisselkoers erin verwerkt; die mag je zo laten staan of aanpassen.
- Availability — in welke landen het abonnement te koop is. Standaard staat alles aan. Dit is een keuze die jij maakt, geen besluit dat al vastligt: alles aan laten is het eenvoudigst en later terug te draaien; alleen Nederland is verdedigbaar zolang je NL-only test.
- App Store Localizations — per taal een Subscription Display Name en Description. Dit is wat de klant leest bij het afrekenen, dus geen interne naam: bijvoorbeeld "Tendlo Plus Gezin — per jaar". Minstens Nederlands invullen.
- Review Information — optioneel: een schermafbeelding en een notitie voor de beoordelaar. Een screenshot van de paywall helpt hier later; die bestaat nog niet, dus laat het nu leeg of zet er een korte notitie in.
- Nog even niet nodig
- Family Sharing hoeft niet aan. Dat is Apple's eigen gezinsdeling, en die staat los van ons gezinsabonnement — bij ons regelt de server dat elk lid van het huishouden Plus krijgt, ongeacht welke Apple-ID's dat zijn. Aanzetten zou een tweede, verwarrend deelmechanisme introduceren.
- Gelukt als
- Alle vier de producten staan in de groep, elk met een prijs en een duur, en hun status is Ready to Submit (of iets dat aangeeft dat er niets meer ontbreekt). niet zeker Apple documenteert deze statusnaam niet expliciet op de aanmaakpagina; ontbreekt er iets, dan zegt het scherm zelf welk veld nog leeg is.
-
De volgorde binnen de groep zetten
Kleine stap, maar hij bepaalt wat er gebeurt als iemand van Solo naar Family gaat: als een upgrade (direct, met verrekening) of als een downgrade (pas bij de volgende verlenging).
- Waar je bent
- Subscriptions → groep Tendlo Plus
- Wat je doet
- Klik Edit Order en sleep de producten in volgorde van meest naar minst. Dus: Family boven Solo. Jaar en maand van hetzelfde pakket mogen op hetzelfde niveau staan — dat zijn geen op-/afwaarderingen maar een ander betaalritme. Klik Save.
- Gelukt als
- Family staat op niveau 1, Solo daaronder.
-
De proefperiode van 14 dagen — vier keer
Bij Apple is een gratis proefperiode geen aparte functie die je ergens aanzet. Het is een aanbieding op een product: een Introductory Offer van het type Free. Daarom moet je hem vier keer aanmaken, één keer per product.
- Waar je bent
- Subscriptions → groep Tendlo Plus → klik het product → sectie Subscription Prices → View all Subscription pricing
- Wat je doet
-
- Klik Set up Introductory Offer.
- Kies de landen waar de proefperiode geldt. Neem dezelfde landen als bij Availability. Klik Next.
- Kies een startdatum en einddatum. Kies je vandaag als startdatum, dan gaat de aanbieding direct in. De einddatum is het einde van de áánbieding, niet de lengte van de proefperiode — zet hem ruim in de toekomst, anders stopt je trial op een dag waarop je dat niet verwacht. Klik Next.
- Kies Free (niet Pay as you go of Pay up front — dat zijn kortingen, geen gratis proefperiode).
- Kies als duur 2 Weeks. Apple heeft geen optie "14 dagen". De keuzelijst is: 3 dagen, 1 week, 2 weken, 1 / 2 / 3 / 6 maanden, 1 jaar. Twee weken ís veertien dagen; zoek niet verder naar een veld waarin je "14" kunt typen.
- Klik Next en daarna Confirm.
- Niet te wijzigen achteraf
- Apple: "Once you create an introductory offer, you won't be able to edit it. To change the details of your introductory offer, delete it and create a new one." Verwijderen kan wel: ga naar hetzelfde prijsscherm, tab Introductory Offers, beweeg de muis over de rechterkant van de regel tot er een (—) verschijnt, klik die en bevestig met Delete. Dus een verkeerde duur is te herstellen — je moet hem alleen opnieuw aanmaken in plaats van bij te werken.
- Eén proefperiode per persoon, per groep
- Dit is precies zoals je het wilt, maar goed om te weten: Apple rekent de proefperiode af per Apple-ID per abonnementsgroep, niet per product. Iemand die 14 dagen Plus Solo probeert en daarna Family wil proberen, krijgt geen tweede proefperiode — hij zit al in de groep Tendlo Plus. Apple's eigen voorbeeld: wie een gratis proefperiode gebruikt en daarna upgradet naar een ander product in dezelfde groep dat óók een proefperiode heeft, "is not eligible for the second offer". Zo houd je het eerlijk, en zo hoort de app het straks ook te tonen.
- Gelukt als
- Bij alle vier de producten staat onder Introductory Offers een regel Free · 2 Weeks met de juiste landen en datums.
-
Ter beoordeling indienen
- Wat je doet
- Op de detailpagina van elk product klik je Add for Review.
- De eerste keer gaat mee met een app-versie
- Dit is een valkuil die je anders pas ontdekt als je op een knop zoekt die er niet is: je allereerste abonnement en je allereerste abonnementsgroep moeten samen met een nieuwe app-versie worden ingediend — ze kunnen niet los ter beoordeling. Pas nadat dat eerste abonnement is goedgekeurd, kun je volgende abonnementen zelfstandig indienen. In de praktijk betekent dit: aanmaken kan nu, goedgekeurd worden gebeurt bij de eerstvolgende versie-inzending vanuit de app.
- Gelukt als
- De producten staan klaar; de daadwerkelijke goedkeuring volgt met de eerste versie-inzending.
-
Controleren dat RevenueCat ze herkent
Dit is de stap die bevestigt dat de ID's kloppen — en de reden dat een typefout hier zo duur is.
- Waar je bent
- app.revenuecat.com → project Tendlo → app Tendlo (iOS) → Products
- Wat je verwacht te zien
- De vier producten staan er al, aangemaakt op 11 juli, en zijn al gekoppeld aan de
entitlement
plusen aan de offeringdefault("Tendlo Plus", met de packagessolo_yearly,solo_monthly,family_yearly,family_monthly). RevenueCat zoekt ze op product-ID op bij Apple. Kloppen jouw ID's, dan klikt dat vanzelf in elkaar en hoef je in RevenueCat niets te doen. - Wat je níét moet doen bij een afwijking
- Ziet RevenueCat een product niet, of staat er iets als "not found in App Store Connect", ga dan niet in RevenueCat een nieuw product aanmaken om het gat te dichten. Kijk eerst of het ID in App Store Connect exact overeenkomt met de tabel hierboven. Stuur me anders even een berichtje — dit rechttrekken is vijf minuten werk als je het meteen doet, en een halve avond als er al testaankopen overheen zijn gegaan.
- Gelukt als
- Alle vier de producten tonen in RevenueCat de prijs die je in App Store Connect hebt gezet.
Google Play — uitgesteld, sla dit nu over
Google Play wordt uitgesteld; iOS gaat eerst helemaal af. Je hoeft nu dus niets in Play Console te doen. Dat is een verstandige volgorde: de Android-kant kost een tweede ronde van bank-, belasting- en productwerk, en zolang de paywall op iOS niet bewezen is, verdubbel je alleen het onderhoud. RevenueCat is er intussen op voorbereid — de vier Android-producten en de Play-app staan er al in.
Wat hieronder staat, staat er zodat het compleet is wanneer je het wél oppakt. Lees vooral de eerste waarschuwing; die is het enige onomkeerbare op deze hele pagina.
Je hebt al een Google Developer-account. Wissel vóór je iets aanmaakt rechtsboven in play.google.com/console naar het zakelijke Aqua-IT B.V.-account, niet je persoonlijke.
Een app hoort bij het account waarmee je hem aanmaakt. Verplaatsen kan later wél, maar het is geen instelling: het is een handmatig verzoek dat Google beoordeelt. Je hebt het registratie-transactienummer van beide accounts nodig (terug te vinden in de mailbox van elke eigenaar, in de bevestiging van de registratiekosten), een nieuw doelaccount kost opnieuw US$ 25, en Google reageert naar eigen zeggen binnen twee werkdagen. En een aantal dingen gaat niet mee: uitbetalings- en omzetrapportages, promoties, testgroepen, de koppeling met Firebase / Google Analytics / AdMob, en alle bestellingen van vóór de overdracht — restituties daarvoor moet je daarna nog steeds vanuit het oude account doen. Kortom: te repareren, maar een rommelige middag die je met één klik nu voorkomt.
De stappen, voor later
-
App aanmaken onder het juiste account
- Wat je doet
- Controleer rechtsboven dat je in het Aqua-IT B.V.-account zit. Dan Create app → naam (een werktitel mag), standaardtaal, type App, en Free — met in-app-aankopen. Gratis met in-app-aankopen is de juiste keuze: het abonnement is een in-app-aankoop, niet een betaalde app.
- Ook permanent
- De package name (
com.aquait.tendlo) ligt vast bij de eerste upload en is daarna niet meer te wijzigen. Hij moet gelijk zijn aan de iOS-bundle-id.
-
De abonnementen aanmaken
- Waar je bent
- Play Console → Monetize with Play → Products → Subscriptions
- Wat je doet
- Klik Create subscription. Google's model is een laag dieper dan dat van
Apple: eerst het abonnement, daarbinnen een of meer base plans
(Add base plan, type auto-renewing), en daarbinnen
optioneel offers — en daar hangt de gratis proefperiode. Dat verklaart ook de dubbele punt in
de RevenueCat-ID's:
tendlo_plus_solo:yearlyis "abonnementtendlo_plus_solo, base planyearly". Er moet minstens één geactiveerd base plan zijn, anders is er niets te koop. - Let op
- Zodra je een base plan aanmaakt, kun je het abonnement niet meer verwijderen — alleen archiveren. Het product-ID is ook hier onveranderlijk (maximaal 40 tekens, begint met een cijfer of kleine letter).
-
Google-servicerekening voor RevenueCat
- Wat je doet
- Dit loopt over twee consoles:
- In Google Cloud Console: zet de Android Publisher API, Google Play Developer Reporting API en de Pub/Sub API aan.
- Nog in Google Cloud: IAM & Admin → Service Accounts → Create Service Account; geef de rollen Pub/Sub Editor en Monitoring Viewer. Dan Manage Keys → Add Key → Create new key → JSON en download het bestand.
- In Play Console: Users and permissions → Invite user, met het e-mailadres van die servicerekening. Rechten: app-informatie bekijken en rapportages downloaden, financiële gegevens en bestellingen bekijken, en bestellingen en abonnementen beheren.
- Upload het JSON-bestand in RevenueCat bij de Play-app.
- Wat ik dan doe
- Niets meer — vanaf dat punt is de Android-kant net zo geregeld als de iOS-kant. Stuur me het JSON-bestand niet per mail; zet het ergens waar ik erbij kan, of upload het zelf in RevenueCat.
-
Bank en belasting, opnieuw
- Wat je doet
- Google wil een eigen betalingsprofiel met bank- en belastinggegevens; dat is niet hetzelfde profiel als bij Apple. Reken op hetzelfde soort invulwerk als Deel A, met dezelfde gegevens uit je voorbereidingslijstje. De Play Console-registratie kost eenmalig € 25 als het account nog niet bestaat.
Wat er daarna gebeurt
Zodra de vier producten bestaan, is de bal weer bij mij. Hier staat wat er dan klaarligt, wat ik nog bouw, en waar het daarna nog op wacht — zodat je niet hoeft te raden hoeveel er nog tussen zit.
Wat al klaarstaat (geverifieerd 5 augustus 2026)
- ✓RevenueCat is volledig ingericht
Entitlement
plus, offeringdefault("Tendlo Plus") staat als huidige offering, met vier packages die elk al aan het iOS- én Android-product hangen. Er is geen handmatige koppeling meer nodig zodra de producten in App Store Connect bestaan. - ✓De In-App Purchase Key is gevalideerd RevenueCat meldt voor de iOS-app "subscription key configured" — de sleutel waarmee aankopen geverifieerd worden, werkt.
- ✓De entitlements draaien server-side
Tabel
plus_entitlements(migratie 0042), gevoed door de edge functionrevenuecat-webhook. De app leest die tabel, en de AI-proxy dwingt Plus server-side af — een gekraakte client komt er niet langs. - ✓Plus-handhaving staat aan De Plus-grens is een echte grens, geen badge meer. Alle huidige testhuishoudens hebben een beheerders-grant, dus zij merken er niets van.
- ✓Het gezinsabonnement werkt al zoals je het wilde
Je besluit "élk lid krijgt Plus, ook tijdens de trial" kost geen extra bouwwerk: een
entitlement met
tier='family'geldt huishouden-breed zonder aangewezen begunstigde, en een gestarte proefperiode komt bij RevenueCat binnen als een gewone eerste aankoop — dus die zet de entitlement net zo goed op actief. Vanaf dag één van de proefperiode heeft het hele gezin alles.
Wat ik bouw zodra de producten bestaan
- →De aankoopkant in de app
Het pakket
purchases_flutterzit nog niet in de app. Dat komt erin, met inloggen bij RevenueCat op onze eigen gebruikers-id (zodat de webhook het juiste huishouden vindt), het ophalen van de offering, kopen, en herstellen van aankopen. - →De echte paywall Het upsell-scherm bestaat al (Instellingen → Tendlo Plus), maar toont nu placeholder-prijzen. Die gaan eruit: de prijzen komen live uit de offering, in de juiste valuta per land. Jaar staat standaard geselecteerd, conform het besluit van 17 juni.
- →De trial-knop aanzetten De knop "14 dagen gratis proberen" staat nu bewust verborgen, omdat er nog niets achter zit. Zodra de proefperiode in App Store Connect bestaat, gaat hij aan — inclusief het correct verbergen ervan bij iemand die zijn proefperiode al gebruikt heeft.
- →Het aanbiedingsmoment De trial wordt aangeboden bij onboarding én zodra iemand een Plus-module aanraakt; wie hem niet neemt, ziet de Plus-modules zichtbaar-maar-vergrendeld met een rustige upsell. Dat is spec sinds 17 juni en wordt nu pas echt bouwbaar.
Waar het daarna nog op wacht
- De App Store Connect API-sleutel in RevenueCat. De In-App Purchase Key is er wel, maar de bredere API-sleutel en het leveranciersnummer staan bij RevenueCat nog niet ingevuld. Zonder die sleutel mist RevenueCat een deel van zijn beeld — onder meer rond restituties en het automatisch importeren van producten. Geen blokkade voor de eerste verkoop; wel iets om af te maken. Ik pak dit op zodra de producten er staan.
- Privacybeleid en voorwaarden op een openbare URL. Beide stores eisen dit vóór publieke release, en een abonnement zonder gepubliceerde voorwaarden is een afwijzingsgrond. Dit staat al langer open (§8 van de eigenaar-inputs) en wordt nu urgenter dan het was.
- De eerste versie-inzending. Het eerste abonnement kan alleen samen met een nieuwe app-versie worden goedgekeurd (zie Deel B, stap 6). De volgorde is dus: producten aanmaken → paywall bouwen → versie indienen met de abonnementen erbij.
Waar ik níét zeker van ben
Alle menupaden hierboven komen uit Apple's en Google's eigen actuele documentatie. Maar de consoles zitten achter een login, dus ik heb ze niet met eigen ogen kunnen zien. Dit zijn de plekken waar je iets anders kunt aantreffen dan wat er staat — met wat je dan moet zoeken.
- Een sectie "Contact Info" binnen Business → Agreements. De oude "Agreements, Tax, and Banking"-pagina had kolommen voor contactpersonen (Senior Management, Financial, Technical, Legal). In de huidige documentatie bestaat die sectie niet meer; er staan alleen Agreements, Bank Accounts, Tax Forms en Compliance. Zie je hem tóch, vul hem dan gewoon in met de gegevens van Aqua-IT B.V. — het is geen valstrik, alleen niet meer gedocumenteerd.
- De status "Pending Contracts". Die term circuleert op forums, maar staat niet in Apple's officiële statuslijst. Kom je hem tegen, lees hem dan als "Pending User Info".
- Hoe lang de beoordeling duurt. Apple publiceert hier geen doorlooptijd. De enige officiële termijn die bestaat is dat een goedgekeurde bankwijziging binnen 24 uur verwerkt is. "Een dag tot een week" is een inschatting, geen belofte.
- De kleur van de status "Active". Apple documenteert het woord, niet de kleur. Lees de tekst.
- Het kopje "Monetization" in de linkerkolom. Apple's eigen hulppagina's zijn hierin niet consequent: de ene zegt "in the sidebar, under Monetization, click Subscriptions", de andere alleen "in the sidebar, click Subscriptions". Zoek in de linkerkolom van het app-record simpelweg naar Subscriptions; of er een kopje boven staat, maakt niet uit.
- De exacte statusnaam als een product compleet is ("Ready to Submit" of iets vergelijkbaars). Apple noemt die niet op de aanmaakpagina. Betrouwbaarder signaal: het scherm klaagt nergens meer over een ontbrekend veld.
- Welke belastingformulieren jij precies te zien krijgt. Apple's pagina noemt secties voor de VS, niet-VS, Australië, Brazilië, Canada, Ierland, Mexico, Singapore, Zuid-Korea, Taiwan en Thailand — maar welke daarvan verschijnen, hangt af van waar je gevestigd bent. Voor een Nederlandse BV verwacht ik alleen het Amerikaanse formulier plus de EU-compliance-onderdelen. Verschijnt er meer, vul in wat de console vraagt.
- Het juiste verdragsartikel op het W-8BEN-E. Dat het tarief voor royalty's onder het Nederlands-Amerikaanse verdrag 0% is, staat vast. Welk artikel je aankruist en welke "limitation on benefits"-categorie op Aqua-IT B.V. van toepassing is, is een vraag voor je accountant — en het formulier is achteraf niet te corrigeren in de console.
Loop je op een scherm vast dat niet klopt met deze pagina, stuur dan een schermafbeelding. Ik werk deze handleiding dan bij, zodat het de volgende keer wél klopt — dat is goedkoper dan tweemaal uitzoeken.