Skip to content

Customers & Items

Save customers and items to reuse across invoices.

Customers

Create customertypescript
// title: Create customer
const customer = await sdk.customers.create({
  name: "Acme Corporation",
  email: "billing@acme.com",
  address: "123 Business Ave",
  city: "New York",
  post_code: "10001",
  country: "US",
  tax_number: "US123456789",
});

Reference by ID on invoices:

Use customertypescript
// title: Use saved customer
const invoice = await sdk.invoices.create({
  customer_id: customer.id,
  items: [{ name: "Service", quantity: 1, price: 500 }],
});

Items

Create itemtypescript
// title: Create item
const item = await sdk.items.create({
  name: "Consulting Hour",
  description: "Professional consulting services",
  price: 150,
  unit: "hour",
  taxes: [{ rate: 20 }],
});

Reference by ID to pull in saved data:

Use itemtypescript
// title: Use saved item
const invoice = await sdk.invoices.create({
  customer: { name: "Client Co" },
  items: [{ item_id: item.id, quantity: 10 }],
});

Override any field when needed—your values take precedence.

Pagination

List endpoints use cursor pagination:

Paginationtypescript
// title: Pagination
// First page
const page1 = await sdk.customers.list({ limit: 20 });

// Next page using cursor
const page2 = await sdk.customers.list({
  limit: 20,
  cursor: page1.cursor,
});

// Search with pagination
const results = await sdk.customers.list({
  search: "acme",
  limit: 10,
});