How Ankla works with GoCardless.
Ankla is a partner integrator. Each institution connects its own GoCardless account and stays its own SEPA creditor. Tuition is collected into the institution’s account, and refunded from it. The money never passes through Ankla.
One creditor per institution.
Ankla does not hold a merchant account that collects on behalf of schools. Under the GoCardless Partner Programme, every institution authorises Ankla to act on its account, and every payment, mandate and refund belongs to that account. Ankla provides the software, the contract engine and the reconciliation; the banking relationship is between the institution and GoCardless.
Connecting your account.
From the institution’s page in the Ankla portal, an administrator starts the connection and is taken to GoCardless to sign in and authorise Ankla. Institutions that do not yet have an account create one in the same flow.
What Ankla receives
An OAuth access token for your organisation. It is stored encrypted and is never shown in the portal.
What it is used for
Creating mandates, collecting instalments and issuing refunds on your account, and reading your payments and payouts to reconcile them.
How to revoke it
From your own GoCardless dashboard, at any time. GoCardless notifies Ankla and the connection is disabled the same day.
The family signs a mandate.
When a tuition contract is registered, Ankla creates a GoCardless Billing Request on the institution’s account and sends the payer a link to the hosted GoCardless page. The payer enters their bank details there, never in Ankla: we do not see or store IBANs.
When the mandate is signed, GoCardless sends the billing_requests/fulfilled webhook and Ankla records the mandate against the contract. Nothing is marked as signed on our side until that event arrives.
Collecting an instalment.
Each instalment is created through the GoCardless Payments API against the signed mandate. The portal then waits: an instalment stays submitted until GoCardless confirms it with the payments/confirmed webhook.
Only at that point does Ankla record the instalment as collected, credit the institution’s fund and notify the family. A chargeback or a failure arrives the same way and reverses the entry.
Cancellations and refunds.
When a contract is cancelled, Ankla applies the refund scale agreed with the institution and issues the refund through the GoCardless Refunds API, from the institution’s own account, with total_amount_confirmation so the same amount can never be refunded twice.
Pending instalments and the mandate are cancelled in GoCardless in the same operation. The refund identifier returned by GoCardless is stored in the contract’s audit trail and shown to the operator. If GoCardless rejects the refund, the portal says so on screen with the reason rather than reporting success.
Refunds must be enabled on your own GoCardless account before this works. That setting lives in your dashboard, under Company settings.
Reconciliation.
Every webhook GoCardless sends is verified by signature and recorded once, so a message that arrives twice is not processed twice. Any webhook that fails is kept and retried, and anything still unresolved is visible to an operator.
Status reconciliation
Each night we compare our record of every open payment and mandate against GoCardless, so a lost event cannot go unnoticed.
Payout reconciliation
Each payout is broken down line by line and matched against our own entries: no unknown collection, no collection left unsettled, amounts to the cent.
Exports
The institution can export its instalments with the GoCardless payment identifiers, so any figure can be traced back to its source.
What an institution asks first.
Does the money ever sit with Ankla?
Does Ankla see our families’ bank details?
What happens if we disconnect Ankla?
Which GoCardless features does Ankla use?
Who do we contact if something looks wrong?
Shall we walk your team through it?
Talk to usNo commitment · we prepare a demo adapted to your context.