Xero batch payments to NatWest Bankline, Revolut and Monzo

    Updated 17 October 2026

    For a UK bank account other than HSBC UK or Santander UK, Xero exports a batch payment as a BACS file and leaves any reformatting to you: its help page says you "might need to change formatting to meet your bank's requirements". NatWest Bankline can import a BACS file or its own CSV layout, Revolut Business takes BACS, CSV or XML files, and Monzo Business takes a six-column CSV.

    Paying from Santander? Its files fail for different reasons, covered in Santander rejected my Xero batch payment file.

    What is in the BACS file Xero exports

    The file is in the BACS Standard 18 layout: plain text, with header lines starting VOL1, HDR1, HDR2 and UHL1, then one line per payment, then a contra line that balances the batch against your own account, then trailer lines starting EOF1, EOF2 and UTL1. Every payment line is 100 characters wide and each value sits at a fixed position:

    CharactersWhat they hold
    1 to 6The payee's sort code
    7 to 14The payee's account number
    16 to 17The transaction code: 99 for a payment (the contra line uses 17)
    18 to 31Your sort code and account number
    36 to 46The amount in pence, padded with zeros
    47 to 64Your account name
    65 to 82The payment reference
    83 to 100The payee's account name

    What the layout and Xero's export mean in practice:

    • A payee name or a reference can never be longer than 18 characters, so long supplier names arrive shortened.
    • Xero combines bills for the same supplier into one payment, "so each supplier receives a single payment and reference".
    • Before you export, Xero needs a BACS Service User Number (or Owner ID) in your financial settings. Xero says that if you do not have one, you can type 000000.

    Open the file in Notepad or another text editor if you want to check it. Excel can drop the leading zeros from sort codes and account numbers such as 040605, which breaks the file for every bank below.

    NatWest Bankline

    Bankline's payment import reads two layouts.

    The BACS file itself (Bacstel-IP import)

    NatWest's Bacstel-IP import guide says Bankline recognises a standard BACS file automatically and turns it into an ad hoc bulk payment. It expects one complete BACS file per import, saved with a .txt extension, with the work code 1 DAILY or 4 MULTI on the UHL1 line, and it ignores anything after the UTL1 line. Bankline treats the processing date in the file as day two of the BACS cycle and sets the payment to arrive one working day later. So the first thing to try is importing the Xero file as it is, named .txt.

    Bankline's own CSV layout

    If Bankline will not take the BACS file, the alternative is its CSV layout (NatWest's guide, October 2025), with each payment written as a Faster Payment record. The file can be saved as .csv or .txt, and every record has a fixed number of commas (79, 84, 142 or 176). In a Faster Payment record:

    • Field T001 is 01, the record type for a Faster Payment.
    • T010 is your sort code and account number as 14 digits, with no spaces or hyphens.
    • T014 is the amount, and T016 the date the payment should arrive, written ddmmyyyy.
    • T022 and T028 are the payee's sort code and account number, and T030 the payee's name.
    • T034 is the reference the payee sees. If it is blank, Bankline uses your account name.
    NatWest's example Faster Payment record
    ,,,01,,,,,,,,,60100087654321,,,,166.42,,16012025,,,,,,151000,,,,,,12345678,,MR JOHN SMITH,,,,INVOICE 1234,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

    Free-text fields in Faster Payments may use only capital letters, numbers, full stop, hyphen, slash, ampersand and space, and only the first 18 characters of the payee name are used. A file can hold only one bulk payment, and a payment from a bulk list must name a bulk list that already exists in Bankline.

    Revolut Business

    Revolut's help centre says a bulk payment can be made from a CSV, XML or BACS file (BACS for local UK payments), with up to 1,000 payments per file. Files can only be uploaded in the web app, under Transfers, then New, then Bulk. That means the Xero BACS file may go straight in.

    If it does not, or you would rather check every row first, use Revolut's CSV template. Its columns change with the destination country and currency, and each recipient has to be marked Company or Individual. Revolut also points out that each payment in a bulk payment appears as its own transaction, so salary payments are visible to everyone who can see that account. Revolut suggests a separate private account for payroll.

    Monzo Business

    Monzo's bulk payments come with its Team plan. In the web app you upload a CSV with six columns, which Monzo's help lists in this order: payee name, sort code, bank account number, bank account type, payment reference and amount. One bulk payment can hold up to 200 payments. Monzo checks the file and tells you about any problem before it sends anything, and you confirm the payment in the Monzo mobile app.

    Monzo's help pages describe CSV uploads only, so a Xero batch needs converting into that CSV, either by copying each payment across by hand or with a converter.

    Xero Payroll payment files

    A Xero Payroll payment file is a BACS file too, so the same steps apply to a pay run. Xero has said it has no plans to offer the payroll payment file as a CSV. On 8 September 2026 it announced direct wage payments through Crezco for UK organisations on Xero Payroll, which avoids the file altogether if your bank and process suit it.

    Convert the Xero file with Bank-Bridge

    Bank-Bridge is FourFourFive's free tool that turns the BACS file Xero exports into each bank's own upload layout.

    Upload the BACS file from Xero, pick the bank and download the converted file. For the three banks on this page it writes:

    BankWhat Bank-Bridge writesWhat you choose
    NatWest BanklineOne Faster Payment record per payment in the 84-comma CSV layout, with your account, the amount, the date and each payee's sort code, account number and name. Saved as .txt. The payee reference is left blank, so Bankline uses your account name.The payment date
    Revolut BusinessA CSV with the columns Name, Recipient type, Account number, Sort code, Recipient bank country (GB), Currency (GBP), Amount and Payment reference.Company or Individual for the whole file, and one payment reference
    Monzo BusinessA CSV with Monzo's six columns and a header row, with sort codes written 12-34-56.Business or Personal account type for the whole file, and one payment reference

    Bank-Bridge also produces files for Santander, Virgin Money and Allica Bank. The conversion runs in your browser, so the payment file is not uploaded to FourFourFive. Every payee keeps the name held in the BACS file, which is limited to 18 characters.

    Sources

    1. Xero Central, Pay multiple bills. Which banks get a BACS file, supplier bills combined, the 000000 Service User Number
    2. NatWest, Bankline import file layout guide: Bacstel-IP format. Standard 18 field positions and how Bankline imports a BACS file
    3. NatWest, Bankline import file layout guide: comma separated value format (October 2025). Record lengths, the Faster Payment record and example, character set, bulk payment rules
    4. Revolut Business help, What are bulk payments?. File types, the 1,000-payment limit, the CSV template
    5. Monzo help, How do I make a Bulk Payment?. The six CSV columns and the 200-payment limit
    6. Monzo, Bulk payments. Available with the Team plan
    7. Xero Product Ideas, UK Payroll - Export payment file in CSV format. Xero's updates of 2 March 2026 and 8 September 2026