Rental agreements

Renting serialized fleet units to a customer: rates, billing periods, drafted invoices, deposits, and whether each unit is accounted for as a rental or a sale.

A rents units of your to a customer. The agreement cuts the rental into billing periods, prices each from the unit's rate, and drafts the invoices as they fall due.

Activation decides each unit's accounting treatment: Rental or Sale, which ASC 842 calls an operating lease and a . A unit treated as a rental stays a fixed asset that keeps depreciating on your books while the customer has it. A unit treated as a sale is booked as sold: it leaves the fleet and becomes a .

Rental agreements live under Sales → Rental Agreements, and the quickest way to start one is the "Rent" action on an available unit in the Fleet register.

Setting up an agreement

A new agreement opens a five-step setup. "Next" on the first step saves it as a draft, and later steps save as you edit. Opening a draft continues its setup if you can edit sales; anyone else sees its page.

Details. The customer, "Rental Site", "Customer Contact" and "Shipping Location", then the term: Open-ended or Fixed Term with its "End Date", from the "Start Date". Under More Details, the sales person, currency and notes.

Units. "Add Units" adds several available fleet units at once, each at its rate on file for the frequency you choose, or at no rate when there is none. Click a cell to change a unit's "Rate Frequency" or "Rate". A serial number missing from the list is not in the fleet yet: on the part's Inventory tab, find it under Storage Units and choose "Capitalize as Fixed Asset".

Billing. The "Billing Cycle" and "Billing Timing" (billing), "Payment Terms", "Deposit", "Tax Percent", and what happens to each invoice once it is created.

Accounting. How each unit would be accounted for. A fixed-term agreement also takes the discount rate, purchase option and end-of-term terms, and each unit's fair value, economic life and residual values.

Review. A summary, a linked list of anything that blocks "Activate" (no units, or a unit with no rate), and the commencement journal of each unit treated as a sale. "Activate" is here, and "Save as Draft" returns to the list.

Lifecycle

Off-track
Active
Activated: rates are locked onto each unit and billing periods are cut. Units are delivered, returned, and billed.

"Activate" checks every unit and reports every problem in one message. Each unit must be available (or held by this agreement), in service, and an Active or Fully Depreciated asset, and it needs a rate above zero.

Activation then fixes each unit's rate, so a later price change never touches a live agreement, cuts the billing periods, and decides each unit's accounting treatment. A unit treated as a rental posts nothing to the ledger; a unit treated as a sale books its commencement. The terms and units are fixed from here on.

HEADS UP

Rental agreements bill in your base currency only

An agreement in a foreign currency can be saved as a draft but not activated: rent is accrued and deferred in base-currency amounts.

"Close" needs every unit returned or sold and every billing period and charge invoiced. "Cancel" works on a draft, or on an active agreement while nothing is on rent, sold, invoiced, or recognized; it removes the undelivered units so they read Available again. An active agreement with a unit treated as a sale cannot be cancelled at all, because that unit was already derecognized at activation. Both buttons ask you to confirm with "Close Agreement" or "Cancel Agreement". "Delete Agreement", in the header menu, is for drafts only.

Units and the fleet

The agreement is laid out like a sales order. Its units are listed down the left; select one to open its own page, with its status and its "Deliver", "Return" and "Sell to Customer" actions, its rates and accounting treatment, and its own charges and billing periods. The agreement's ID in the header opens the agreement as a whole: a summary of its units and their rates with what has been billed, what is unbilled, the monthly rent, the deposit and what falls due next, then how the units will be accounted for, and every charge, billing period and deposit. The terms (customer, dates, billing cycle and timing, payment terms, currency, deposit, tax and the accounting-treatment inputs) are in the Properties panel on the right, editable while the agreement is a draft.

