1. Home
  2. Sales
  3. Sales Invoices & Credits
  4. Payment Mandates — GoCardless Direct Debit

Payment Mandates — GoCardless Direct Debit

Table of Contents

  1. Overview
  2. Glossary of Terms
  3. How It Works — End-to-End Process
  4. Setting Up GoCardless
  1. Setting Up a Mandate for a Customer
  2. Taking a Payment Against an Invoice
  3. Background Processing
  4. Mandate & Payment Statuses
  5. Notifications
  6. Financial Postings
  7. Frequently Asked Questions
  8. Troubleshooting

Overview

The Payment Mandates feature allows you to collect payments from your customers via Direct Debit using GoCardless. Once a customer has authorised a mandate (signed up for Direct Debit), you can automatically collect outstanding invoice balances directly from their bank account without any further action from the customer.

The integration handles the full lifecycle:

  • Sending the customer an authorisation link by email
  • Confirming the mandate is active once the customer has signed up
  • Collecting payments when invoices are finalised
  • Reconciling funds when GoCardless pays out to your bank account
  • Processing GoCardless fee invoices automatically
  • Notifying your team when payments fail or are charged back

Glossary of Terms

TermDescription
MandateA customer’s authorisation for you to collect money directly from their bank account by Direct Debit. Once set up, it remains in place until cancelled by either party.
Billing RequestA GoCardless object created as the first step of the mandate setup process. It describes what you want to collect (scheme, currency) and is linked to the authorisation flow.
Billing Request FlowThe GoCardless object that generates the secure authorisation URL sent to the customer. The customer visits this URL to enter their bank details.
Mandate IdentifierThe GoCardless ID (e.g. MD123ABC) that uniquely identifies the active Direct Debit mandate once the customer has completed authorisation.
Request IdentifierThe GoCardless Billing Request ID used during the setup process before the mandate is confirmed.
PaymentAn individual Direct Debit collection against a mandate, linked to a specific sales invoice.
PayoutA batch transfer from GoCardless to your bank account, containing the net proceeds of one or more collected payments after fees have been deducted.
Payout ItemA line within a GoCardless payout. Items can be collected payments, fee charges, or refunds.
SchemeThe Direct Debit scheme used to collect money. Common values are BACS (UK), SEPA (Eurozone), and Autogiro (Sweden). The correct scheme must match the currency and country of the bank account.
Clearing Bank AccountA bank account in WinMan that acts as a staging account. GoCardless deposits first appear here when a payment is collected.
Payout Bank AccountThe bank account in WinMan representing the account GoCardless physically transfers funds to. May be the same as the Clearing Account.
Fee InvoiceA purchase invoice automatically created in WinMan to account for the GoCardless transaction fees deducted from each payout.
DifferentialAn internal WinMan marker recording the ID of the last GoCardless event processed, used to avoid reprocessing the same events.
EventA notification from GoCardless that something has changed — for example a mandate was activated, a payment was collected, or a payment failed.
ChargebackA reversal of a collected payment initiated by the customer’s bank. Covered by the Direct Debit Guarantee.
account_payment_mandateThe WinMan database record that stores the mandate details for a customer account.
sales_invoice_mandate_paymentThe WinMan record linking a sales invoice to a Direct Debit payment collection attempt.
account_payment_mandate_notificationA WinMan notification record created when mandate or payment events require your attention.

How It Works — End-to-End Process

┌─────────────────────────────────────────────────────────────────────────┐
│ SETUP                                                                   │
│                                                                         │
│  1. You create a mandate for the customer in WinMan                     │
│  2. WinMan calls GoCardless to create a Billing Request                 │
│  3. WinMan calls GoCardless to create a Billing Request Flow            │
│     (generating a secure authorisation URL)                             │
│  4. WinMan saves the mandate with status: Pending                       │
│  5. WinMan emails the authorisation link to the customer                │
│  6. Customer clicks the link and enters bank details on GoCardless      │
│  7. GoCardless fires a "billing_request.fulfilled" event                │
│  8. Background service picks this up → mandate status becomes: Ready   │
└─────────────────────────────────────────────────────────────────────────┘
         │
         ▼
