---
title: "Requiply 1.2.6: Subrentals, Invoice Improvements &amp; npm Package | Requiply"
description: "Requiply 1.2.6 lets you rent equipment from suppliers and re-rent it to your clients: manage suppliers and subrental products, track each procurement from Planned to Returned, and see supplier spend, revenue, and profit. Plus invoice groups for one clearly structured invoice — and the official @requiply/api-sdk npm package for building rental websites with Lovable, Cursor, or any stack."
canonical_url: "https://requiply.com/blog/1-2-6-release-notes"
last_updated: 2026-07-14
locale: en
meta:
  "og:description": "Requiply 1.2.6 lets you rent equipment from suppliers and re-rent it to your clients: manage suppliers and subrental products, track each procurement from Planned to Returned, and see supplier spend, revenue, and profit. Plus invoice groups for one clearly structured invoice — and the official @requiply/api-sdk npm package for building rental websites with Lovable, Cursor, or any stack."
  "og:title": "Requiply 1.2.6: Subrentals, Invoice Improvements & npm Package"
  "twitter:description": "Requiply 1.2.6 lets you rent equipment from suppliers and re-rent it to your clients: manage suppliers and subrental products, track each procurement from Planned to Returned, and see supplier spend, revenue, and profit. Plus invoice groups for one clearly structured invoice — and the official @requiply/api-sdk npm package for building rental websites with Lovable, Cursor, or any stack."
  "twitter:title": "Requiply 1.2.6: Subrentals, Invoice Improvements & npm Package"
---

