Introduction to mandate handling
A “mandate” in FinDock is the authorization payers give you to collect recurring payments from them. This authorization is stored in Salesforce using the Mandate object.
For some payment processors and methods, the Mandate record merely stores the authorization details from the payment processor. The authorization itself is managed by the payment processor (through payment method specific authorities). FinDock mirrors that information in Salesforce for indemnity should a payer make a claim against a collection.
For certain direct debit schemes, FinDock both creates and stores mandates for indemnity purposes. These schemes do not require mandates to be registered, so they do not need to be sent to banks for authorization. This type of mandate handling is used for the following method-processor combinations:
- CH-DD through FinDock
- LSV+ through FinDock
- SEPA Direct Debit through Buckaroo
- SEPA Direct Debit through FinDock
- SEPA Direct Debit through Mollie (registration only)
For other direct debit schemes, mandates need to be created, (pre)registered, authorized and actively managed. FinDock creates mandates and handles certain mandate actions for the following method-processor combinations:
- Autogiro through FinDock
- AvtaleGiro through FinDock
- Bacs Direct Debit through FinDock
- Bacs Direct Debit through SmartDebit (Access PaySuite)
- SEPA Direct Debit - SEDA through FinDock
An exception is GoCardless where FinDock uses a unified integration approach for all supported direct debit schemes. For further information, see Using GoCardless direct debit
Also note that direct debit payments through Stripe do not use the FinDock Core mandate service.
Mandate creation or selection
How FinDock creates mandates is determined by the FinDock Core settings, where you can, for example, define a unique prefix to be added to the mandate record reference Id. For further information, see Configure mandates.
With the installation of a source connector, the source objects get a field called Mandate. This is a lookup to the Mandate object in FinDock and serves as a reference to the mandate to be used in all installments for this source.
Usually, the mandate can be created automatically and as such doesn't require any interaction from Salesforce users. Because of this, the field is usually not marked as required. Should automatic creation be prohibited by the processor or is not possible due to other constraints, Salesforce users are presented with an error if they try to save a record without a valid mandate attached.
Upon saving the source object record, FinDock checks if a mandate is required, and if so, it checks if it is allowed to reuse an already existing mandate for the related payment profile.
The mandate is linked to the payment profile, payment method, payment processor and target. This process is invoked every time one of these fields is changed.
Mandate registration
For direct debit schemes where mandates need to be registered and authorized before they can be activated, FinDock handles these steps through mandate schedules.
In some cases, the schedule results in a registration file that you send to a bank service or service bureau. In other cases, FinDock handles the registration details automatically with the bank service.
Mandate amendment and cancellation
Only certain direct debit schemes require specific steps for amendments and cancellations. For further information, please refer to the processor-specific details, such Bacs Direct Debit and SEDA.