┌─────────────────────────────────────────────────────────────────────────┐
│ PAYMENT COLLECTION                                                      │
│                                                                         │
│  9.  Invoice finalised / user triggers payment collection               │
│ 10.  WinMan looks up the active mandate for the customer                │
│ 11.  WinMan creates a payment with GoCardless against the mandate       │
│ 12.  WinMan records a sales_invoice_mandate_payment (status: Pending)   │
│ 13.  GoCardless collects money from the customer's bank (takes 2-5 days)│
│ 14.  GoCardless fires a "payment.paid_out" event                        │
│ 15.  Background service picks this up:                                  │
│        → Creates bank deposit to Clearing Account                       │
│        → Marks sales_invoice_mandate_payment as: Paid                  │
└─────────────────────────────────────────────────────────────────────────┘
         │
         ▼
┌─────────────────────────────────────────────────────────────────────────┐
│ PAYOUT RECONCILIATION                                                   │
│                                                                         │
│ 16.  GoCardless batches payments and fires a "payout.paid" event        │
│ 17.  Background service processes the payout:                           │
│        → Creates a purchase invoice for GoCardless fees                 │
│        → Creates a bank payment to settle the fee invoice               │
│          (reducing the Clearing Account balance)                        │
│        → Marks related clearing transactions for reconciliation         │
│        → Reconciles the Clearing Account                                │
│        → If Payout Account ≠ Clearing Account:                         │
│            transfers net amount from Clearing → Payout Account          │
└─────────────────────────────────────────────────────────────────────────┘

Setting Up GoCardless

Complete the following steps before using the feature. All settings are found under System Settings → Payment Mandates.

Step 1 — GoCardless Account & API Token

  1. Log in to your GoCardless dashboard at https://manage.gocardless.com.
  2. Navigate to Developers → API keys.
  3. Create or copy your Access Token.
  4. In WinMan, go to System Settings → Payment Mandates → GoCardless and enter the token into the Access Token field. It is stored encrypted.

Sandbox / Test Mode
GoCardless provides a free sandbox environment at https://manage-sandbox.gocardless.com. Create a separate access token from the sandbox portal for testing. In WinMan, set Test Mode to On while you are testing. Switch to Off (Production) and update the access token before going live.

Step 2 — Bank Accounts

You need two bank accounts in WinMan (they can be the same account if you prefer):

SettingPurpose
Clearing Bank AccountReceives deposits when GoCardless collects a payment from a customer. Acts as a staging account.
Payout Bank AccountRepresents the bank account GoCardless physically transfers net funds to.

Currency: The clearing bank account currency must match the currency used by the GoCardless scheme you have selected. For example, BACS requires a GBP account.

If you use the same account for both clearing and payout, no inter-account transfer is posted on payout day.

Step 3 — Supplier & Fee Product

GoCardless deducts its transaction fees before paying out. WinMan raises a purchase invoice to account for this:

SettingPurpose
SupplierThe supplier account record in WinMan representing GoCardless Ltd. Create this as a regular supplier account first.
Fee ProductA non-stock product used on the fee purchase invoice line. The nominal/GL account on this product determines where the GoCardless fee cost is posted.

The fee product should have the appropriate tax code and nominal account for bank charges or payment processing fees in your chart of accounts.

Step 4 — System Settings

Open System Settings → Payment Mandates → GoCardless and configure:

SettingRecommended ValueNotes
EnabledOnMust be enabled for the background service to run.
Test ModeOff (Production)Use On only for sandbox testing.
SchemeBACSFor UK GBP. Change to SEPA for Euro. Must match customer bank account country.
Access Token(your token)From GoCardless portal. Stored encrypted.
Clearing Bank Account(your account)See Step 2 above.
Payout Bank Account(your account)See Step 2 above.
SupplierGoCardless LtdSee Step 3 above.
Fee ProductBank Charges / GC FeesSee Step 3 above.
Default Email Template(optional)See Step 6 below.

Step 5 — Credit Terms

To have WinMan automatically initiate a payment collection when an invoice is posted:

  1. Open the relevant Credit Terms record.
  2. Set the Payment Mandate Provider field to GoCardless.

WinMan will then look up the active mandate for the account associated with invoices on those credit terms when creating payments.

Step 6 — Email Template (Optional)

By default, WinMan sends a built-in HTML authorisation email to the customer. You can replace this with a custom email template:

  1. Create an Email Template in WinMan.
  2. The template has access to the account_payment_mandate record. Use the merge field {{account_payment_mandate.auth_url}} to include the authorisation link.
  3. In System Settings → Payment Mandates → GoCardless, set the Default Email Template to the template you created.

If no template is selected, the built-in email is used automatically.


Setting Up a Mandate for a Customer

Once system settings are complete, you can set up a mandate for an individual customer:

  1. Open the Account (Customer) record.
  2. Find the Payment Mandates section or tab.
  3. Click Add GoCardless Mandate.
  4. Enter the customer’s email address for the authorisation email.
  5. Check Send Email to send the link immediately, or uncheck to save the mandate and send later.
  6. Click Save.

