Record a new income or expense entry. What the entry is linked to is inferred from the request:
- provide
reservation_codeto record an entry against a reservation, - provide
property_idto record an entry against a specific property, - provide neither to record an operator-level entry (not tied to any specific property or reservation; only available to the master operator).
reservation_code and property_id are mutually exclusive.
A reservation-linked entry belongs to the reservation as a whole. On a multi-unit reservation (one reservation_code, several stay_codes) the amount is spread across the units in proportion to each unit's room revenue; it cannot be pinned to one unit, and the entry always reads back under the reservation's own code. To book a different amount against each unit — per-unit VAT, owner payout or cleaning fees — create one entry per property with property_id instead; the trade-off is that such an entry is not attached to the reservation.
stay_code is still accepted as a deprecated alias of reservation_code: any stay code is resolved to its reservation, without an error or a warning, so it does not record the entry against that individual stay.
The direction field decides whether the entry is an income or an expense, which in turn determines which dictionaries are used for item_id (GET /income_items or GET /expense_items) and payment_method_id (GET /income_methods or GET /expense_methods). The amount is always provided as a positive number; the sign is derived from direction. The currency accompanies the amount and must be supplied unless a reservation is provided, in which case it is inherited from the reservation order and, if you do provide it, it must match the order's currency.
