Bacs Direct Debit Instruction

The Bacs Direct Debit Instruction (DDI) is a Standard 18 file used to register and update mandates through the Bacs Automated Direct Debit Instruction Service (AUDDIS). FinDock uses this file format for native direct debit processing with Bacs Manual.

Bacs Direct Debit Instruction file structure

The Standard 18 format defines a fixed-width file structure with the following records:

  • VOL - defines the file and the originator; 80 characters
  • HDR1 - identifies the file, e.g. sequency number, creation date, etc.; 80 characters
  • HDR2 - indicates if the file includes a single processing day or multiple processing days; 80 characters
  • UHL1 - includes designated Bacs processing day and other general data points; 80 characters
  • Standard Record(s) - each Standard Record line represents a debit to collect; 106 characters
  • EOF1 - End of file indicator for HDR1; 80 characters
  • EOF2 - End of file indicator for HDR2; 80 characters
  • UTL1 - sum totals for amounts and number of records included in file; 80 characters

Bacs Direct Debit Instruction field mapping

The following table outlines how Salesforce data is mapped to Bacs Direct Debit payment instructions. Please note the mappings cover the most common data points and is not an exhaustive mapping of all possible variables.

VOL Record mapping

No.LengthPositionContentsMapping
131-3Label identifierN/A, always VOL
214Label identifierN/A, always 1
365-10Serial numberDay of year the file was generated (DDD) + running number of files generated for the payment schedule target
4111Accessibility indicatorN/A
52012-31Reserved fieldN/A
6632-37Reserved fieldN/A
71438-51Owner IdService User Number from target on mandate schedule
82852-79Reserved fieldN/A
9180Label standard levelN/A, always 1

HDR1 Record mapping

No.LengthPositionContentsMapping
131-3Label identifierN/A, always HDR
214Label identifierN/A, always 1
3175-21File identifierSame as VOL serial number
4622-27Accessibility indicatorN/A
5428-31File section numberN/A, always 0001
6432-35File sequence numberN/A, always 0001
7436-39Generation numberN/A
8240-41Generation version numberN/A
9642-47Creation dateDate the file was generated (YYDDD)
10648-53Expiration dateUHL1 processing day +1
11154Accessibility indicatorN/A
12655-60Block countN/A
131361-73System codeN/A
14774-80Reserved fieldN/A

HDR2 Record mapping

No.LengthPositionContentsMapping
131-3Label identifierN/A, always HDR
214Label identifierN/A, always 2
315Record formatN/A, always F
456-10Block lengthN/A, always 02000
5511-15Record lengthN/A, 00100 (single processing day)
63516-50Reserved for operating systemsN/A
7251-52Buffer offsetN/A
82853-80Reserved fieldN/A

UHL1 Record mapping

No.LengthPositionContentsMapping
131-3Label identifierN/A, always UHL
214Label identifierN/A, always 1
365-10Bacs processing dayProcessing date from mandate schedule (YYDDD)
41011-20Identifying number of receiving partyN/A, always 999999
5221-22Currency codeN/A, always 00
6623-28Country codeN/A
7929-37Work codeN/A, 1 DAILY (single processing day)
8338-40File numberRunning number of generated files for target on mandate schedule
9741-47Reserved fieldN/A
10748-54Audit print identifierN/A
112655-80For use by service user or bureauN/A

Standard Record mapping

No.LengthPositionContentsMapping
161-6Destination sort code numberSort code from mandate
287-14Destination account numberBank account from mandate
3115Destination type of accountN/A
4216-17Transaction code0N (new, mandate status Pending registration), 0C (cancel, mandate status Pending cancellation)
5618-23Originating sort codeSort code of target on mandate schedule
6824-31Originating account numberBank account of target on mandate schedule
7432-35Free formatN/A
81136-46AmountN/A, zero filled
91847-64User's nameCompany name from target on mandate schedule
101865-82User's referenceMandate Id from mandate
111883-100Destination account nameAccount holder name from mandate
126101-106Bacs processing day of dataN/A

EOF1 Record mapping

No.LengthPositionContentsMapping
131-3Label identifierN/A, always EOF
214Label identifierN/A, always 1
3-11505-54Same as HDR1HDR1 positions 5-54
12655-60Block countN/A
13-142061-80Same as HDR1HDR1 positions 61-80

EOF2 Record mapping

No.LengthPositionContentsMapping
131-3Label identifierN/A, always EOF
214Label identifierN/A, always 2
3-8765-80Same as HDR2HDR2 positions 5-80

UTL1 Record mapping

No.LengthPositionContentsMapping
131-3Label identifierN/A, always UTL
214Label identifierN/A, always 1
3135-17Monetary total of debit recordsN/A, zero filled
41318-30Monetary total of credit recordsN/A, zero filled
5731-37Count of debit recordsN/A, zero filled
6738-44Count of credit recordsN/A, zero filled
7845-52Reserved for future standardizationN/A
8753-59DDI countN/A, count of Standard Records in file
92160-80For use by service user or bureauN/A

Was this page helpful?