WinMan will:

  • Create a Billing Request with GoCardless
  • Generate the authorisation URL
  • Save the mandate record with status Pending
  • Email the authorisation link to the customer (if selected)

The customer must click the link and complete the form on the GoCardless secure page. Until they do, the mandate remains Pending and cannot be used to collect payments.

Resending the Authorisation Email

If the customer did not receive the email or the link has expired (links expire after 7 days):

  1. Open the mandate record from the Account.
  2. Click Resend Email.
  3. Confirm or update the email address.
  4. Click Save.

Note: A new authorisation link is not generated. If the original link has expired, you should create a new mandate record instead.

Cancelling a Mandate

  1. Open the mandate record.
  2. Click Cancel.

Cancelling a mandate in WinMan does not automatically cancel it in GoCardless. You should also cancel it in your GoCardless dashboard to prevent any further collections.


Taking a Payment Against an Invoice

Automatic Collection

If the customer’s credit terms have the Payment Mandate Provider set to GoCardless, WinMan will automatically attempt to create a payment when the invoice is finalised.

Manual Collection

You can also trigger a payment manually from the sales invoice. WinMan will:

  1. Find the active mandate for the customer.
  2. Verify the mandate status is Active or Submitted in GoCardless.
  3. Create a payment with GoCardless for the full outstanding invoice amount.
  4. Record a Sales Invoice Mandate Payment with status Pending.

Currency: The payment currency is taken from the currency on the customer’s account. It must match the GoCardless scheme’s supported currency.


Background Processing

The Payment Mandates background service runs automatically. It polls GoCardless for new events since the last run and processes them. You do not need to take any action for routine processing.

The service processes events in this order:

Event TypeAction in WinMan
billing_request.fulfilledMandate status updated to Ready, mandate identifier recorded
payment.paid_outBank deposit created to Clearing Account; payment marked as Paid
payment.failedPayment marked as Failed; deposit reversed if already posted; notification raised
payment.cancelledPayment marked as Cancelled; deposit reversed if already posted; notification raised
payment.charged_backPayment marked as Chargeback; deposit reversed; notification raised
payment.late_failure_settledPayment marked as Late Failure; deposit reversed; notification raised
payout.paidFee invoice posted; fee bank payment created; clearing account reconciled; transfer posted to Payout Account (if different from Clearing Account)

Mandate & Payment Statuses

Mandate Statuses

StatusMeaning
PendingThe authorisation email has been sent. The customer has not yet completed the setup. No payments can be collected.
ReadyThe customer has completed authorisation. The mandate is active and payments can be collected.
CancelledThe mandate has been cancelled. No further payments can be collected.

Payment Statuses

StatusMeaning
PendingThe payment has been submitted to GoCardless but has not yet been collected from the customer’s bank.
PaidGoCardless has successfully collected the payment. A bank deposit has been posted to the Clearing Account.
FailedThe payment was rejected by the bank. Any deposit posted has been reversed. A notification has been raised.
CancelledThe payment was cancelled before collection.
ChargebackThe customer’s bank reversed the payment. Any deposit posted has been reversed. A notification has been raised.
Late FailureA failure occurred after the payment appeared to have been collected. Any deposit posted has been reversed.

Notifications

WinMan creates internal notifications when events require your attention. Notifications appear in the relevant areas of the system:

Notification TypeTriggerLinks To
PaymentA payment fails, is cancelled, is charged back, or suffers a late failureThe related Sales Invoice
MandateMandate-related events requiring attentionThe related Account (Customer)
SystemSystem-level eventsFinance Hub

Notifications are sent to all users subscribed to the Account Payment Mandate GoCardless notification event. To subscribe, update your notification preferences or ask a system administrator.

Notifications are marked as read once viewed.


Financial Postings

When a Payment Is Collected (payment.paid_out)

A bank deposit transaction is created against the Clearing Bank Account.

EntryDr / CrAccount
Bank DepositDrClearing Bank Account
Invoice SettlementCrSales Invoice (reduces outstanding balance via invoice allocation)

The sales invoice is marked as paid through the bank deposit allocation.


When a Payout Is Received (payout.paid)

A GoCardless payout batches multiple payments together and deducts fees. WinMan makes the following postings:

1. Fee Purchase Invoice

A purchase invoice is raised for the GoCardless fees:

EntryDr / CrAccount
Fees ExpenseDrNominal account of the Fee Product (e.g. Bank Charges)
VAT (if applicable)DrTax Account
Accounts PayableCrGoCardless Supplier

