Skip to content

Bank transfer integration ​

Overview ​

Bank transfer payouts allow vendors to register their banking details directly in Garnet. The marketplace operator then sends the transfers from their own bank: after each payout, Garnet emails them the list of transfers to send, with every vendor's bank details in an attached CSV.

Email listing the bank transfers to send, with the CSV attached

Unlike Stripe or PayPal, bank transfer does not automate the payment — it provides a structured way for vendors to submit their banking information per region (SEPA, ACH, SWIFT, etc.).

Setup ​

  1. Go to Admin Panel > Finance > Payout methods > Bank transfer
  2. Toggle Enable bank transfer payout
  3. Select the bank regions you want to make available to your vendors (e.g. Eurozone SEPA, United States, International)
  4. Click Save

Vendor experience ​

Once enabled, vendors will see Bank transfer as a payout method option in their Settings > Payouts page.

Vendor payout settings with bank transfer

They will be asked to:

  1. Select their country/region
  2. Choose a transfer method (if multiple are available for that region)
  3. Fill in their banking details (IBAN, account number, routing number, etc.)

Processing payouts ​

The marketplace admin pays vendors from Orders > Payouts, or lets automated payouts do it on schedule. For each vendor paid by bank transfer, Garnet records the payout as paid right away and gives it a reference, such as Payout 008a3761. The vendor sees that reference on their payout.

The bank transfers email ​

Right after the payout, Garnet emails the marketplace a Bank transfers to send message:

  • a table with each transfer: the vendor, the amount, the reference and the method (e.g. ACH (US)),
  • the total to send,
  • a CSV file with every vendor's bank details, named bank-transfers-YYYY-MM-DD.csv.

This email is always sent, even when other notifications are turned off or sent through Klaviyo, as it is the only place the transfers are listed. Send each transfer from your bank with its reference, so the vendor can match it to their payout.

The CSV file ​

The CSV holds one row per transfer, and a column per piece of information:

ColumnContent
VendorThe vendor's name
AmountThe amount to send, with two decimals and no currency symbol (e.g. 90.32)
CurrencyThe marketplace's currency (e.g. EUR)
ReferenceThe reference to write on the transfer (e.g. Payout 008a3761)
OrdersThe orders paid by this transfer, separated by spaces (e.g. #1041 #1045)
RegionThe region of the vendor's bank details (e.g. US, EU)
MethodThe transfer method the vendor chose (e.g. ACH, SEPA)
Bank detailsOne column per field the vendor filled in, such as Account holder name, Iban or Routing number

The bank details columns depend on each vendor's region and method: a SEPA vendor has an Iban column, an ACH vendor a Routing number and an Account number. When vendors use different methods, the file holds every column, and a vendor's row is empty in the columns their method does not use.

csv
Vendor,Amount,Currency,Reference,Orders,Region,Method,Account holder name,Account type,Routing number,Account number
Fruit Emporium,90.32,EUR,Payout 008a3761,#1041 #1045,US,ACH,Fruit Emporium LLC,checking,021000021,123456789

Keep the CSV private: it holds your vendors' bank details in clear.

Security ​

Vendor banking details contain sensitive information (account numbers, IBAN, routing numbers, etc.). Garnet takes the following measures to protect this data:

  • Encryption at rest — All sensitive banking fields are encrypted using a unique secret key per marketplace. This ensures that even in the event of a data breach, banking details cannot be read without the marketplace's encryption key.
  • Field-level sensitivity — Only fields marked as sensitive (account numbers, routing numbers, IBAN, etc.) are encrypted. Non-sensitive fields like account holder name and bank name are stored in plain text for display purposes.
  • Access control — Banking details are only visible to the vendor who submitted them and to marketplace admins when processing payouts. They only leave Garnet in the CSV attached to the bank transfers email, sent to the marketplace's email address.
  • No historical data — For compliance, Garnet does not store past banking details. When a vendor updates their banking information, the previous record is overwritten. This minimizes exposure in case of a data breach.
  • Regulatory compliance — Per-marketplace encryption keys and the absence of historical banking data help comply with local data protection regulations (GDPR, PCI DSS guidelines for non-card payment data).

Available regions ​

CodeRegionMethods
USUnited StatesACH, Wire Transfer
CACanadaElectronic Funds Transfer (EFT)
GBUnited KingdomFaster Payments / BACS
EUEurozoneSEPA Credit Transfer
CHSwitzerlandSEPA Transfer
AUAustraliaBECS Direct Entry
JPJapanDomestic Bank Transfer (Zengin)
SGSingaporeFAST / GIRO
INIndiaNEFT / IMPS
GLOBALInternationalSWIFT Wire