Each unit on the agreement moves through its own status: "Pending" until delivered, "On Rent" once delivered, then "Returned", or "Sold" when the customer buys a unit treated as a sale on its purchase option. The Fleet register reflects the same thing from the asset's side: a unit on a draft or an undelivered line reads Reserved, a delivered one reads , and a unit can only be on one live agreement at a time.

  • "Add Unit", at the foot of the units list while the agreement is a draft, lists fleet units that are Available right now. Choose its "Rate Frequency" (Daily, Weekly or Monthly); its "Rate" fills in from the rates on file and can be changed.
  • "Deliver" marks a pending unit on an active agreement as delivered today. It is refused while the unit is out of service.
  • "Return" records the "Return Date", an optional "Meter Reading" and "Return Notes", and re-cuts a rental unit's billing (below). The return date cannot be later than today. Tick "Take out of service" with a reason and the unit goes straight to In Maintenance instead of back to Available.
NOTE

Billing runs from the agreement start, not from delivery

A unit's billing periods begin on the agreement's "Start Date" whether or not it has been delivered. Delivery decides when rent is earned for accounting (accruals start on the delivery date), not when it is billed.

While a unit is reserved or on rent, "Return to Inventory" on the asset is refused; return it from the agreement first.

An active agreement: one unit on rent, its billing periods, and the deposit received.

Rates

Each unit on an agreement has one , Daily, Weekly or Monthly, and one "Rate" for it. That rate is what the unit bills, and what its accounting treatment is valued on. It belongs to the unit on that agreement, so two units of the same item can rent at different rates, and it can be changed on the unit's page while the agreement is a draft.

When you choose a unit or change its frequency, the rate starts from the first of these that has a rate for that frequency, in effect on the agreement's "Start Date":

  1. The customer's rates. On the part's Sales tab, the "Customer Rental Rates" card holds rates agreed with one customer, or with every customer of a "Customer Type", each with an optional "Valid From" and "Valid To".
  2. The customer type's rates, from the same card.
  3. The item's rates, in the "Rental Rates" card on the same tab.

A note under the rate says which one it came from while it still matches. Each frequency is looked up on its own: a customer who agreed only a month rate still starts a weekly unit at the item's week rate. Both cards appear for serial-tracked parts and hold rates in your base currency. Changing a card never touches a unit already on an agreement.

Rental rates are separate from pricing rules and price overrides, which price what you sell.

Each billing period bills the whole days, weeks, or months it covers at the unit's rate. On a 28 Days agreement a month is 28 days, so a year on rent is about thirteen periods. At 100 a day, 500 a week, or 1,500 a month:

Days in the periodDailyWeeklyMonthly
33 days, 3001 week, 5001 month, 1,500
1010 days, 1,0002 weeks, 1,0001 month, 1,500
2828 days, 2,8004 weeks, 2,0001 month, 1,500

On a Calendar Month agreement each period is a calendar month. A Monthly unit bills its rate times the days used divided by the days in that month: at 1,500 a month, a start on October 15 bills 17 of 31 days, 822.58, and a full month bills 1,500. A Daily unit bills the days in the period, and a Weekly unit the whole weeks: at 500 a week, a 31-day month is five weeks, 2,500.

Billing

follow the "Billing Cycle" from the start date, and the "Billing Timing" decides when each one falls due: Advance on its first day, Arrears on its last. The Billing Periods section of the agreement shows every period with its days, frequency, amount, and invoice.

  • Fixed term. With an "End Date", the whole term is cut at activation.
  • Open-ended. Leave the end date empty and periods roll forward. Every billing pass cuts the periods up to the end of next month (Calendar Month) or 28 days ahead (28 Days), plus one more period after that.
  • Holdover. A unit treated as a rental that is still out after the end date keeps billing at the same rate until it is returned. A unit treated as a sale never bills past its end date: activation cuts its periods only up to the end date, and the daily billing pass never rolls it forward.
  • Return. On a unit treated as a rental, the unbilled period the return falls inside is cut to the return date, and unbilled periods after it are dropped. The billing of a unit treated as a sale is left alone.
NOTE

An early return credits only what was not earned

When a period was already billed (in advance, or in arrears before a late-recorded return) and the unit comes back early, Carbon adds an adjustment period for what was billed less the charge for the days actually used. The used days are priced the way the unit bills. On a Weekly unit billed 2,000 for 28 days and returned after 3, the credit is 1,500: three days is one week. On a Monthly unit returned after 20 days there is no credit, because 20 days is still the month. An adjustment is never positive and never repeated.