The fee value is negative (it is a cost to you), so if GoCardless raised a credit on a payout, a purchase credit note is created instead.

2. Fee Bank Payment

A bank payment transaction is created to settle the fee invoice against the Clearing Bank Account:

EntryDr / CrAccount
Accounts PayableDrGoCardless Supplier
Clearing Bank AccountCrClearing Bank Account

The fee invoice is allocated and the clearing account balance is reduced by the fee amount. The bank transaction is immediately reconciled.

3. Clearing Account Reconciliation

All bank deposit entries in the Clearing Account that were marked To Be Reconciled are reconciled, netting off the collected payments.

4. Inter-Account Transfer (if Clearing ≠ Payout Account)

If your Clearing Bank Account and Payout Bank Account are different accounts, WinMan posts an inter-account transfer for the net payout amount:

EntryDr / CrAccount
Payout Bank AccountDrPayout Bank Account
Clearing Bank AccountCrClearing Bank Account

This reflects the physical transfer of funds from GoCardless into your main bank account.


When a Payment Fails or Is Charged Back

If a bank deposit was previously created for the payment, it is reversed:

EntryDr / CrAccount
Clearing Bank Account reversalCrClearing Bank Account
Invoice reversalDrSales Invoice (re-opens outstanding balance)

The sales invoice returns to outstanding status and can be collected again once the mandate or payment issue is resolved.


Summary — Clearing Account Flow

Customer pays via Direct Debit
        │
        ▼
  Dr Clearing Account  (bank deposit per payment)
        │
        ▼
  Cr Sales Invoice     (invoice marked paid)
        │
  Payout day:
        │
        ├── Cr Clearing Account  (fee bank payment — reduces by fee amount)
        │       Dr GoCardless Supplier A/P
        │
        ├── Clearing Account reconciled (net of deposits and fee payment)
        │
        └── If separate payout account:
                Dr Payout Account
                Cr Clearing Account  (inter-account transfer for net amount)

Frequently Asked Questions

Q: How long does it take for a Direct Debit to be collected?
A: Typically 2–5 working days for BACS (UK). SEPA timescales vary by country. GoCardless provides the payment timeline in your dashboard.

Q: What happens if the customer’s bank rejects the payment?
A: A payment.failed event is received. WinMan marks the payment as Failed, reverses any bank deposit, and raises a notification. You can re-attempt the payment manually once the issue is resolved.

Q: Can I have more than one mandate per customer?
A: Yes. WinMan stores multiple mandate records per customer. When collecting a payment, the most recently created mandate for the provider is used. Older mandates should be cancelled if they are no longer required.

Q: What is the Direct Debit Guarantee?
A: A UK consumer protection that entitles customers to an immediate refund from their bank if a payment is taken incorrectly. It applies to all BACS Direct Debits. GoCardless handles the compliance requirements automatically.

Q: Can I use this feature in test mode without affecting live data?
A: Yes. Set Test Mode to On in System Settings and use your GoCardless sandbox access token. In test mode the system connects to api-sandbox.gocardless.com. No real money moves in sandbox mode.

Q: What if the Clearing and Payout Bank Accounts are the same?
A: The inter-account transfer step is skipped. All activity is recorded directly against the single bank account.

Q: The authorisation link has expired — what should I do?
A: GoCardless authorisation links expire after 7 days. Create a new mandate from the Account record. The old Pending mandate can be left or deleted — only Ready mandates are used for payment collection.


Troubleshooting

SymptomLikely CauseAction
Mandate remains Pending for more than a dayCustomer has not clicked the link, or the link expiredResend the email or create a new mandate
Payment collection fails with “No active mandate found”Mandate status is not Ready, or no mandate exists for the accountCheck the mandate record on the Account; verify status is Ready
Payment collection fails with “Payment mandate provider not specified”Credit Terms do not have GoCardless set as the providerEdit the Credit Terms and set the Payment Mandate Provider to GoCardless
Background service not processing eventsGoCardless is not enabled in System Settings, or Access Token is wrongCheck System Settings → Payment Mandates → GoCardless
Fee invoice not being createdGoCardless Supplier or Fee Product not configuredSet both in System Settings and ensure the supplier account is active
Duplicate fee invoice errorPayout has already been processedThis is a safety check — do not reprocess the same payout manually
Bank deposit currency mismatchClearing Bank Account currency does not match the GoCardless scheme currencyEnsure the clearing account is in the correct currency for the scheme
Updated on June 29, 2026