Autogiro direct debit
FinDock native Autogiro direct debit processing is in beta.
FinDock supports native Autogiro direct debit payment processing. Through filed-based processes with Bankgirot, FinDock enables new payer setup, mandate management and recurring payment collection.
Pre-requisites
- FinDock is installed and configured.
- You have a contract with a Swedish bank to collect Autogiro direct debit payments
- You have enabled file exchange with Bankgirot (contact FinDock Support for details)
Install Nordic extension
Follow the standard procedure for installing payment processors to add the Nordic Payments extension for Norway and Sweden. Activate the FinDock for Sweden processor and Autogiro payment method.
Check and assign the required permissions. If you are using custom permission set groups, ensure the Nordic permission sets are assigned.
Adjust mandate settings for Autogiro
Adjust the Core mandate settings as described below according to your specific Autogiro use case.
- Mandate Reference: Not applicable. This prefix is appended to mandate reference for other direct debit methods. The mandate references for Autogiro are auto-generated to comply with Autogiro rules.
- Reuse existing mandate: You can enable this setting to reuse an existing mandate for a given payer. However, we recommend not reusing mandates to ensure clarity between a recurring Autogiro payment and the related mandate.
- Auto-create mandates: Enable (check) this setting to make FinDock automatically generate mandates for new recurring payment. If disabled, you need a custom workflow for creating the required Mandate records for Autogiro payments.
Add Autogiro targets
Autogiro payment collection is tied to a specific bank account. If both Bankgiro and PlusGiro account numbers are used, they need to be defined as separate targets.
The target includes key information needed to process Autogiro direct debits. In addition, the target defines the OCR format for auto-generated OCR payment references.
To add an Autogiro target:
- Launch the FinDock app and click the FinDock Setup tab.
- Go to Payment Processors & Methods.
- Under Installed Processors, click the Sweden processor entry.
- Click Add account.
- Add a name for the new target, select Target FinDock-for-Sweden and Type Bankgirot.
- Complete the settings according to your needs following the guidance below.
- Click Save.
Autogiro target settings
- Append Length Digit To OCR Reference: Enable to make FinDock add the optional length digit to the generated OCR number
- Associate charges to: For CAMT file processing, either select or create a Salesforce account record to store transaction charges, such as for reversals, and enter the Salesforce Id of the account here. Some banks include charges within transactions. These charges are stored automatically and matched against a particular account in Salesforce.
- Bankgiro number: the account number at your Swedish bank (7-8 digits)
- Copy to Chatter: Upload a copy of generated files to Chatter group for file exchanges
- Duplicate protection: enable to ensure only unique Bankgirot files are processed; can be disabled for testing purposes
- Enable file transfers with Bankgirot: When you are done testing and have whitelisted your account number with FinDock, enable this setting to allow automatic file transfers with Bankgirot.
- Image Option: Files from Bankgirot may include images of payment slips. Use this setting to control the format. You can keep the original, convert to PNG for previewing, or both.
- isTest: Enable if you are using the target for testing
- OCR Reference Length: set the required length for generated OCR numbers (3-25 digits)
- Supported Bank Statement format: Select which bank statement type will be used with this account, either camt.053 or camt.054.
If you are using FinDock e-mandates, the Autogiro target has additional fields that are used to generate the digitally signed PDF. These fields provide the required payee (creditor) identification, such as organization name and address details.
Autogiro mandate signup options
Autogiro mandates, the agreement allowing you to debit a payer’s account, can be created through paper and digital channels, though digital signup options are dependent on your Bankgirot contract.
FinDock supports all signup options using Mandate records and mandate schedules. Mandate schedule runs result in bank files that adhere to Bankgirot requirements. These are sent to Bankgirot through an integrated SFTP account.
For more information on the mandate handling process, please see Introduction to mandate handling.
Signup via electronic form
For individuals, the electronic form option can be handled through FinDock using a web form integrated with the FinDock Payment API and E-mandate service. You can leverage FinDock Giving Pages, PayLinks, or create your own front-end web form. Support for this signup option depends on your Bankgirot contract.
At the end of the online signup process, FinDock stores the payer’s mandate agreement as a Mandate record that has the status Pending registration. These are automatically picked up through the next mandate schedule run for registration. The agreement signature itself needs to be coordinated with the payer and stored according to Bankgirot requirements.
Autogiro rules also allow businesses to sign up via the electronic form method. However, with FinDock, the online sign up solution is intended for individuals, with, for example, individual authentication via BankID. Autogiro mandates for businesses can be entered manually and follow the same handling process as with mandates from paper forms.
Signup via paper form
This is the standard signup method available to all Bankgirot customers. The form needs to follow the Autogiro guidelines and can use a payer’s account number or Bankgiro number. Mandates collected on paper can be manually entered into Salesforce.
Create new Mandate and Payment Profile records with the required fields for Autogiro, and then set the mandate status to Pending registration. These mandates are then automatically picked up through the next mandate schedule run for registration.
For mandate archiving purposes, you can also, for example, attach a PDF scan of the original signed paper form to the Mandate record in Salesforce.
Signup via Internet Bank
Some payers may be able to use their own bank to sign up for a new recurring Autogiro payment. This Internet Bank method results in new electronic mandates that you can approve or reject via the Autogiro Online web service. Availability of this signup option is also dependent on your Bankgirot contract.
When you use FinDock to manage your Autogiro mandates, new mandates via Internet Bank signup need to be added to FinDock manually. If you use the Autogiro Online web service to approve these new mandates, you need to create new Mandate and Payment Profile records with the required fields filled in, and then set the status of the mandate to Approved and mark it active (check the Active checkbox).
If you want to register new Internet Bank mandates with FinDock, create new Mandate and Payment Profile records with the required fields for Autogiro, and then set the status of the mandate to Pending registration. As with payment form mandates, these are automatically picked up through the next mandate schedule run for registration.
Signup via web page
The web page sign up option can only be used if the payer can fulfill certain requirements as outlined in the Bankgirot user manual.
The web page sign up form is created using the Autogiro Online service. Availability of this signup option depends on your Bankgirot contract.
Mandates created via this signup option are handled in FinDock the same way as the Internet Bank option explained above. Manually create new Mandate and Payment Profile records with the required fields for Autogiro, and then set the status of the mandate to Pending registration so they are picked up by the next mandate schedule run.
Autogiro with FinDock e-mandates
FinDock supports online digitally signing Autogiro mandates using the FinDock e-mandate service (optional paid feature). You can use FinDock Giving Pages or PayLinks which have the Autogiro mandate process built-in, or create your own front-end web form and integrate to the Payment API and e-mandate service.
Please refer to FinDock e-mandates for details.
Collecting Autogiro payments
The FinDock Autogiro direct debit solution is for recurring payments. Once a new mandate is active, installments for the recurring payment can be collected.
Before you start collecting payments, please keep in mind there are requirements that need to be handled through Salesforce customization. These include:
- Payers need to be notified of the upcoming debit at least 8 bank days prior to the first collection due date. Notification of further recurring installment collection is not required.
- Payment collection must be initiated no later than 2 bank days prior to the installment due date. We recommend using 3 bank days.
The payment collection process is handled through payment schedules. These can be run manually or fully automated. The overall process is illustrated below.
- A payment schedule run selects or generate new installments that are ready to be collected based on the schedule parameters.
- The payment schedule run sends collected data to ProcessingHub for preparation.
- ProcessingHub builds a payment initiation file and sends it to the Bankgirot service.
- ProcesingHub regularly polls the Bankgirot service for new payment response or mandate advice files and uploads them to Chatter.
- ProcesingHub automatically picks up new uploads to Chatter and parses them into Inbound Report records.
- FinDock reconciles the inbound reports through out-of-the box Guided Matching rules and any custom rules you create.
- Installments and other payment data are updated according to the Guided Matching results.
Reconciliation of Autogiro direct debit payments
Reconciliation is the process of matching and updating Salesforce data with the latest information from Bankgirot. FinDock regularly polls the Bankgirot SFTP service for new files which are automatically fetched and uploaded to Chatter for processing.
- FinDock regularly polls Bankgirot.
- FinDock fetches new files from the SFTP service.
- The new files are automatically uploaded to the Chatter file exchange group.
- FinDock parses and extracts files into into transactions or inbound reports.
- Inbound records are reconciled through Guided Matching.
Inbound payment data from Bankgirot can come at different times through different files as described below. For BGMax files, FinDock uses transaction sets and transactions to process the BGMax file content.
Swedish banks may also provide camt.053 files for reconciliation. To process these files, manually upload them to Chatter. For further information, please see processing camt.053 files.
Autogiro payment specification
When payment initiations are delivered to Bankgirot, payment specifications are returned. Each is parsed into an Inbound Report record with report type Autogiro Payment, Autogiro Refund or Autogiro Rejection and matched using the installment payment reference (Final Payment Reference).
There are three main types of payment responses: status, refund or rejection. FinDock processes matched inbound reports using managed Guided Matching rules and custom matching rules you can create to extend the matching logic.
The following table outlines the default processing rules for matched records. For ideas on additional Guided Matching rules, please see the detailed information on report content from Bankgirot.
Payment status entries
Status code | Description | FinDock handling | Inbound Report type | Sub-type |
---|---|---|---|---|
0 | Approved Payment Executed | Update payment to collected | Autogiro Payment | 0 Payment approved |
1 | Insufficient funds, payment not executed | Update to failed, reason: insufficient funds | Autogiro Payment | 1 Insufficient funds |
2 | No connection to autogiro | Update to Failed: reason: No autogiro connection, check target settings | Autogiro Payment | 2 No autogiro service connection |
9 | Renewed funds | Leave in pending processing, since there will be retries + last reason code | Autogiro Payment | 9 Renewed funds |
Payment refund entries
Refund code | Description | FinDock handling | Inbound Report type | Sub-type |
---|---|---|---|---|
01 | Mandate has not been submitted to the payee | Reverse the payment, set status reason to Code meaning | Autogiro Refund | 01 Mandate not submitted to payee |
02 | Mandate has been withdrawn | Reverse the payment, set status reason to Code meaning | Autogiro Refund | 02 Mandate withdrawn |
03 | Amount was not specified when the mandate was assigned and exceeds reasonable expectations | Reverse the payment, set status reason to Code meaning | Autogiro Refund | 03 Amount exceeds expectation |
Payment rejection entries
Rejection code | Description | FinDock handling | Inbound Report type | Sub-type |
---|---|---|---|---|
01 | Omitted, No Mandate Found | Failed installment and deactivate mandate | Autogiro Rejection | 01 No mandate found |
02 | Omitted, Account not approved or Closed | Failed installment and deactivate mandate | Autogiro Rejection | 02 Account closed or unapproved |
03 | Incorrect Payer Number | Failed installment | Autogiro Rejection | 03 Incorrect payer number |
06 | Incorrect Period Code | Failed installment (N/A) | Autogiro Rejection | -- Other rejection |
07 | Incorrect number of recurring payments | Failed installment (N/A) | Autogiro Rejection | -- Other rejection |
08 | Amount non-numeric | Failed installment | Autogiro Rejection | -- Other rejection |
09 | Ban on outgoing payments | Failed installment | Autogiro Rejection | -- Other rejection |
10 | Bankgiro number not found at BGC | Failed installment | Autogiro Rejection | -- Other rejection |
12 | Incorrect Payment Date | Failed installment | Autogiro Rejection | -- Other rejection |
13 | Payment date in the past | Failed installment | Autogiro Rejection | -- Other rejection |
15 | Payee's Bankgiro numbers in open record and transaction record are not the same | Failed installment | Autogiro Rejection | -- Other rejection |
24 | Amount exceeds Max Amount | Failed installment | Autogiro Rejection | -- Other rejection |
Autogiro mandate advice
Mandate advice files are received daily through automatic polling of the Bankgirot service. Each mandate advice is parsed into an Inbound Report record with report type Autogiro Mandate and matched to installments.
FinDock processes matched inbound reports using managed Guided Matching rules and any additional custom rules. The default processing for matched records is outlined below.
Comment code | Description | FinDock handling | Inbound Report type | Sub-type |
---|---|---|---|---|
02 | Mandate cancelled on initiative of payer or payer's bank. | Cancel mandate | ||
Autogiro Mandate | 02 Mandate cancelled by payer / payer's bank | |||
03 | Account type not approved for Autogiro. | Fail mandate with status reason | Autogiro Mandate | 03 Account type not approved |
04 | Mandate not found in Bankgirot's mandate directory. | Fail mandate with status reason | Autogiro Mandate | 04 Mandate not found |
05 | Incorrect bank account or personal details. | Fail mandate with status reason | Autogiro Mandate | 05 Incorrect account or personal details |
07 | Cancelled/removed due to unanswered account inquiry. | Cancel mandate | Autogiro Mandate | 07 Cancelled/removed, unanswered inquiry |
09 | Payer Bankgiro number not found at Bankgirot. | Fail mandate with status reason | Autogiro Mandate | 09 Payer Bankgiro number not found |
10 | Mandate already registered in Bankgirot's directory or inquiry pending. | Set status to Manual | Autogiro Mandate | 10 Mandate already registered or pending |
20 | Incorrect civic/company number or agreement on mandate based on Bankgiro number not found. | Fail mandate with status reason | Autogiro Mandate | 20 Incorrect civic/co. nr. / no agreement found |
21 | Incorrect payer number. | Fail mandate with status reason | Autogiro Mandate | 21 Incorrect payer number |
23 | Incorrect bank account number. | Fail mandate with status reason | Autogiro Mandate | 23 Incorrect bank account number |
29 | Incorrect payee Bankgiro number | Fail mandate with status reason | Autogiro Mandate | 29 Incorrect payee Bankgiro number |
30 | Deregistered payee Bankgiro number | Cancel mandate | Autogiro Mandate | 30 Deregistered payee Bankgiro number |
32 | New mandate. | Activate mandate | Autogiro Mandate | 32 New mandate |
33 | Cancelled. | Cancel mandate | Autogiro Mandate | 33 Cancelled |
98 | Mandate cancelled due to cancelled payer Bankgiro number. | Cancel mandate | Autogiro Mandate | 98 Mandate cancelled, cancelled payer nr. |
Migrating Autogiro mandates
When migrating Autogiro mandates, please start from the general payment data migration guidance. In addition to this guidance, it is important to ensure Autogiro mandate Id values follow the standard 16-digit format used by FinDock. Shorter Id values need to be filled with leading zeroes.
In addition to the Mandate record, some Autogiro mandate information is also found on the Payment Profile, such as account number. So, after migration, one Autogiro mandate is always represented by two records, a mandate and a payment profile.
Payment API
You can use the following messages with the Payment API to test your Autogiro configuration.
Recurring payment with mandate via paper signup
{
"SuccessURL": "https://www.example.com/success",
"FailureURL": "https://www.example.com/error",
"Payer": {
"Contact": {
"SalesforceFields": {
"FirstName": "Test",
"LastName": "Payment",
"Email": "testpayment@findock.com"
},
},
"Account":null,
},
"Recurring": {
"StartDate": "2024-09-27",
"Frequency": "Monthly",
"Amount":25,
"CurrencyISOCode": "SEK"
},
"PaymentMethod": {
"Name": "Autogiro",
"Processor": "FinDock-for-Sweden",
"Target" : "Default-Autogiro-account",
"Parameters" : {
"appDevice" : "paper",
"branchCode": "5491",
"bankAccount": "0000003",
"ssn": "198112341234"
},
},
"Settings": {
"SourceConnector": "PaymentHub"
},
}
One-time payment with mandate via digital signup
{
"SuccessURL": "https://www.example.com/success",
"FailureURL": "https://www.example.com/error",
"Payer": {
"Contact": {
"SalesforceFields": {
"FirstName": "Test",
"LastName": "Payment",
"Email": "testpayment@findock.com"
},
},
"Account":null,
},
"OneTime": {
"Amount": 24,
"CurrencyISOCode": "SEK"
},
"PaymentMethod": {
"Name": "Autogiro",
"Processor": "FinDock-for-Sweden",
"Target" : "Default-Autogiro-account",
"Parameters" : {
"appDevice" : "same-device",
"branchCode": "5491",
"bankAccount": "0000003",
"ssn": "198112341234"
}
},
"Settings": {
"SourceConnector": "PaymentHub"
}
}