Create Payment Orders in Bulk
A guide to bulk Payment Order creation using CSV uploads.
Within Modern Treasury, you have the option to create individual Payment Orders or create Payment Orders in bulk with CSV uploads.
Case-sensitive values
Values are case-sensitive and should match the guidance shown below.
Record limit
You can upload a maximum of 1,000 Payment Orders with one CSV.
Create Payment Orders in bulk
-
Login to Modern Treasury.
-
Navigate to the Payment Orders page.
-
From the Create New dropdown menu, select Bulk Payment Order to go to the bulk import page.
- From here, you can click the Download Template CSV button to obtain a template CSV that includes all possible header fields. See the "Bulk Counterparty CSV Guidance" section in this guide for more information about each column.
-
If you have a file ready, click Import Payment Orders to open the import modal.
-
Click Upload file in the modal and select the CSV you wish to upload.
-
Once uploaded, the tool maps your columns to the accepted fields needed to create the Payment Orders. Verify the mapped columns and click Continue.
-
The tool will identify any cells that need to be reviewed by highlighting them in red. Make your edits as necessary.
-
Once you are ready to submit, click on the Submit uploaded data button in the top right.
-
If there are no errors, you will see a success modal. Click on View Bulk Import to open a new tab to the resulting bulk import.
-
If there are data errors, you will see a submission failure message:
The tool will highlight any cells with remaining errors in red along with an error message. Make your corrections and re-attempt the upload as necessary.
-
Bulk Payment Order CSV Guidance
Payment Order Attributes
Attribute | Required | Data Type | Description |
---|---|---|---|
originating_account_id | Yes | string | The ID of one of your organization's originating accounts. This attribute can be located underneath the on the Payment Order upload screen. Your internal account will always be the originating account. |
type | Yes | string | Designates the payment type you would like to request for the payment orders (e.g. ach , wire , book , etc). Case sensitive. |
subtype | No | string | An additional layer of classification for the type of payment order you are doing. This attribute is only used for ach payment orders currently.For ach payment orders, the subtype represents the SEC code. We currently support CCD , PPD , IAT , CTX , WEB , CIE , and TEL .When Modern Treasury initiates an ACH payment on your behalf, the SEC Code is set automatically. When the receiving account's party_type is individual , the PPD code is used. When party_type is business or isn't set, CCD is used. |
priority | No Default: normal | string | For ACH and EFT payments, high represents a same-day ACH or EFT transfer, respectively. For check payments, high can mean an overnight check rather than standard mail |
process_after | No | string Format: ISO 8601 timestamp | If present, Modern Treasury will not process the payment until after this time. If process_after is past the cutoff for effective_date , process_after will take precedence and effective_date will automatically update to reflect the earliest possible sending date after process_after . |
purpose | No | string | This attribute means different things depending on the payment type: For wire , this is usually the purpose which is transmitted via the InstrForDbtrAgt attribute in the ISO20022 file.For CurrencyCloud, this is the payment.purpose_code attribute.For eft , this attribute is the 3 digit CPA Code that will be attached to the payment. |
amount | Yes or dollar_amount | integer Format: cents | This attribute needs to be filled in if you want to designate the value in cents. Examples:10 = $0.101000 = $10.001234 = $12.34If you use this attribute, do not use the dollar_amount attribute. |
dollar_amount | Yes or amount | float(2) Format: dollars without symbol | This attribute needs to be filled in if you want to designate the value in cents. Examples:10 = $0.1010.00 = $10.001234 = $12.34If you use this attribute, do not use the amount attribute. |
direction | Yes | string | A credit moves money from your account to someone else's. A debit pulls money from someone else's account to your own.Case sensitive. Note: wire and check payment types will always be credit . |
effective_date | No | string Format: YYYY-MM-DD | The effective date is the date transactions are to be posted to the counterparty's account. If you wish to future date a payment order, you will want to fill in this attribute. If this attribute is not filled, it will default to the next business date. |
description | No | string | This attribute is solely for internal use anything included within this attribute will not be visible to the Counterparty. |
statement_descriptor | No | string | The bank statement description should be used for your Counterparties to see more detail within their bank statement. This oftentimes defaults to including your company name, but there is room to include at least 10 more characters. |
remittance_information | No | string | Remittance information is typically another attribute that can be utilized to describe the money that is being sent. For ACH, this field will be passed through on an addenda record and can include up to 80 characters. If this field is left blank then an addenda record would not be created. For wire payments the field will be passed through as the Originator to Beneficiary Information and can include up to 140 characters. |
metadata | No | string | Additional data represented as key-value pairs separated by a | (pipe character). Note: do not include special characters, outside of : and | |
charge_bearer | No | string | The party that will pay the fees for the payment order. Only applies to wire payment orders. The values correspond to the SWIFT 71A values as follows: Shared: SHA (SHAred) Sender: OUR Receiver: BEN (BENeficiary) |
foreign_exchange_contract | No | string | If present, indicates a specific foreign exchange contract number that has been generated by your financial institution. |
foreign_exchange_indicator | No | string | Indicates the type of FX transfer to initiate if the payment order currency matches the originating account currency. |
Counterparty Attributes
The following attributes referring to counterparties will be dependent on whether a counterparty has or has not already been created within Modern Treasury.
If the Counterparty exists in Modern Treasury
Attribute | Required | Data Type | Description |
---|---|---|---|
counterparty_account_id | Yes | string | Supports both Internal Accounts and External Accounts. |
If the Counterparty does not exist in Modern Treasury
Attribute | Required | Data Type | Description |
---|---|---|---|
counterparty_name | Yes | string | Supports both Internal Accounts and External Accounts. |
counterparty_routing_number | Yes | string | Routing number of the counterparty. |
counterparty_routing_type | Yes | string | Either aba , swift or ca_cpa .Case sensitive. |
counterparty_account_number | Yes | integer | Account number of the counterparty. |
counterparty_account_number_type | No if domestic Payment Order | string | Supports iban and clabe . Otherwise null if the bank account number is in a generic format.Case sensitive. |
counterparty_account_type | No | string | Can be checking, savings or other. |
counterparty_party_type | No | string | Either individual or business. |
counterparty_address_line_1 | No | string | Street address of the Counterparty. Required for Wire Payment Orders. |
counterparty_address_line_2 | No | string | Street address extended of the Counterparty. Required for Wire Payment Orders. |
counterparty_address_locality | No | string | City of the Counterparty. Required for Wire Payment Orders. |
counterparty_address_region | No | string | State of the Counterparty. Required for Wire Payment Orders. |
counterparty_address_postal_code | No | string | Postal/region code of the Counterparty. Required for Wire Payment Orders. |
counterparty_address_country | No | string | Country of the Counterparty. Required for Wire Payment Orders. |
Continuous Accounting Attributes
Attribute | Required | Data Type | Description |
---|---|---|---|
accounting_class_id | No | string | These IDs can be found in your organization settings page. You should only use accounting_class_id or accounting_class_name (not both). |
accounting_class_name | No | string | These names can be found in your organization settings page. You should only use accounting_class_id or accounting_class_name (not both). |
accounting_account_id | No | string | These IDs can be found in your organization settings page. You should only use accounting_account_id or accounting_account_name (not both). |
accounting_account_name | No | string | These names can be found in your organization settings page. You should only use accounting_account_id or accounting_account_name (not both). |
Updated 8 months ago