Skip to main content
A contact in Cleo Pay represents an entity you can pay or do business with — typically a vendor, supplier, or contractor. Every payment you send is associated with a contact, either directly or through a payable. Contacts store bank account details, tax information, and payment configuration so you can send funds reliably without re-entering details on every transaction.

Contact types

Cleo Pay has two contact types that determine how the contact record is managed:
When creating a contact via the API, you will typically create payee contacts. The business type is established through the Cleo Pay platform when two businesses connect with each other.

Contact status

Payment direction

The paymentDirection field controls which direction funds can flow between your business and this contact.
For outbound vendor payments, you need a contact with paymentDirection of can_pay or bidirectional. If the direction is none or can_be_paid, you cannot send payments to that contact.

paymentReady

The paymentReady boolean is a convenience flag that tells you at a glance whether a contact can currently receive a payment. It is true only when all required conditions are met — the contact is active, has a valid bank account on file, and payment direction allows outbound transfers. Always check paymentReady: true before initiating a payment to a contact. If it is false, the payment will enter held status and wait until the contact’s details are complete.

Bank account details

When a contact has a bank account on file, the bankAccount object exposes the last 4 digits for identification purposes. Full account numbers are never returned in any API response.
If no bank account is associated with the contact, bankAccount is null.

Tax information

The taxInfo object stores the contact’s tax identity for 1099 and compliance purposes.

Emails

The emails field is an array of email addresses associated with the contact. This field is populated for payee contacts; for business-type contacts the array is always empty, as their contact details are managed on their own account. Emails are used for notifications and remittance communications.

Phone

The phone field is a string containing the contact’s phone number. For business-type contacts this field is always null, as their details are self-managed.

Net terms

The netTerms field is an integer representing the number of days after invoice issuance that payment is due. For example, netTerms: 30 corresponds to Net 30 payment terms. This value is informational and used when generating payables for this contact.

Duplicate guard

When creating a contact, Cleo Pay checks for existing contacts with the same name or details. If a potential duplicate is detected, the request will fail with an error. To proceed with creating the contact anyway, include "allowDuplicates": true in your request body.

Example contact object

Next steps

  • Bank Accounts — understand how your own bank accounts are linked and verified.
  • Payments — send an ACH payment to a contact.
  • Payables — create an invoice associated with a contact.