Customers
Customer profiles with payment methods, addresses, and billing history
Customers represent the people or businesses you bill. Each customer can have multiple payment methods, addresses, subscriptions, and orders associated with them.
What is a Customer?
A Customer record stores:
- Contact information - Name, email, phone
- Payment methods - Cards, bank accounts for future charges
- Addresses - Billing and shipping addresses
- Billing history - All invoices, orders, and subscriptions
- Custom fields - Additional data you define
Customer Fields
| Field | Type | Description |
|---|---|---|
email | string | Primary email address (required) |
name | string | Full name or business name |
phone | string | Phone number |
currency | string | Preferred currency for invoices |
tax_id | string | Tax identification number (VAT, EIN, etc.) |
metadata | object | Custom key-value data |
Creating Customers
Automatic Creation
Customers are automatically created when:
- A new email completes checkout
- You create an invoice for a new email
- Imported from integrations (PracticeHub, Wodify, etc.)
Via Dashboard
- Navigate to Customer
- Click + New Customer
- Enter email and other details
- Save the customer
Via API
const customer = await client.customers.create({
email: 'john@example.com',
name: 'John Smith',
phone: '+1-555-123-4567',
currency: 'USD',
// Optional: Billing address
address: {
line1: '123 Main St',
line2: 'Suite 100',
city: 'San Francisco',
state: 'CA',
postalCode: '94102',
country: 'US',
},
// Optional: Tax ID for business customers
taxId: 'US123456789',
// Optional: Custom metadata
metadata: {
salesRep: 'jane@company.com',
tier: 'enterprise',
},
});
console.log(customer.data.id); // cus_xxxxxxxxBusiness Customers (B2B)
For B2B billing, you can associate customers with a business entity:
- Business name - Legal entity name
- Tax ID - VAT number, EIN, etc.
- Business address - Separate from individual address
Payment Methods
Customers can have multiple saved payment methods:
| Type | Description | Supported |
|---|---|---|
| Card | Credit/debit cards (Visa, Mastercard, Amex, etc.) | Yes |
| ACH | US bank accounts (ACH Direct Debit) | Yes |
| SEPA | European bank accounts | Coming soon |
Payment methods are securely tokenized by your payment gateway. RevKeen never stores raw card numbers.
Default Payment Method
One payment method can be marked as default. This is automatically used for:
- Subscription renewals
- Auto-pay invoices
- Retry attempts during dunning
Addresses
Customers can have multiple addresses with different types:
| Address Type | Used For |
|---|---|
| Billing | Invoice "Bill To" address, tax calculations |
| Shipping | Physical product delivery |
Customer Portal
Customers can self-manage their account through the Customer Portal:
- View and pay invoices
- Download invoice PDFs
- Update payment methods
- Manage subscriptions (pause, cancel)
- View billing history
checkout.revkeen.com/portal/[your-slug]Custom Fields
Extend customer data with custom fields defined in Settings → Custom Fields:
- Text fields (IDs, notes)
- Numbers (account numbers, scores)
- Dates (birthdays, contract dates)
- Dropdowns (status, category)
- Checkboxes (preferences, consent)
Customer Events
| Event | When Triggered |
|---|---|
customer.created | Customer record is created |
customer.updated | Customer details are modified |
customer.payment_method.attached | Payment method is added |
customer.payment_method.detached | Payment method is removed |