Skip to content

Create invoices, quotes, contracts and packing slips

Set up your business profile for documents, generate each document from an order, add custom lines and fields, fix stale invoices, and reprint packing slips in bulk.

A document is a snapshot of the order at the moment you issue it. That one fact explains almost everything that looks strange: why an invoice does not change when the order does, why a corrected invoice gets a new version, and why a stale invoice gets a flag instead of silently updating.

Set up your business profile first

Every invoice, quote, and contract prints your issuing identity. Set it before you issue anything: open the menu, choose Team & Settings, then General → Company info ("Manage the business identity shown on documents").

Fill in Company name, the address block, and the Contact panel (Contact email, Phone, Business website). This prints in the issuer block of every document, and it is separate from the billing email OnTote uses to charge your workspace. Customers see this, not that.

Add your logo under Logo: JPEG, PNG, WebP, AVIF, or GIF (SVG is not supported). It prints in the document headers. Click Save.

If you issue a document first and fix the profile after, the old document keeps the old details. Regenerate it to pick up the new ones.

Generating each document

All four documents live under Agreement & Documents on the order.

Invoices

1. Open the order and find Agreement & Documents.

2. Click Generate invoice.

The button appears once the order is confirmed. Before that, you get a hint: "Invoices are available once the reservation is confirmed."

Each issued document shows its type, its printed number, a version tag (v1 for the first issue), an Issued or Void chip, and its issue date. Click the number to download the PDF again.

Two things are locked in at generation time:

  • An issued invoice keeps the values it was generated with. Changing the order afterward does not change the PDF. Regenerating picks up the current values as a new version (v2, v3) under the same number.
  • A generated document cannot be edited or deleted. It can be voided: click Void, then Confirm void. Voiding is limited to owners and managers. A voided document still downloads, marked Void.

The due date printed on an invoice comes from Team & Settings → Documents → Invoice due dates (default 14 days).

If rendering fails, nothing is filed and no number is used up. Try again.

Quotes

You can generate a quote on any draft, quote, or hold order. On anything further along, the button is disabled with a reason that points you at invoices instead.

1. Open the order. If it is in quote status, click Edit as draft, then Confirm: edit as draft, to move it back to draft so you can price the lines. (This kills any active quote link, which is the point: the old quote is no longer the current one.)

2. Price the lines and save.

3. Click Generate quote and set Valid until. The default is 30 days out (on a held order, the earliest active hold expiry). The date cannot be in the past.

The quote PDF lists the lines, subtotal, tax, deposit, fees, and a total. It has no due date and no payments table: it states a price, not a debt. It prints "Valid until" under the issued date.

Contracts

Click Generate contract on any order except a cancelled one. The contract prints the rental terms (rental period, delivery and pickup windows, delivery address, location), the money tables as they appear on the invoice, then your agreement text under Terms and conditions, then a signature block.

The agreement text comes from the terms the customer accepted at checkout, otherwise from the rental agreement saved on your Store front content. A contract with no terms text is never generated. There is no e-signature capture: the signature block is blank lines to sign on paper, and the signed scan comes back through the document upload on the order.

Packing slips

A packing slip is a price-free pull sheet for loading days: lines, quantities, unit codes, delivery details, and the fields you marked for packing slips. No prices, no taxes, nothing about payment.

1. In the office: open the order, find Agreement & Documents, and click Packing slip. In the field: open your delivery stop on the Today page and tap Packing slip.

2. It renders in a few seconds and opens in a new tab. Lines list with checkboxes and quantities; serialized unit codes print, and unassigned units show as "Unassigned × n".

A packing slip is never filed. It takes no document number and no copy is stored. Print or reprint as often as you need. The button shows only for held, confirmed, or active orders. Field staff see it only on their own delivery stops.

Add custom lines and choose which fields print

Some charges are not products: a delivery fee, a damage waiver, a one-off discount. In the line editor, click + Add custom line and fill in a Label, Quantity, and Price (enter a negative price for a discount). Toggle whether the line is taxable. A custom line names no product and never touches inventory, so it is the safe place for anything money-shaped that is not a tote.

For custom fields: in Team & Settings → Custom fields, every field carries Show on documents checkboxes for quote, contract, invoice, and packing slip. On the PDF, customer-scope fields print in the customer block, order-scope fields and the delivery or billing address print in a Details block, and product fields print under their line item. Hiding a line hides its fields too. A field with no value is left off entirely. Fields marked for packing slips carry the hint "Visible to field staff on packing slips."

Built-in fields (phone, main address, delivery address, billing address) can be marked per document too, and they do not count against your custom field limit.

When an order changes after you issued documents

When the order changes after an invoice is issued, the latest live version is flagged Out of date. That flag is expected behavior, not a bug. It means the PDF and the order disagree, and you choose the fix.

Only details changed (a corrected address, no money change). Click Regenerate. The corrected document is issued as the next version, same number.

The money changed. The stale invoice then shows one of two one-click actions, computed from the server's own numbers:

  • Issue supplementary invoice (+$28.00) when the order now totals more than the invoice stated.
  • Issue credit note (−$15.00) when it totals less.

A supplementary invoice is marked as adjusting the original invoice number; a credit note is marked as crediting it. Adjustments are never regenerated, and the original invoice is not regenerated while adjustments are live.

The hard rule behind this: one invoice number never states two amounts. Regenerating an invoice whose money-bearing totals changed is refused, because the new version would restate the same number with different money. Non-money corrections are fine as a new version. A payment or a refund alone never marks a document stale.

If you would rather start over, Void and reissue voids every live version of that invoice number and issues a fresh invoice on a new number. Owners and managers only.

Each invoice also carries its own payment status and, while unpaid, an Outstanding amount. That is the per-invoice view: the order-level balance due tells you the whole picture, and each invoice tells you its own.

Bulk-print packing slips

Loading day for forty orders should not mean forty clicks. In the Orders list, tick the rows and choose Actions → Print packing slips. The eligible slips render as one combined PDF, one slip per page, which opens in a new tab.

The rules: up to 50 rows per print run (select more and the button tells you "Select 50 or fewer to print."), and only rows in a printable status are eligible. Rows that cannot print are skipped and listed with their reason instead of failing the whole batch. This is office-role only.

Document numbering

The numbering rules live in Team & Settings → Documents → Document numbering. Two scopes:

  • Global level: numbers increase continuously per document type. Invoices, quotes, and contracts are each numbered from #1 upward.
  • Prefix level: a new sequence starts for each unique prefix within a document type (for example order number, year, or month). Prefixes are set per document template.

A printed number is the prefix, then "#", then the sequence. The settings page previews the shape, for example Invoice 2026-09-#999.

The one honest catch: the `customer_number` prefix token is refused at generation time. If a template uses it, settings shows a warning. Pick a different prefix variable before generating.

When it goes wrong

  • Generate invoice is greyed out: invoices become available once the order is confirmed.
  • Rendering fails with an error: nothing was filed and no number was consumed. Click Try again.
  • Regenerate is refused: the invoice's money changed, so one invoice number cannot state two amounts. Issue the supplementary invoice or credit note instead, or void and reissue on a new number.
  • A stale invoice shows no adjustment button: an adjustment is already live on it, or you lack document permissions. The original stays as-is while adjustments exist.
  • Packing slip button is missing or disabled: the slip is only available for held, confirmed, or active orders, and field staff only see it on their own stops.

For the quote-request flow that leads to a quote PDF, see Take quote requests from your storefront.

Updated October 9, 2026

Didn't answer it?

Send us the question and you'll hear back in a business day or two, usually the same day. A real person reads every one.