Rental
Hire breaks the main assumption of stock accounting: the goods do not leave for good, they come back — the same machine with the same serial number, only worn. "Ten hammer drills in stock" means nothing here: the customer was given one particular GEN-5000 with the number GEN-001, and that is the one that must return.
So the module tracks not quantities but units: each has its own card, its own status, its own hour meter and its own history. A sale ends with the shipment; a hire only begins there.
Video walkthrough: Equipment hire in ERPJS step by step — request, agreement, hand-over, invoices, return.
The route: the hire cycle
Rental item (the unit's card) ──► Pool transfer: entry into the fleet
↓
Rental order (the customer's request)
↓
Rental agreement (term, price, invoicing schedule, maintenance)
↓
Issue act → status RENTED, meter readings, usage starts counting
↓
Usage records · automatic invoicing per period
↓
Return act → the condition and the decision: out again · repair
- Rental item — the unit's card: serial number, status, meter. It enters the fleet through a pool transfer and leaves the same way — for repair or write-off.
- Rental order — the request: "a generator and a tower from Monday, for two weeks". It moves nothing and posts nothing; its job is to become an agreement.
- Rental agreement — the heart of the module: which items, for how long, at what price, how often to invoice and what about maintenance. It also answers the hire trade's main question — what this machine is busy with and until when.
- Issue act — the moment the machine physically leaves: the items go to
RENTEDand the meters are read. - Return act — the mirror of the issue, but with a decision: what condition the machine came back in and where it goes next — out again (
AVAILABLE) or to repair (MAINTENANCE). A write-off is not an outcome of a return but a decision of its own: a pool transfer with a write-off reason. - Money and maintenance are run by routines: Rental auto-invoicing walks the active agreements and invoices the periods that have fallen due, and the Maintenance check moves units whose service is due to
MAINTENANCE, puts a task in the calendar and, if the settings say so, creates a service order or a work sheet. They do not start by themselves: run them by hand or put them on a schedule, daily for instance.
What is worth understanding
Statuses are changed by documents, not by people. AVAILABLE means free, RENTED means out with a customer; the issue and return acts move the item between them. Reaching for the status field by hand is a sure sign that an act has not been posted — and within half a day the fleet will diverge from reality.
Usage is work, not time. A generator that stood on a site for a week and one that ran non-stop that week are different machines as far as servicing goes. That is why acts record meter readings, and usage records compute the difference. Turn "Use Meters" off in Rental settings and the acts remain while the hours disappear.
The booking calendar lives on resources. So that two managers do not promise the same tower to two customers, every item needs a resource behind it. It is created automatically when a new card is saved — but only if the resource type is set in the settings; that is the commonest reason for "the machine is not in the calendar". Missing resources are filled in by the Sync rental resources service.
Long hires are paid per period, not in one go. The schedule sits in the agreement and the service issues the invoices — doing it by hand is a daily chore and a source of forgotten periods.
The agreement type is only a label for now. OUTGOING is us hiring out, INCOMING is us hiring in. But an INCOMING agreement still gets the same customer invoices from the agreement buttons and the service, and its acts still move our items to RENTED: the module keeps no separate books for hiring in — the lessor's invoice goes into the purchase ledger.
Where to start in a new database
- Rental settings — four fields, and above all the resource type, or the calendar stays empty.
- Rental locations — the yard, the service bay, customers' sites.
- Condition types — so that everyone describes returned machines in the same words.
- Rental items — one card per unit, with a serial number and a meter type.
- Pool transfers — bring the fleet into service; then the first order and agreement.
Common tasks
| You need | Where to go |
|---|---|
| add a new machine | Rental items + Pool transfers |
| take a customer's request | Rental orders |
| put the deal on paper | Rental agreements |
| hand the machine over | Issue acts |
| take the machine back | Return acts |
| see what is out with customers | Rental agreements status |
| invoice the hires | Rental auto-invoicing |
| find machines due for service | Maintenance check |
| send a unit for repair or write it off | Pool transfers — exit from the fleet |
| fix an empty calendar | Sync rental resources |
Everything in the module
Registers — documents: Rental orders · Rental agreements · Issue acts · Return acts · Pool transfers · Usage records
Registers — references: Rental items · Rental locations
Settings: Rental settings · Condition types
Reports: Rental agreements status
Maintenances: Sync rental resources · Rental auto-invoicing · Maintenance check
Where to look next
- Sales ledger — hire invoices and the customer's debt.
- Service orders — repairs and scheduled servicing of the fleet.
- Fixed assets — the same machines seen through depreciation.