Requiply
TypeScript SDK

Reports

Retrieve revenue, bookings, utilization, client, balance, overdue, and pipeline reports.

All report resources require a secret key in trusted server code. Report parameter objects are optional, and every method also accepts request options as its final argument.

reports.revenue()

reports.revenue(
  params?: RevenueReportParams,
  options?: RequiplyRequestOptions,
): Promise<RevenueReportResponse>

Parameters: dateFrom, dateTo, dateField (startDate, createdAt, or endDate), groupBy (day, week, month, category, or status), and excludeCancelled.

const report = await requiply.reports.revenue({
  dateFrom: '2026-07-01',
  dateTo: '2026-07-31',
  groupBy: 'week',
  excludeCancelled: true,
});

Returns currency, resolved filters, totals, breakdown rows, and optional notes.

reports.bookingsSummary()

reports.bookingsSummary(
  params?: BookingsSummaryParams,
  options?: RequiplyRequestOptions,
): Promise<BookingsSummaryResponse>

Parameters: dateFrom, dateTo, and dateField. Returns booking and revenue totals, cancellation and completion rates, timing metrics, and status breakdowns. Average lead time and duration can be null; status IDs can be null.

const summary = await requiply.reports.bookingsSummary({
  dateFrom: '2026-07-01',
  dateTo: '2026-07-31',
});

reports.utilization()

reports.utilization(
  params?: UtilizationReportParams,
  options?: RequiplyRequestOptions,
): Promise<UtilizationReportResponse>

Parameters: dateFrom, dateTo, groupBy (overall, itemGroup, or category), sort (highest or lowest), and limit. The detailed breakdown is optional.

const utilization = await requiply.reports.utilization({
  groupBy: 'itemGroup',
  sort: 'highest',
  limit: 10,
});

reports.topItems()

reports.topItems(
  params?: TopItemsReportParams,
  options?: RequiplyRequestOptions,
): Promise<TopItemsReportResponse>

Parameters: dateFrom, dateTo, rankBy (revenue, bookings, rentedDays, or unitsRented), and limit. Category IDs and names in entries can be null.

const topItems = await requiply.reports.topItems({ rankBy: 'revenue', limit: 10 });

reports.topClients()

reports.topClients(
  params?: TopClientsReportParams,
  options?: RequiplyRequestOptions,
): Promise<TopClientsReportResponse>

Parameters: dateFrom, dateTo, rankBy (spend or bookings), excludeCancelled, and limit. Client contact and name fields can be null.

const topClients = await requiply.reports.topClients({ rankBy: 'spend', limit: 10 });

reports.outstanding()

reports.outstanding(
  params?: OutstandingReportParams,
  options?: RequiplyRequestOptions,
): Promise<OutstandingReportResponse>

Parameters: dateFrom, dateTo, minBalance, and limit. Returns billed, paid, and owed totals plus reservations ranked by balance. Reservation organization, status, and client fields can be null.

const outstanding = await requiply.reports.outstanding({ minBalance: 1, limit: 25 });

reports.overdue()

reports.overdue(
  params?: OverdueReportParams,
  options?: RequiplyRequestOptions,
): Promise<OverdueReportResponse>

Parameters: limit and minDaysOverdue. Returns an asOf timestamp, totals by severity, and entries whose severity is info, warning, or critical. Reservation, status, client, and total-cost fields can be null.

Each entry also carries stillOutUnits, a list of { itemId, sku } for units a confirmed partial return left with the client and that have not come back since. It is empty when no return has been confirmed.

const overdue = await requiply.reports.overdue({ minDaysOverdue: 2, limit: 25 });

reports.pipeline()

reports.pipeline(
  params?: PipelineReportParams,
  options?: RequiplyRequestOptions,
): Promise<PipelineReportResponse>

Parameters: horizonDays and groupBy (day, week, or month). Returns the resolved reporting window, upcoming booking and revenue totals, and time buckets.

const pipeline = await requiply.reports.pipeline({
  horizonDays: 90,
  groupBy: 'month',
});
Copyright © 2026