---
title: "Create expense by listing"
method: POST
path: "/business-models-api/transactions/expenses-by-listing"
tags: ["Accounting (only available for accounting add-on users)"]
---

# Create expense by listing

`POST /business-models-api/transactions/expenses-by-listing`

Create an expense for the provided listing. This will apply to all owners unless you include a given ownerId.

## Request body

- object
  - `name` string, required — Expense name
  - `category` 'advertising' | 'cleaning' | 'damage_waiver' | 'electricity' | 'furniture_appliances' | 'gas' | 'internet' | 'lock_automation' | 'management' | 'mortgage' | 'pest_control' | 'pool_cleaning' | 'property_taxes' | 'repairs_maintenance' | 'supplies_purchases' | 'other_misc' | 'taxes_paid' | 'telephone' | 'television' | 'trash' | 'water_septic' | 'guest_cleaning' | 'owner_cleaning' | 'channel_commission' | 'payment_charge' | 'pet_fee' | 'startup_fee' | 'fotoshoot' | 'vat' | 'gst' | 'insurance' | 'monitoring_surveillance' | 'garden_maintenance' | 'jacuzzi_maintenance' | 'sauna_maintenance' | 'photoshoot' | 'bank_fees' | 'sta_licensing' | 'security' | 'laundry' | 'listing_fee' | 'gardening' | 'guest_compensation' | 'home_improvement' | 'other_expenses' | 'other_income' | 'other_services_ops_assistants' | 'painting' | 'plumbing' | 'refund' | 'refund_security_deposit' | 'rubbish_removal_service' | 'set_up_fee' | 'strata_rates' | 'security_deposit' — Charge category
  - `categoryId` string — You can get your Category ID [here](/reference/categoriescontroller_getcategories)
  - `description` string, required — Expense description. Max length is 255 characters
  - `amount` number, required — Expense amount, account currency will be used
  - `recognitionDate` string, required — Expense recognition date in the account timezone. ISO 8601 Date format (year-month-day)
  - `vendorId` string, required — You can get your vendor ID [here](/reference/vendorscontroller_getall)
  - `referenceId` string — A unique identifier that serves as a reference to an external object. This ID can be used to link the current resource to a related entity in another system
  - `expenseShare` object — Share expense between PMC and Owner, by default 100% is going to PMC
    - `shareSplit` number, required — A share split is a floating point number that represents the percentage. For example, - `0.5` means that the share is 50% between PMC and Owner. - `0.1` means that the share is 10% Owner and 90% PMC. - `0` means that the charge covered 100% by PMC.
    - `ownerId` string — You can get your owner ID [here](/reference/get_owners)
    - `listingId` string, required — You can get your listing ID [here](/reference/get_listings)
  - `attachments` object[] — Add attachments to expense
    - `url` string, required — URL to CDN where attachment is stored. Max length is 2048 characters
    - `urlThumbnail` string, required — URL to CDN where attachment thumbnail is stored. Max length is 2048 characters
    - `extension` string, required — Attachment file extension. Max length is 10 characters
    - `fileName` string, required — Attachment file name. Max length is 255 characters

## Response `201`

Expense created

## Other responses

- `400` — Input data is not valid
- `403` — Accounting feature flow disabled
- `500` — Unhandled exception. Something went wrong on server

---

[API](https://skmtc.net/guesty/apis/guesty-open-api.md) · [All operations](https://skmtc.net/guesty/apis/guesty-open-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/guesty/guesty-open-api/versions/7c62644070f2/schema)
