---
title: "Totals, deposits, and refunds"
description: "How a booking's total is built from prices, discounts, and adjustments, how the security deposit is shown, adjusted, and refunded on one booking, and how deposits appear on invoices and in analytics."
canonical_url: "https://requiply.com/docs/en/guides/bookings/payments-and-documents/money-on-a-booking"
---
# Totals, deposits, and refunds

> How a booking's total is built from prices, discounts, and adjustments, how the security deposit is shown, adjusted, and refunded on one booking, and how deposits appear on invoices and in analytics.

A booking carries a few amounts worth telling apart: what the rental costs, the refundable security deposit, what has been paid, and what is still owed. This page explains how each one is calculated and how to change it on a single booking. The organization-wide deposit rules are set on [Deposits](https://requiply.com/docs/en/guides/settings/bookings/deposits).

## What makes up the money on a booking

<table>
<thead>
  <tr>
    <th>
      Amount
    </th>
    
    <th>
      What it is
    </th>
    
    <th>
      Where to change it on one booking
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <strong>
        Rental total
      </strong>
    </td>
    
    <td>
      Items and services for the booking's dates, after pricing tiers, the bundle discount, the client's pricing discount, and any booking cost adjustment. Goods sold on the booking are added at their sale price.
    </td>
    
    <td>
      <a href="https://requiply.com/docs/en/guides/bookings/changing/dates">
        Edit booking dates
      </a>
      
      , <a href="https://requiply.com/docs/en/guides/bookings/changing/items">
        items
      </a>
      
      , or <a href="https://requiply.com/docs/en/guides/bookings/changing/services">
        services
      </a>
      
      , or a <a href="https://requiply.com/docs/en/guides/bookings/changing/cost-adjustment">
        booking cost adjustment
      </a>
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        Deposit
      </strong>
    </td>
    
    <td>
      Refundable protection against damage or a late return, from your deposit policy and product overrides. It is never revenue.
    </td>
    
    <td>
      A deposit adjustment, see <a href="#adjusting-the-deposit-on-one-booking">
        Adjusting the deposit on one booking
      </a>
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        Paid
      </strong>
    </td>
    
    <td>
      Completed charges minus refunds, one row per charge in the booking's payment ledger.
    </td>
    
    <td>
      The payment popover on the booking page, see <a href="https://requiply.com/docs/en/guides/bookings/manage#the-payment-ledger-on-the-booking-detail-page">
        The payment ledger
      </a>
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        Amount due
      </strong>
    </td>
    
    <td>
      Every charge still pending. What a client owes across several bookings can be collected at once with <a href="https://requiply.com/docs/en/guides/clients/debt-settlement">
        Debt settlement
      </a>
      
      .
    </td>
    
    <td>
      <strong>
        Copy payment link
      </strong>
      
       or <strong>
        Create payment link
      </strong>
      
       next to the amount due
    </td>
  </tr>
</tbody>
</table>

## Pricing and discounts

On [Add booking](https://requiply.com/docs/en/guides/bookings/add-booking), the price preview on the right computes:

- **Subtotal** from the selected dates, items, and services. Items respect pricing tiers and per-item price type; services use their configured price type.
- **Charged periods** when a **Periods** adjustment is set: lines priced per day or per month are charged for the charged periods instead of the periods from the dates.
- **Bundle discount** on the units that belong to a [bundle](https://requiply.com/docs/en/guides/inventory/bundles#how-bundles-are-priced), before the client discount.
- **Client discount** if the selected client is linked to a pricing discount: `subtotal × (percentage / 100)`. The crossed-out subtotal, percentage tag, and discounted total are all shown.
- **Percentage** or **Flat amount** adjustment, applied after the client discount. See [Booking cost adjustment](https://requiply.com/docs/en/guides/bookings/changing/cost-adjustment).
- **Deposit**, from your [deposit policy](https://requiply.com/docs/en/guides/settings/bookings/deposits) and product overrides, then the **Deposit adjustment** if one is set.

Every figure in the preview, the deposit included, comes from the same server calculation that creates the booking. While it updates, a small spinner shows next to the total.

The preview is for the user only. The server recalculates totals on submit, so manipulating the UI cannot change the price actually charged.

## Deposits in the bookings table

The bookings data table has a **Deposit** column for spotting deposit amounts and partial refunds across bookings.

![Deposit column in bookings table](https://requiply.com/docs/assets/settings/deposits/bookings-deposit-column.png)

What it shows:

- When the deposit is greater than zero, the amount is shown in the organization's currency. If any portion of the deposit has been refunded, the value is rendered with a **line-through** and reduced opacity to signal that part or all of the deposit has been returned.
- When the deposit is zero, the cell shows a muted dash `—`.
- The column supports filtering via a numeric "greater than" input with the menu enabled.
- Like the inventory table, column visibility and order are driven by the user's saved table layout.

## Creating a booking — preview and totals

When an admin creates a booking manually from **Bookings → Add**:

- The booking summary preview shows a **Deposit** line, in orange, whenever the computed deposit is greater than zero.
- The deposit is calculated live from the org policy plus per-product overrides, using the same logic the server uses, so the preview matches the final charge.
- When the deposit is part of the payment, it is listed above **Total to pay** and included in it (`rental subtotal − discount + deposit`). When it is kept out of payments, it is listed below **Total to pay** with the note *collected separately* and is not included.

When the booking is saved, the deposit is **recomputed on the server** from the authoritative organization policy and per-group overrides. This prevents tampering: the client cannot send a custom deposit value and have it accepted. The amount charged through the booking payment is `rental total + deposit` when the deposit is part of the payment, and the rental total alone when it is kept out.

## On the client portal

At [checkout](https://requiply.com/docs/en/guides/online-booking/booking-flow) the customer sees a **Security deposit** line whenever the computed deposit is greater than zero, and the same figure is listed on their own booking page afterwards.

![Security deposit on customer cart and checkout](https://requiply.com/docs/assets/settings/deposits/customer-cart-deposit.png)

- The label is *"Security deposit"*. A smaller hint below it reads *"The deposit is returned after the items come back."*, or, when the deposit is kept out of payments, *"Paid separately, not as part of this payment. It is returned after the items come back."*
- The deposit is computed reactively as the customer changes items and dates, so it stays in sync with what the server will finally charge.
- The **Total to pay** displayed to the customer is `estimated rental price + deposit` when the deposit is part of the payment, and the rental price alone when it is kept out.

This is what makes the deposit feel transparent on the customer side: it is shown as a distinct, refundable item rather than rolled into the price.

## Adjusting the deposit on one booking

The policy sets the deposit for every booking. A **deposit adjustment** changes it for one booking only: the client is a regular you trust, forgot part of the cash, or you agreed on a different amount. The policy and the product overrides stay as they are.

A deposit adjustment uses the same switches and types as the [booking cost adjustment](https://requiply.com/docs/en/guides/bookings/changing/cost-adjustment):

- The organization has **Enable booking cost adjustments** on under [Settings → Organization → Features](https://app.requiply.com/settings/org/features), and the **Adjustment types** ticked there are the ones offered for the deposit too.
- The member's [permission group](https://requiply.com/docs/en/guides/settings/organization/accounts/permission-groups) has **Allow booking cost adjustments**.

Both are available on every plan.

### The three types for a deposit

<table>
<thead>
  <tr>
    <th>
      Type
    </th>
    
    <th>
      What it does to the deposit
    </th>
    
    <th>
      Example
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <strong>
        Percentage
      </strong>
    </td>
    
    <td>
      Takes a percentage off the deposit, or adds one. Presets <strong>
        −25%
      </strong>
      
      , <strong>
        −50%
      </strong>
      
      , and <strong>
        No deposit
      </strong>
      
       (−100%).
    </td>
    
    <td>
      <em>
        −50%
      </em>
      
       for a returning client
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        Amount
      </strong>
    </td>
    
    <td>
      Moves the deposit by a flat sum in your currency.
    </td>
    
    <td>
      <em>
        −$100
      </em>
      
       because the client left $100 less in cash
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        Periods
      </strong>
    </td>
    
    <td>
      Prices a <strong>
        Percentage of rental
      </strong>
      
       deposit for fewer or more days or months than the dates produce. Only offered when the deposit follows the rental, that is a percentage policy and at least one product without its own override.
    </td>
    
    <td>
      <em>
        −1 day
      </em>
    </td>
  </tr>
</tbody>
</table>

The deposit never goes below zero. A reason is optional and kept with the adjustment; the placeholder suggests *The client left part of the deposit in cash*.

### When creating a booking

On [Add booking](https://requiply.com/docs/en/guides/bookings/add-booking#adjusting-the-price-or-the-deposit), the **Adjustments:** row has a **Deposit** button next to **Price**. It appears once the selected items produce a deposit. Click it, set the adjustment in the **Deposit adjustment** dialog, and click **Apply**. The button then shows the new deposit, and the booking preview lists a **Deposit adjustment** row under the deposit.

### On an existing booking

On the booking page, the deposit in the summary card has a pencil (**Adjust the deposit**). The details card also has a **Deposit adjustment** row with the same pencil, or *No adjustment* while there is none. Both open the **Deposit adjustment** dialog:

<figure>

![The Deposit adjustment dialog over booking #39 in dark mode. Box 1 marks the type switch Periods, Percentage, Amount with Percentage selected, the value field showing -50% and the preset buttons -25%, -50% and No deposit. Below it the Reason field reads Returning client, deposit halved. Box 2 marks the figures box: Without adjustment $15.98, Deposit adjustment −$7.99 in green, and New deposit $7.99 in bold. The footer has Reset, Cancel and Apply](https://requiply.com/docs/assets/settings/deposits/deposit-adjustment-dialog.png)<figcaption>

**1** Pick the type and the value; **No deposit** waives it. **2** The deposit before and after, priced by the server as you type.

</figcaption>
</figure>

1. Pick the type and enter the value, or use a preset.
2. Enter a reason if you want one.
3. Check the figures: **Without adjustment**, the **Deposit adjustment** amount (green for less, orange for more), and **New deposit**, or **No deposit** when it reaches zero.
4. Click **Apply**. Requiply shows *Adjustment saved* and the booking updates. **Reset** removes the adjustment and restores the policy deposit.

The summary card then shows the adjustment under the deposit, for example *−$60.00 (−50%)*, with an info icon that shows the reason on hover. Every change writes a line on the booking timeline, for example *Deposit adjustment changed: 0 → -50% (Returning client, third rental this month)*. Later [date](https://requiply.com/docs/en/guides/bookings/changing/dates) and [item](https://requiply.com/docs/en/guides/bookings/changing/items) changes keep the adjustment and apply it to the new deposit.

### When the deposit can no longer be adjusted

<table>
<thead>
  <tr>
    <th>
      Situation
    </th>
    
    <th>
      What happens
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      The deposit is part of booking payments and the booking payment has been completed
    </td>
    
    <td>
      The deposit pencil is hidden. The money already went through the payment provider, so give part of it back with <a href="#refunding-a-deposit">
        Refund deposit
      </a>
      
       instead. If the dialog is already open: <em>
        The deposit was paid together with the booking. Return part of it with a deposit refund instead.
      </em>
    </td>
  </tr>
  
  <tr>
    <td>
      The deposit is part of booking payments and not paid yet
    </td>
    
    <td>
      The adjustment is allowed. The dialog says what happens to the unpaid balance or the online payment link, the same way <a href="https://requiply.com/docs/en/guides/bookings/changing/dates#how-the-financials-are-recalculated">
        Edit booking dates
      </a>
      
       does.
    </td>
  </tr>
  
  <tr>
    <td>
      The deposit is kept out of booking payments
    </td>
    
    <td>
      The adjustment is allowed at any time before the booking is cancelled. Collect or return the difference by hand.
    </td>
  </tr>
  
  <tr>
    <td>
      The booking is cancelled
    </td>
    
    <td>
      No adjustment.
    </td>
  </tr>
  
  <tr>
    <td>
      The feature or the permission is off
    </td>
    
    <td>
      No pencil, no <strong>
        Deposit
      </strong>
      
       button.
    </td>
  </tr>
</tbody>
</table>

### In the mobile app

On the **Confirm** step of **New booking**, tap the **Deposit** chip next to **Price** to open the **Deposit adjustment** screen. On a booking, the deposit in the summary has a pencil, and the actions menu has **Adjust deposit**. The types, presets, and rules are the same as on the web.

<note>

**Adjustment or refund?** Use a deposit adjustment when the client should hand over less (or nothing) from the start. Use [Refund deposit](#refunding-a-deposit) when the client already paid the deposit and you give part or all of it back, for example after keeping part of it for damage.

</note>

## Refunding a deposit

**To refund a deposit:** open the booking, find the *Deposit* section, and press **Refund deposit**. You can also do it from the per-row action menu on the bookings table. A deposit collected on a booking can be refunded in full or in parts, and multiple refunds are supported up to the full charged amount.

<warning>

**A cancellation never refunds anything by itself.** That includes a customer [cancelling their own booking](https://requiply.com/docs/en/guides/online-booking/customer-accounts#cancelling-online) on the client portal: the booking is voided and the stock is freed, and the deposit and any payment stay exactly where they are until someone on your team refunds them here.

</warning>

### Where the refund action appears

![Deposit section on a booking detail page](https://requiply.com/docs/assets/settings/deposits/booking-deposit-section.png)

On the **booking detail page**, the *Deposit* section shows:

- **Deposit charged**: the original amount. On a booking whose deposit is kept out of payments, this reads **Deposit amount**, with the note *Not part of the booking payment: collect it separately and return it by hand.*
- **Refunded so far** — the running total already returned.
- **Remaining** — what is still on hold.
- A **Refund deposit** button, disabled when the remaining amount is 0.
- If everything has been refunded, the muted message *"Deposit fully refunded."* is shown in place of the button.

In the **bookings table**, the per-row action menu also exposes a *Refund deposit* action when the booking has a refundable amount remaining.

### What the refund dialog shows

![Refund deposit dialog](https://requiply.com/docs/assets/settings/deposits/refund-deposit-dialog.png)

When the user clicks **Refund deposit**, a modal opens with:

- A summary of *Deposit charged* (or *Deposit amount* when the deposit was kept out of payments), *Refunded so far*, and *Remaining*.
- An **Amount to refund** input pre-filled with the remaining amount, capped between 0 and the remaining value.
- A **Reason / damage note** textarea — optional, free text recorded with the refund.
- A collapsible **Additional actions** section that exposes a **Refund manually (skip payment provider)** checkbox. This is useful when the refund is being handled outside the system (cash, bank transfer, etc.) and only the bookkeeping needs to be recorded.
- A hint that adapts to the selected mode:

  - Provider refund: *"The refund will be processed through the original payment provider. The customer will see the refund in their account within a few business days."*
  - Manual refund: *"No provider call will be made — only records a refund handled outside the system (e.g. cash)."*

### Special case: Pay in person, or a deposit kept out of payments

If the booking was paid via **Pay in person** (what the portal offers customers as *Pay on pickup*), no money ever moved through a payment provider, so the dialog hides the *Additional actions* section entirely and treats the refund as pure bookkeeping. There is no "manual vs provider" choice in that case.

The same applies to a deposit that was kept out of booking payments: it never went through a provider, so you return it by hand and the dialog only records the refund.

### What happens when you confirm

- Requiply validates the requested amount against the remaining deposit. Refunds that exceed it are rejected.
- For online providers, the refund is attempted against the original payment provider.
- For Pay in person or when manual refund is requested, the refund is recorded without calling any provider.
- On success, the booking's *Refunded so far* and *Remaining* update immediately, and the bookings table reflects the partial-refund styling (line-through value).

### When a refund is refused

A refund that cannot go through says why, so you know whether to retry, record it manually, or look at the booking:

<table>
<thead>
  <tr>
    <th>
      Message
    </th>
    
    <th>
      What to do
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <em>
        This booking has no deposit to refund
      </em>
    </td>
    
    <td>
      Nothing was collected on this booking.
    </td>
  </tr>
  
  <tr>
    <td>
      <em>
        The amount exceeds the remaining deposit (remaining: {amount}). It may already have been refunded from another device
      </em>
    </td>
    
    <td>
      Reload the booking and check <em>
        Refunded so far
      </em>
      
      . A colleague probably refunded it while you had the dialog open.
    </td>
  </tr>
  
  <tr>
    <td>
      <em>
        The original payment for this booking was not found
      </em>
    </td>
    
    <td>
      There is no provider charge to refund against. Record it with <strong>
        Refund manually
      </strong>
      
       instead.
    </td>
  </tr>
  
  <tr>
    <td>
      <em>
        The payment provider rejected the refund. Try again or record it as a manual refund
      </em>
    </td>
    
    <td>
      The provider refused. Retry, and if it keeps failing pay the customer outside Requiply and record it manually.
    </td>
  </tr>
  
  <tr>
    <td>
      <em>
        The refund amount must be greater than zero
      </em>
    </td>
    
    <td>
      Enter an amount above zero.
    </td>
  </tr>
  
  <tr>
    <td>
      <em>
        You do not have access to this booking
      </em>
    </td>
    
    <td>
      The booking belongs to another organization, or your permissions changed since the page was opened.
    </td>
  </tr>
</tbody>
</table>

## Invoices and emails

- **PDF invoices** include a *Security deposit* line and, when applicable, a *Deposit refunded* line below it. The grand total includes the deposit.
- **Booking email templates** support two tokens that admins can drop into custom templates:

  - `{{bookingDeposit}}` — the deposit amount, formatted in the org currency. Empty when there is no deposit.
  - `{{bookingTotalCharged}}`: *Total charged (rental, plus the deposit when it is part of the payment)*. On a booking whose deposit is kept out of payments, it is the rental total alone.

See [Email templates](https://requiply.com/docs/en/guides/automations/email-templates) for the full list of variables available in templates.

## Analytics: deposits are not revenue

Deposits are explicitly excluded from revenue figures everywhere in Requiply:

- The booking's stored total represents the **rental-only** amount; the refundable deposit is tracked separately and is never added to revenue, in either snapshots or the revenue chart.
- This means an organization with a large deposit policy will not see inflated revenue. Deposits show up only in their own column and on individual booking pages.

When reading dashboards or reports, follow the same rule: deposits are protection money, not earnings.

## Common scenarios

### A trusted client brings only half the deposit

Open the booking, click the pencil next to the deposit, pick **Percentage**, press **−50%**, enter *Regular client, half deposit agreed*, and click **Apply**. The booking now asks for half the deposit, and later refunds are counted against that amount. With the deposit included in an online payment that is already paid, refund half instead.

### No deposit for a long-standing partner

On [Add booking](https://app.requiply.com/reservations/add), click **Deposit** under **Adjustments:**, pick **Percentage**, press **No deposit**, and click **Apply**. The booking is created without a deposit while every other booking keeps your policy.

### Customer returns an item with minor damage

Open the booking, click **Refund deposit**, and reduce the *Amount to refund* below the remaining value (for example, withhold $50 for damage and refund the rest). Add a damage note in the *Reason* field for the record. After the refund processes, the *Remaining* drops to the withheld amount, and the bookings table shows the deposit cell struck through.

### Customer paid in cash on pickup, deposit needs to be returned

For a Pay in person booking, open **Refund deposit**. The dialog hides the manual/provider choice and treats the entire refund as bookkeeping — the system records that the deposit was returned without calling any payment provider.


## Sitemap

See the full [sitemap](https://requiply.com/docs/sitemap.md) for all pages.
