Skip to content

Submitting DDIs and payment requests to the bank

Rob Keating
Written by
Reviewed by

Last editedOct 20232 min read

In the Direct Debit scheme, all communications with the banking system go through the Bacs clearing service. Therefore, submitting and receiving messages from Bacs is essential to collecting payments by Direct Debit.

To collect Direct Debit payments, any new mandate or payment requests must be submitted through Bacs. This guide details how to submit new DDIs and payment requests to Bacs. For details on receiving update messages, see Receiving messages from the banks.

End the stress of being paid late by automating your payment collection!

Getting paid on time with GoCardless is simple, affordable and easy to set-up in just a few clicks.

Learn more about ending late payments

What is Bacs?

Bacs is a UK payment system used to transfer payments directly from one bank account to another. Bacs stands for Bankers' Automated Clearing Services. For further details on Bacs see our guide to Bacs and Bacs payments.

Submissions to Bacs happen through secure, Bacs approved software.

What is Bacs Approved Software?

Bacs Approved Software is software which Bacs have assessed to meet certain standards for quality. For further details see our guide to Bacstel-IP and Bacs Approved Software.

How to collect Direct Debit payments with GoCardless


Create your free GoCardless account, access your user-friendly payments dashboard & connect your accounting software (if you use one).


Easily set up & schedule Direct Debit payments via payment pages on your website checkout or secure payment links.


From now on you'll get paid on time, every time, as GoCardless automatically collects payment on the scheduled date. Simple.

Get started in minutesLearn more

The submission process

New Direct Debit Instructions and payment requests are submitted to Bacs by uploading an "Input File". The contents of this file depend on the submission, but the process is always the same:

  1. An Input File is created with the required structure, details of which are provided below. Separate files are required for DDI and payment request submissions.

  2. The file is uploaded using Bacs approved software, which helps ensure the security of the Direct Debit system.

  3. Bacs generate an "Input Report" and send it to the submitter to confirm receipt of the file and its contents.

  4. Once successfully submitted, the contents of the Input File are processed over a three day cycle (see Timings).

Want all the benefits of Direct Debit but without all the hassle & expense of dealing with banks?

GoCardless does all the heavy lifting for you so you can collect payments on time every time with just a few clicks!

Generally, you'll use Bacs approved software to create the Input File itself, but it's useful to understand its structure. An example Input File for submitting DDIs is available here, and one for payment requests is here. The key to understanding the entries in both files is:

guides > images > input-diagram

Note that a file containing DDIs must not contain payment requests.

You may also have noticed that the payment request file contains an extra "CONTRA" line - all the other lines specify an amount that must be debited from your customer's bank, while this line specifies how much must be credited to your account.

Submitting Direct Debit Instructions

The transaction codes for submitting DDI actions to Bacs are relatively straightforward, as there are only two actions a service user can take: creation and cancellation. A different transaction code is used for each:

Code Use case
0N Create a new DDI, or re-instate a DDI which has been cancelled
0C Cancel an existing DDI

For more details on setting up DDIs, see Direct Debit Mandates.

Submitting Direct Debit payments

The transaction codes for submitting payment requests are slightly more complicated, as they depend on previous payment requests:

Code Use case
01 The first collection under a DDI. This code is also used after any transfers, reinstatements, or amendments to a DDI (e.g., after a payer updates their details)
17 Standard collections under a DDI. Use this for all regular payments
18 Retries of failed payments. Bacs best practice is NOT to use this code, unless your customer has cancelled their DDI since the failure. Instead you should submit a new payment request with the same transaction code used for the failed payment
19 Final Direct Debit collections. The paying bank will mark your customer's DDI as expired after this payment

For more details on taking Direct Debit payments, see taking payments by Direct Debit.

Submitting to Bacs through GoCardless

GoCardless provides a simple but powerful user interface for creating DDIs and payment requests. We then create and submit all messages to Bacs for you.

Click here to find out more about collecting Direct Debits with GoCardless.

GoCardless makes it easy to accept Direct Debit. Automate payment collection. Reduce manual admin. Get paid on time, every time.

Get StartedLearn More

Over 85,000 businesses use GoCardless to get paid on time. Learn more about how you can improve payment processing at your business today.

PreviousDirect Debit timings
Interested in automating the way you get paid? GoCardless can help
Interested in automating the way you get paid? GoCardless can help

Interested in automating the way you get paid? GoCardless can help

Contact sales

Try a better way to collect payments, with GoCardless. It's free to get started.

Try a better way to collect payments

Learn moreSign up