Uploading a Payment File
Create multiple payments by uploading a Bacs 18 Standard payment file in the Modulr Portal.
Before you start
Make sure your payment file meets these requirements:
- Format: Bacs 18 Standard (.txt)
- Currency: GBP only
- File size: Up to 150 kB
- Payments per file: Up to 10,000
Need help formatting your file? See our Formatting a Payment File guide.
How to upload a payment file
Step 1: Go to Upload Payment Files
From the left-hand menu, select Move money. Under Upload Payment File, select Continue.
Step 2: Select your file
On the Upload Payment Files screen, you can either:
- Select Select File… to browse for a file on your computer, or
- Drag and drop the file into the upload area.
Your file will appear in the upload area with its name and file size.
Step 3: Choose a processing method
Once you select a file, you’ll be asked: How should the payments be processed?
Select one of the two options:
- As Individual Payments: Each payment in the file will be processed as a separate payment.
- As a Batch: All payments will be grouped into a single batch. Note: if any payment in the batch fails validation, the entire batch will fail. You’ll need to fix the file and re-upload it.
Step 4: Process the file
Select Process Files. The system will validate your file. You’ll see a progress indicator while validation is in progress.
- If your file passes validation, continue to Step 5.
- If your file contains errors, see Resolving Errors below.
Step 5: Confirm your payments
If validation is successful, you’ll see a confirmation screen showing:
- Number of payments in the file
- Total file value in GBP
Review the details carefully. If everything looks correct, confirm to submit the payments. If you need to make changes, select Cancel, edit the payment file, and re-upload it.
Step 6: Processing
After you confirm, you’ll be prompted to complete an MFA challenge. When the challenge is successful, the Processing screen appears. Once processing is complete, you can find your payments in these locations:
-
Account Transactions: Successful payments—those scheduled for today, sufficiently funded, and not requiring approval—will appear on the corresponding account’s Transactions screen.
- Pending Payments: Failed payments will appear on the Pending Payments screen. If approvals are disabled, future-dated payments and payments awaiting funds will also appear there.
- Approvals: If approvals are enabled for your account, payments that require approval will appear on the Approvals screen.
From the Processing screen, you can select View Pending Payments to review your payments or Upload Another Payment File to start a new upload.
The following video demonstrates a successful file upload
Resolving errors
If the system finds problems with your file, an Errors panel will appear to the right of the upload area. The file will be marked in red with the label “File contains errors.”
The Errors panel
The Errors panel displays:
- General guidance at the top, explaining your two options for fixing errors:
- Make changes in the tool you used to create the file, then export and re-upload it.
- Open the file in a text editor, make the corrections, and re-upload it.
- Your file name, followed by one or more error categories. Select any error category to expand it and see the details.
- Error details, including:
- A plain-language explanation of what went wrong and what a valid value looks like.
- A Tip with step-by-step advice on how to locate and fix the problem in your file.
- A table showing the Line No. in your file where each error was found, and (where applicable) the Invalid Value that caused it.
- Copy button: Where an invalid value is shown, you can select the copy icon next to it. Then open your payment file in a text editor and use the Find function (Ctrl+F or Cmd+F) to locate that exact value in your file.
The following video demonstrates using the copy to locate and resolve errors in your file.
Error types and how to fix them
Below is a list of all the errors you may encounter, along with their meanings and how to resolve them.
‼️ Payments with zero (0.00) amount
What it means: One or more payment lines in your file have an amount of 0.00.
How to fix it: Every payment must have a value greater than 0.00. The affected lines have all 0’s between characters 36 and 46 in the file. Replace them with valid amounts.
Invalid or missing payment references
What it means: One or more payments are missing a reference, or the reference doesn’t meet the required format.
Rules for valid references:
- Every payment must have a reference.
- The reference must be at least two characters long.
- The characters cannot all be identical (for example, “aaa” is not allowed, but “ab” is).
- Allowed characters: letters (uppercase and lowercase), numbers, and the special characters / - . & and blank space.
How to fix it: Select the copy icon next to any invalid value in the table, open your payment file in a text editor, and use Find to locate it. Replace it with a valid reference.
‼️ Payments have a payment date in the past
What it means: One or more payments in your file have a Payment Date that has already passed.
How to fix it: Payment Dates must be set to today or any day within the next 366 days. The invalid values shown in the table are in Julian date format (YYDDD). Select the copy icon, find the value in your file, and replace it with a valid date.
‼️ Payments have a payment date more than 366 days in the future
What it means: One or more payments have a Payment Date that is more than 366 days from today.
How to fix it: The Payment Date may be set for today or for any day within the next 366 days. The invalid values are shown in Julian date format (YYDDD). Select the copy icon, find the value in your file, and update it to a date within the allowed range.
‼️ The file payment date is in the past
What it means: The Payment Date in the file header (the UHL 1 record, typically Line 3) is set to a date that has already passed.
How to fix it: The Payment Date can’t be in the past. It may be set to today or for any day within the next 366 days. Update the date in the UHL 1 record of your file.
‼️ Missing file payment date
What it means: Your file includes a header but the Payment Date is missing from the UHL 1 record (Line 3).
How to fix it: Add a valid Payment Date to the UHL 1 record. The date should be in Julian format (YYDDD) and set for today or any day within the next 366 days.
‼️ This file contains payments that aren’t in GBP
What it means: One or more payments in your file use a currency code other than GBP.
How to fix it: Only GBP payments can be processed through the Modulr Portal. Replace the invalid currency code with 00 to set the currency to GBP.
‼️ Invalid or missing Transaction Codes
What it means: One or more payment lines have an incorrect or missing Transaction Code.
How to fix it: Every payment line must include a Transaction Code. The only value accepted in the Modulr Portal is 99 (Direct Credit). Update your file so that every payment line uses Transaction Code 99.
If a Transaction Code is missing entirely, the affected lines will have two spaces between the payee account information and the source account details. Line numbers with a blank Invalid Value in the table indicate a missing code.
‼️ Invalid or missing source accounts
What it means: One or more payments reference a source account that is not valid.
How to fix it: Check that the sort code and account number for each flagged payment match a valid source account in your Modulr Portal. Use the line number to locate the affected payment in your file, and use the four digits following **** to identify the invalid source account.
‼️ Unrecognised or unauthorised source accounts
What it means: Your file contains payments linked to source accounts that you either don’t have access to or that are not recognised in the system.
How to fix it: Use the line number to locate the problematic payment in your file. Then, use the four digits that follow **** in the Invalid Value column to identify the source account. Make sure the account exists in your Modulr Portal and that you have the necessary permissions.
‼️ Payments with zero total amount
What it means: The total of all payment amounts in the file adds up to zero.
How to fix it: The total of payment amounts must be greater than zero. Modulr cannot process payments with a combined amount of 0.00. Check that your payments have valid, non-zero amounts.
‼️ File exceeds the processing limit
What it means: Your file contains more than 10,000 payments, which exceeds the maximum allowed per file.
How to fix it: Split your payments across multiple files so that each file contains no more than 10,000 payments, then upload each file separately.
‼️ File validation was unsuccessful
What it means: The file could not be validated. This is a general error that may appear when the file structure itself is incorrect.
Possible causes:
- Missing payment references
- Incorrectly formatted or missing payment amounts
- Missing payee names
- Incorrectly formatted dates (dates must be in Julian format)
- Header codes other than UHL1 and HDR1
How to fix it: Review your file against the Formatting a Payment File guide to make sure it follows the Bacs 18 Standard structure. Correct any formatting issues and re-upload.
Tips for a smooth upload
- Use the copy button. When the Errors panel shows an invalid value, select the copy icon and use Find in your text editor to jump straight to the problem.
- Line numbers match your file exactly. The line numbers shown in the Errors panel correspond to the actual lines in your file, including headers, no need to calculate offsets.
- Dates use Julian format. Bacs 18 files use Julian dates in the format YYDDD (for example, 25032 means 1 February 2025). If you’re unsure how to convert, check the formatting guide.
- Choose the right processing method. If you’re not certain every payment in your file is correct, processing as Individual Payments means valid payments can still go through. With Batch processing, a single error will block the entire file.