The next invoice pass credits the adjustment on a draft credit memo for the agreement, not on an invoice. Post it, then apply it to one of the customer's open invoices from a payment, or pay it back with a "Refund to Customer". The Billing Periods section links each adjustment to its memo. Deleting a draft credit memo returns its adjustments to the next pass. A posted one can be voided until the Revenue Recognition run has recognized it, and the void also returns its adjustments.

Every amount billed is rounded to the agreement currency's decimals: a part month, an early-return credit, and any rate carrying more decimals than the currency.

Invoicing

A daily job invoices every billing period due on or before today (in the company's timezone) and every charge dated on or before today. "Invoice" on an active agreement does the same on demand, for example right after adding a charge.

What happens next follows the invoicing setting: the company default on Settings → Invoicing ("Recurring Invoices", Post and email unless changed), or the agreement's own "Invoicing" property.

  • Draft only: one draft invoice per agreement; a person reviews and posts it.
  • Post: rent is posted automatically.
  • Post and email: rent is posted and emailed to the agreement's contact, with the PDF attached, from the company's name, replying to the receivables email. It needs a contact with an email; without one the invoice is posted and marked "Not sent".
  • Post and send via Stripe: rent is posted and sent through your connected Stripe account, which emails it with a payment link. It needs Stripe connected and the billing customer linked to a Stripe customer; without them the invoice is posted and marked "Not sent".

Under every mode except Draft only, charges and purchase options go on a separate invoice that is always held for review, and so is a rent invoice re-billing a voided invoice. An early-return credit is never on an invoice: it is a draft credit memo in every mode, posted by a person. Sales-rule violations, a missing required contact and posting errors also hold an invoice. Held and unsent invoices carry a yellow Needs Review badge in the Sales Invoices list, which can be filtered on Needs Review. Each agreement's salesperson (or its creator) gets a daily summary of what was posted, emailed and held; "Also notify" on the settings page adds more people.

Each period becomes a read-only Rental line, such as "2026-10-01 – 2026-10-28 · 28 days · 1 × Month rate", taxed at the agreement's "Tax Percent". "Add Charge" records a variable charge against one unit (mileage, damage, cleaning), billed with the first invoice drafted on or after its date. Deleting a draft invoice releases its periods and charges for the next pass.

What posts to the ledger

Posting a rental invoice books receivables and tax as usual. For a unit treated as a rental, the revenue side depends on the line (a unit treated as a sale posts differently):

LinePosts to
Rent for the part already accrued, then for the rest
Early-return credit (on its credit memo)Deferred Revenue for the part not yet recognized, Rental Income for any part that was
ChargeRental Income, immediately

Rent never lands on Rental Income directly. The deferred part is scheduled across the days of its period, and the monthly Revenue Recognition run (Accounting → Revenue Recognition) moves it to Rental Income as the days pass.

The same run accrues rent for days a unit was on rent in the month whose period has no posted invoice yet, the usual Arrears case: Dr Contract Assets, Cr Rental Income. The invoice clears the contract asset when it posts. The period-close task "Recognize revenue for the period" does not pass until those accruals exist.

HEADS UP

Posting needs the Deferred Revenue, Contract Assets, and Rental Income account defaults mapped (seeded as 2160, 1145, and 4060). Voiding a rental invoice returns its periods and charges to unbilled, but once the recognition run has released any of its rent, reverse that recognition journal first.

Deposits

A refundable deposit is a , not revenue. The agreement's Deposits section shows the "Agreed deposit" and the payments made against it. On a Draft or Active agreement, "Record Deposit" opens a customer receipt prefilled with the customer, the agreement, and the agreed amount.

On a "Payment from Customer", "Deposit for" names the sales order or rental agreement the money secures, from that customer's open sales orders and Draft or Active agreements. The receipt's unapplied cash then posts to Customer Prepayments (2110) instead of on-account credit. Applying it to an invoice later moves it from Customer Prepayments to receivables.

A "Refund to Customer" with "Refund deposit for" pays the balance back out of Customer Prepayments. That picker also lists closed agreements and orders that still hold a deposit.

Accounting treatment

Activation decides each unit's accounting treatment under ASC 842. It runs five tests, and a unit that meets any of them is treated as a Sale (a sales-type lease); a unit that meets none is treated as a Rental (an operating lease):

TestMet when
Ownership"Ownership transfers" is ticked on the agreement
Purchase option"Purchase option reasonably certain" is ticked on the agreement
Lease termThe term is at least 75% of the unit's "Economic Life (months)"
Present valueThe present value of the lease payments is at least 90% of the unit's "Fair Value"
Specialized asset"Specialized asset" is ticked on the agreement

The two percentages come from the company's lease policy. The lease payments are the rent, discounted at the agreement's "Discount Rate (%)" in advance or in arrears as its billing timing says, plus the unit's "Guaranteed Residual Value" and the when its exercise is reasonably certain.

The agreement's terms sit in its "Accounting Treatment" section, and each unit's fair value, economic life, and residual values sit in the "Accounting treatment inputs" section of the unit form. The agreement's section shows the two treatments, Rental and Sale, with each test. The unit's section shows that unit's treatment with each test and the present values, marked "Preview" until activation stores the result.

A third treatment, a direct financing lease, is not offered: it needs a third party to guarantee the residual value, which a rental agreement has no input for.

NOTE

An open-ended agreement is always a rental

A sale needs a term to transfer the unit over, so an agreement with no "End Date" treats every unit as a Rental even when a test is met. For the same reason, a reasonably certain purchase option cannot be saved without an end date.

"Override" on a draft agreement's unit sets the treatment, Rental or Sale, by hand with a required "Reason". It needs accounting update permission and is kept by activation in place of the tests' answer. The unit keeps the reason, and when the audit log is enabled the change is also recorded there with the old and new values. Once the agreement is active the treatment is fixed.

A unit that meets the present-value test, before activation.

Sales-type leases

A unit treated as a sale is a sales-type lease. Take a unit rented for 36 months at 1,000 a month in arrears, with a 6% discount rate, a fair value of 38,000, and a 5,000 purchase option that is reasonably certain. At commencement the rent is worth 32,871.02 and the option 4,178.22, so the lease payments are worth 37,049.24, or 97.5% of fair value. The unit is treated as a sale twice over: on the purchase option test and on the present value test.

Commencement

A unit treated as a sale is sold to the lease when the agreement activates, not when it is delivered. Activation refuses such a unit without an end date or a fair value, one whose agreement starts before the month of activation, and one whose term is not a whole number of billing periods:

  • Calendar Month: the agreement starts on the first of a month and ends on the last day of a month.
  • 28 Days: the term is a whole number of 28-day periods.

The rent billed then equals the rent stream the lease was valued on. A start in an earlier month is refused because the commencement posts on the day of activation, while interest is dated from the start: those months would show interest on a net investment the books did not hold yet. The "Activate" confirmation shows any of these problems for each unit before you activate.

When the rent and residual, discounted at the agreement's rate, are worth more than the unit's fair value, the unit's accounting treatment and the "Activate" confirmation warn about it. A lease is valued at the rate implicit in it, the rate that makes the two equal, so a lower rate books lease revenue above what the unit is worth. Raise the "Discount Rate (%)" or check the fair value. Activation is not refused.

With accounting on, activation needs the Net Investment in Leases, Lease Revenue, and Interest Income – Leases account defaults (seeded as 1160, 4070, and 4150). For the example, on a unit that cost 36,000 and has 6,000 of accumulated depreciation, it posts one Lease journal:

AccountDebitCredit
Net Investment in Leases37,049.24
Cost of Goods Sold30,000.00
Accumulated depreciation of the unit's class6,000.00
Lease Revenue37,049.24
The unit's class asset account, at cost36,000.00

Cost of goods sold is the unit's net book value less the present value of any unguaranteed residual. Lease revenue less that cost, 7,049.24 here, is the selling profit stored on the unit. The "Activate" confirmation previews this journal for every unit that would be treated as a sale.

The unit leaves the fleet. Its asset is Disposed by sale with a disposal record at net book value, so the Fleet register reads "Sold" from activation on, while the unit keeps its own status on the agreement. Its serial is consumed into the lease and tagged with the agreement and the customer. With accounting off the unit leaves the fleet and the schedule below is written the same way, but nothing posts.

Interest and invoicing

Activation also writes the lease's interest schedule, one line per payment. In month 1 of the example the balance of 37,049.24 earns 185.25 of interest, the 1,000 payment repays 814.75 of principal, and the balance closes at 36,234.49. The last line absorbs rounding, so the term closes exactly on the purchase option plus residuals: 5,000.00 here.

The monthly Revenue Recognition run posts each line's interest in its period: Dr Net Investment in Leases, Cr Interest Income – Leases. A line that earns no interest has nothing to post: every line of a lease at a zero discount rate, and the last line of an advance-billed lease that closes on zero. The invoices collect the balance:

LinePosts to
RentNet Investment in Leases, with nothing deferred or accrued
Purchase optionNet Investment in Leases
ChargeRental Income, as on a unit treated as a rental

The whole term of a unit treated as a sale is billed from the periods cut at activation, and nothing past the end date is ever billed. It never gets an early-return credit.

End of the term

  • "Sell to Customer" appears in the row menu of a unit treated as a sale that is on rent when the agreement has a purchase option. It bills a purchase option charge dated today and drafts its invoice. Before the agreement's end date the action is refused: exercising earlier is an early termination, which is a manual journal. Posting that invoice marks the unit "Sold"; voiding it puts the unit back on rent. It needs sales create and update and invoicing create permission, and bills the option only once.
  • "Return" on or after the end date asks where the unit goes in "Return To": Rental fleet, as a new fleet asset or Inventory, as finished goods. The closing net investment moves with it (Dr the Rental Fleet class asset account or inventory, Cr Net Investment in Leases), and the fleet option creates a new asset at that cost depreciating from today. A unit returned to inventory keeps that cost: under FIFO or LIFO costing it is later sold or consumed at the closing net investment, not at the cost of the oldest stock.

The closing net investment is read off the lease schedule: the closing balance of the last schedule line dated on or before the return. On or after the end date that is the purchase option plus residuals, 5,000.00 in the example. Interest dated on or before the return stays on the schedule and still posts through recognition runs, which brings Net Investment in Leases to zero. Only schedule lines dated after the return are removed.

When the customer exercises the purchase option, its invoice also clears the rest of the unit's net investment. The option credits Net Investment in Leases, and the difference from the schedule's closing balance settles the account:

Option billedPosts
Below the closing balanceDr Cost of Goods Sold, Cr Net Investment in Leases, for the shortfall
Above the closing balanceDr Net Investment in Leases, Cr Lease Revenue, for the excess

With accounting on, this needs the Cost of Goods Sold or Lease Revenue account default mapped, whichever the settlement uses. Voiding the invoice reverses the settlement with the rest of the line.

HEADS UP

Early termination is a manual journal

Before the end date the net investment still carries unpaid rent, so a unit treated as a sale cannot be returned early and its agreement cannot be cancelled. Book an early termination as a manual journal.

Utilization

Accounting → Reports → Rental Utilization measures the fleet over a date range, per unit and per asset class:

  • Time utilization: on-rent days (delivery to return) divided by the days the unit was in the fleet during the range.
  • Dollar utilization: rental income recognized in the range, annualized, divided by the unit's acquisition cost. Posted charges count as income.

Net investment report

Accounting → Reports → Net Investment in Leases lists every commenced unit treated as a sale still on lease on the "As of" date: its net investment at commencement, the principal collected, the net investment now, the next interest, the payments still to come by fiscal year, and the residual and option expected at the end. A sold unit drops out.

A schedule line's principal counts as collected once the recognition run has posted its interest, or once its date passes for a line that earns no interest. The report ties to the Net Investment in Leases balance when both the run and the rent invoices for the same months are posted. The report needs accounting view permission, and sales view to read the agreements.

Lease policy

Settings → Accounting → Lease Classification holds the company's lease policy. It needs settings update permission.

  • "Major Part of Economic Life (%)": the lease term test's threshold, 75 by default.
  • "Substantially All of Fair Value (%)": the present value test's threshold, 90 by default.
  • "Default Discount Rate (%)": prefills "Discount Rate (%)" on a new agreement, 6 by default.

A change applies to agreements activated afterwards. An active agreement keeps the treatment it stored.