International ACH (IAT)
An IAT entry is an ACH entry to or from a party outside the United States. It carries the parties, their banks and the currencies as addenda, and every name on it is screened.
Two routes to the same entry
POST /transfers/iat takes the international fields at the top level of the body. POST /transfers/ach with sec_code IAT takes the same fields inside an iat object. Either way the bank stores one ACH transfer of the IAT class and runs it through the same origination: originator limits, hold, screening, fraud rules, file, settlement and returns.
The International Transfer is a view over that transfer. Its id and transfer_id are the ACH transfer's id, and the same entry can be read at GET /transfers/ach/{id} with the fields nested under iat. A domestic transfer's id answers not_found at GET /transfers/iat/{id}.
Before the first entry
- The customer's ACH Originator must list
IATinsec_codes, or the answer ispayments.unsupported_sec_code. See Entry types. - The bank must hold the customer's name and address, or the request must give them in
originator. Without a name, street, city and country the answer isvalidation_failedoniat.originator. counterparty.routing_numberis the U.S. Gateway Operator's.counterparty.account_numberis the receiver's foreign account number or IBAN, up to 35 characters.
The international fields
| Field | Meaning |
|---|---|
transaction_type_code | Required. The reason for payment: ANN, BUS, DEP, LOA, MIS, MOR, PEN, REM, RLS, SAL, TAX, TEL or WEB. The code also accepts ARC, BOC, POP and RCK. |
destination_country | Required. ISO 3166-1 alpha-2. |
destination_currency | Required. ISO 4217. |
originating_currency | ISO 4217. USD when left out. |
foreign_exchange_indicator | FF fixed-to-fixed, the default; FV fixed-to-variable; VF variable-to-fixed. |
foreign_exchange_reference | The rate. Required with FV and VF. |
foreign_amount | The amount in the destination currency, in minor units. The entry's amount when left out. |
foreign_trace | The foreign trace number, carried on the first addenda record. |
receiver | Required. An IATParty: name, street, city and country are required; region, postal_code and id, the receiver's identification number, are optional. |
receiving_dfi | Required. The foreign bank, an IATDFI: name, id, branch_country and id_qualifier, which is 01 for a national clearing system number, 02 for a BIC or 03 for an IBAN. |
originator | An IATParty. When its name is blank the bank fills it from the customer's record. |
originating_dfi | Always the bank: its name, qualifier 01, its routing number and US. A value in the request is replaced. |
correspondents | Up to five correspondent banks, each an IATDFI. |
remittance | Up to two lines of text. Remittance lines and correspondents together may not exceed five. |
ofac_indicator, secondary_ofac_indicator | Set by the Gateway Operator on an entry the bank receives: 0 no match, 1 a potential match. POST /transfers/iat ignores them. |
Country and currency codes are put in upper case before they are judged. amount is what is held and posted on the account, in the account's currency. The API converts nothing: foreign_amount and the exchange fields travel on the addenda as given.
What is refused
same_dayanswerspayments.limit_exceeded. Same Day ACH excludes IAT entries.- A
destination_countryofCU,IR,KPorSY, or a receiving or correspondent bank whosebranch_countryis one of them, answerspayments.unsupported_country. This is judged before anything is held. - An
iatobject on aPPDorCCDentry, or anIATentry without one, answersvalidation_failed.
Screening and review
The bank screens the counterparty's name, the originator, the receiver, the receiving bank, the originating bank and each correspondent. If any result is not clear the transfer is stored as held_for_review and no file takes it. It is decided at POST /transfers/ach/{id}/review, as a domestic transfer is.
Cancelling
POST /transfers/iat/{id}/cancel withdraws a transfer that is pending or held_for_review. It becomes cancelled, the hold is released, and it no longer counts against the originator's limits. Once it has joined a file the answer is payments.not_cancellable. A second cancellation answers payments.already_cancelled.
Receiving an IAT entry
A received IAT entry becomes an ACH Receipt with its addenda in iat. Besides the parties every entry is screened on, the bank screens the foreign originator, its bank and the correspondents. A Gateway Operator indicator of 1, or a screening match, holds a credit on the bank's transit account and returns a debit with R16. A held credit is decided at POST /ach-receipts/{id}/review with approve, block or return. In a sandbox, POST /simulate/transfers/ach/receive with sec_code IAT and an ofac_indicator delivers one.