Create Transaction

Record a new income or expense entry. What the entry is linked to is inferred from the request:

  • provide reservation_code to record an entry against a reservation,
  • provide property_id to 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.

Body Params
integer

The id of the property to record the entry against. The full amount is assigned to that property. Mutually exclusive with reservation_code. Omit both to record an operator-level entry.

string

The reservation_code (returned by GET /reservations) of the reservation to record the entry against. The entry belongs to the reservation as a whole; on a multi-unit reservation it is spread across the units in proportion to each unit's room revenue, and it cannot be pinned to one unit. Mutually exclusive with property_id. Omit both to record an operator-level entry.

string
deprecated

Deprecated alias of reservation_code, kept for backward compatibility. A stay code is resolved to its reservation, so the entry is recorded against the whole reservation and reads back with that reservation's code — not the stay code you submitted. Use property_id to record an amount against one specific unit.

string
enum
required

Whether this entry represents money received (income) or money spent (expense).

Allowed:
number
required

Absolute amount of the entry. Always provide a positive value; the sign is derived from direction.

string

Currency code that accompanies amount. Required unless reservation_code (or the deprecated stay_code) is provided; reservation-linked entries inherit the currency from the order and reject mismatching values. See Supported Currencies for more information.

integer
required

The id of the item categorization. Must be a valid id from GET /income_items when direction=income, or from GET /expense_items when direction=expense.

integer
required

The id of the payment method. Must be a valid id from GET /income_methods when direction=income, or from GET /expense_methods when direction=expense.

string

When the action took place. Accepts ISO 8601 (YYYY-MM-DDTHH:MM:SSZ). Defaults to the current time. If set to a future time the entry is created with status outstanding; otherwise it is paid.

string

Free-form note (max 500 characters).

Response

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json