![Requiply 1.2.6: Subrentals, Invoice Improvements \& npm Package](https://requiply.com/.netlify/images?w=10&h=10&fm=webp&q=50&blur=3&url=%2Fblog%2Freleases%2F1-2-6%2Fcover.png)

## What's New in Requiply 1.2.6?

This release is about **jobs bigger than your own warehouse**. Requiply can now manage **supplier-sourced rental stock alongside your owned inventory**: maintain suppliers, define subrental products with a margin on top of the supplier price, follow each procurement through its lifecycle, and see exactly what you spend, what you charge, and what you keep.

And when a booking grows into a real project, **invoice groups** let you divide it into named sections — phases, locations, stages — so the client receives one clean, clearly structured invoice instead of a wall of lines or a pile of separate reservations.

Shipping alongside the release is one more announcement: the **official `@requiply/api-sdk` npm package**, a typed client for the public API built for agentic tools like Lovable and Cursor — more on that below.

---

## 1. Subrentals — Rent from Suppliers, Sell with Your Margin

![Requiply inventory form for a subrental product showing the Subrental stock source, supplier, supplier rate, billing unit, and margin override](https://requiply.com/.netlify/images?url=%2Fblog%2Freleases%2F1-2-6%2Fsubrental-inventory-en.png)

Every rental company eventually gets the booking it can't fully cover from its own stock. Until now that meant tracking supplier rentals in spreadsheets, outside your availability, invoices, and reports. In 1.2.6, subrentals become part of your catalog.

Inventory groups now have a **stock source**: **Owned** or **Subrental**. A subrental product stores its supplier, the supplier rate, an hourly/daily/monthly billing unit, and an optional margin override — while keeping everything you already use: categories, images, SKUs, pricing tiers, and catalog visibility.

### What Changed

New Subrental stock source for inventory groups, alongside your owned products

Suppliers with a name and separate light/dark-theme logos — create them in settings or on the fly from any subrental form

An organization-wide default margin with a live price preview, plus per-product margin overrides

Subrental products are elastically available — they don't consume tracked physical units, because the supplier provides the stock per booking

Clients always see the marked-up client rate; supplier rates and margins stay internal

### Where to Configure

Subrentals are **opt-in per organization**. An admin enables them on the new **Settings → Organization → Features** page; the default margin and suppliers live under **Settings → Reservations → Subrentals**. Once enabled, subrental products behave like any other catalog product — including on your website, where customers can book them without ever knowing the stock is supplier-sourced.

**Practical Use Cases:**

- **Peak-season overflow**: Your ten heaters are booked solid in December — add a subrental heater backed by a partner's stock and keep selling without buying an eleventh
- **Catalog breadth without capital**: Offer a generator, a stage, or a specialty lens you don't own; the supplier carries the asset, you carry the margin
- **Consistent pricing**: Set one organization-wide margin and let every subrental price itself from the supplier rate automatically

---

## 2. Subrentals in Reservations — Procurement You Can Actually Track

![Requiply reservation detail with the Subrentals table showing supplier logos, procurement statuses, dates, client revenue, supplier spend, and profit](https://requiply.com/.netlify/images?url=%2Fblog%2Freleases%2F1-2-6%2Freservation-subrentals-en.png)

A subrental isn't just a line item — it's a commitment to a supplier that has to be ordered, confirmed, picked up, and returned. Reservations now carry that whole story.

Add a **catalog-backed subrental** (supplier, rate, billing unit, and margin prefilled) or an **ad hoc subrental** with a free-text name for one-off gear you'll never rent again. Either way, you set the quantity, supplier rate, billing unit, margin, and procurement period, and see a client-rate preview before saving.

### What Changed

Procurement status with a controlled forward flow: Planned → Ordered → Confirmed → Received → Returned, with cancellation available up to Confirmed

Each row shows client revenue, supplier spend, and profit — margin math handled for you, with a minimum of one billable unit

Supplier rate and margin are snapshotted per reservation, so later catalog or settings changes never rewrite historical economics

Canceled subrentals drop out of totals, analytics, and invoices automatically

Website bookings of subrental products create the procurement row for you — ready to order from the supplier

The math is deliberately simple: **client rate = supplier rate × (1 + margin %)**, supplier spend and revenue multiply by quantity and billable units, and **profit is the difference** — visible per line and per reservation.

**Practical Use Cases:**

- **Order at the right moment**: Filter for *Planned* subrentals as the event approaches and move them to *Ordered* as you call each supplier
- **Catch margin leaks**: The profit column makes it obvious when a supplier's rate hike has quietly eaten your markup
- **One-off gear**: A client wants a confetti cannon you'll never own — add it ad hoc, mark it up, and keep it inside the same reservation and invoice

---

## 3. Invoice Groups — One Reservation, One Clearly Structured Invoice

Big bookings deserve better than an alphabetical wall of lines. **Invoice groups** let you divide a reservation into named, ordered sections — *Main stage*, *Day 2*, *Warehouse B* — and assign items, services, and subrentals to them.

### What Changed

Create, rename, reorder, and delete groups right on the reservation — no separate setup

Assign owned products (all units move together), services, and subrentals to a group, or leave lines ungrouped

The invoice PDF renders ungrouped lines first, then each group in your configured order; empty groups are omitted

Deleting a group never deletes billable lines — they simply become ungrouped

Subrentals appear as ordinary client-facing rental lines inside their group, with no supplier cost or margin exposed

Here's how the client sees it — ungrouped lines up top, then each named section with its own product and services tables:

Invoice groups organize **one booking into one invoice** — they are not separate invoices, payment schedules, or supplier purchase orders. The reservation stays whole; the client just finally understands it.

**Practical Use Cases:**

- **Multi-stage events**: Group by stage or zone so the client's production manager can check each area against its own section
- **Multi-day festivals**: One group per day makes it obvious what was on site when
- **Construction phases**: Foundation, shell, finishing — each phase priced visibly within a single contract invoice

---

## 4. Analytics — Profit, Supplier Spend, and Smarter Comparisons

![Requiply analytics page with revenue, expenses, and profit cards, a period selector, and the profitability table including subrentals](https://requiply.com/.netlify/images?url=%2Fblog%2Freleases%2F1-2-6%2Fanalytics-en.png)

With supplier costs now inside Requiply, analytics can finally answer the question that matters: **not just what you billed, but what you kept**.

### What Changed

Supplier spend joins activity expenses and employee payouts in expenses; period profit is revenue minus all three

Subrentals participate in top performers, revenue by category, and a combined items/services/subrentals profitability table with revenue, expense, and profit per row

Period comparisons now include profit and repeat-client counts against the immediately preceding equivalent period

New period selector: current month, previous month, current year, previous year, or any custom range

**Practical Use Cases:**

- **Is subrenting worth it?**: Compare the profit column on subrental rows against your owned stock before deciding what to buy next
- **Month-over-month honesty**: Revenue up but profit flat? The expense breakdown shows whether supplier spend is the reason

---

## 5. Announcing @requiply/api-sdk — the Official npm Package

We promised it in the last release, and here it is: [`@requiply/api-sdk`](https://www.npmjs.com/package/@requiply/api-sdk) is now on npm — the **official, framework-agnostic TypeScript SDK** for the Requiply public API.

It exists for one reason: to make building on Requiply trivially easy — especially with **agentic tools**. Describe the rental website you want in **Lovable**, **v0**, **Cursor**, or Claude Code, point it at the SDK, and the typed client tells the AI exactly what's possible: inventory, availability, quotes, booking requests, clients, and reports. The hard parts — availability math, pricing, deposits, scheduling — stay Requiply's responsibility; the front end becomes yours (or your agent's) to shape.

### What Changed

Fully typed resources for the whole public API: org, categories, services, inventory, availability, pricing quotes, bookings, clients, and reports

Publishable keys power public storefront flows — catalog, availability, quotes, and booking requests — while secret keys unlock server-side admin, clients, and reporting

Safe by default: the client rejects secret keys in browser environments unless explicitly overridden

Works in Next.js, Nuxt, Node.js, serverless functions, and modern browsers; every method supports abort signals, custom headers, and idempotency keys

### The Package at a Glance

On npm, [`@requiply/api-sdk`](https://www.npmjs.com/package/@requiply/api-sdk) describes itself simply: *a TypeScript SDK for building equipment rental websites and apps with Requiply*. It's MIT-licensed, ESM-only, runs on Node 18+, ships its own type definitions, and has **zero runtime dependencies** — the entire client unpacks to under 60 kB. The source lives on [GitHub](https://github.com/Requiply/RequiplyNPM), where issues and suggestions are welcome.

Whether you're a rental business owner prompting Lovable on a weekend, or an agency building client storefronts, the same package covers custom websites, booking forms, customer portals, internal dashboards, and integrations. Start with the [developer docs](https://requiply.gitbook.io/requiply-docs/knowledge/developer-documentation/developer-docs) and an API key from your Requiply account.

---

## 6. Getting Started with the SDK — Setup & Code Examples

The path from zero to a working storefront is short:

1. Create a Requiply account at [app.requiply.com/register](https://app.requiply.com/register)
2. Add your rental inventory, categories, pricing, and availability in Requiply
3. Create an API key from your account
4. Install the SDK and start building catalog pages, availability search, quotes, and booking requests

```
npm install @requiply/api-sdk
```

### Storefront Usage — Publishable Key

Publishable keys (`rq_pk_...`) are safe to use in the browser and cover the public flows: catalog, availability, quotes, and booking requests.

```
import { RequiplyClient } from '@requiply/api-sdk';

const requiply = new RequiplyClient({
  baseUrl: 'https://app.requiply.com',
  apiKey: 'rq_pk_live_...',
});

// Which equipment is free for the client's dates?
const inventory = await requiply.inventory.list({
  startDate: '2026-07-01',
  endDate: '2026-07-03',
});

// Price the selection before creating a booking request
const quote = await requiply.pricing.quote({
  startDate: '2026-07-01',
  endDate: '2026-07-03',
  items: [{ groupId: inventory.items[0].id, quantity: 1 }],
});
```

### Server Usage — Secret Key

Secret keys (`rq_sk_...`) belong in server code only and unlock the admin side: booking management, clients, reports, inventory status, and organization summaries.

```
import { RequiplyClient } from '@requiply/api-sdk';

const requiply = new RequiplyClient({
  baseUrl: process.env.REQUIPLY_BASE_URL ?? 'https://app.requiply.com',
  apiKey: process.env.REQUIPLY_SECRET_KEY!,
});

const { bookings } = await requiply.bookings.list({
  dateFrom: '2026-07-01',
  dateTo: '2026-07-31',
});
```

Every method accepts request options as its final argument — an abort `signal`, custom `headers`, and an `idempotencyKey` for safe retries.

---

## Frequently Asked Questions

### Can my clients see the supplier price or my margin?

No. Clients only ever see the marked-up client rate — in the shop, on quotes, and on the invoice PDF, where subrentals look like ordinary rental lines. Supplier rates, margins, spend, and profit are internal and stay inside reservation details and analytics.

### How is the client price of a subrental calculated?

Client rate = supplier rate × (1 + margin %). The margin comes from the product's own override or, if none is set, your organization default. Both the supplier rate and the resolved margin are snapshotted on the reservation, so changing the catalog or settings later never rewrites past bookings.

### What happens if I disable the subrentals feature later?

Existing reservations keep their subrental history — rows stay visible with their statuses and financials, and you can still delete them. Creating or editing subrentals, suppliers, and subrental products is blocked while the feature is off, and subrental stock disappears from your website and public API.

### Are invoice groups separate invoices?

No — they are named sections within one invoice for one reservation. Ungrouped lines print first, then each group in your chosen order, each with its own product and services tables. If you need separate documents or payment schedules, that remains a different workflow.

### Do I need to be a developer to use @requiply/api-sdk?

Not really — that's the point. The SDK is typed so agentic tools like Lovable, v0, Cursor, or Claude Code can build a working rental website from a plain-language description. You need a Requiply account and an API key; developers and agencies get the same package for hand-written storefronts, portals, and integrations.

---

## What's Next?

Version 1.2.6 moves the boundary of what a reservation can hold: supplier stock with tracked margins on the inside, and a clearly structured invoice on the outside — and with `@requiply/api-sdk` on npm, the front end that sells it all can now be built by anyone, in any stack.

Here's what we're building next:

**Custom exports** — HTML-driven exports for any entity in Requiply. Design your own templates and turn reservations, inventory, clients, or reports into documents that look exactly the way your business needs them — instead of being limited to the built-in layouts.

---

**Have questions or suggestions?** Write to us at `info@requiply.com` — we'd especially love to hear how you source supplier stock today, and what you build first with the SDK.

**Tags**

- Requiply version
- requiply
- subrentals
- suppliers
- invoice groups
- procurement
- margins
- profit
- analytics
- inventory
- api sdk
- npm
- typescript
- rental software

## Sitemap

See the full [sitemap](/sitemap.md) for all pages.
