Recurring vendor bills

Create a recurring vendor bill

Sets up a schedule that raises a vendor bill for a property at a fixed frequency, from a start date until an optional end date.

POST
https://api.portal.magicdoor.com/company-app/vendors/recurring-bills

Authorization

Authorizationstringrequired
Bearer token — Send your API token in the Authorization header as Bearer <token>. Requests without a valid token are rejected with 401 Unauthorized.

Body

application/json

vendorIdstringrequired

The vendor each raised bill will be owed to. Must belong to the caller's company and be active.

propertyIdstringrequired

The property each raised bill is charged to. Must belong to the caller's company and be active.

lineItemsobject[]required

What each raised bill will be made up of. At least one line.

chargeFrequencyenum<string>required

How often to raise a bill. monthly2XSplit raises it twice a month.

monthlyweeklydailymonthly2XSplitquarterlyyearly
companyChargebooleanrequired

true charges each raised bill to the management company's own books instead of the property's.

default: false
unitIdstring

The unit each raised bill is charged to. Must belong to the property and be active.

leaseIdstring

The lease each raised bill is charged to. Must belong to the caller's company.

referencestring

A reference carried onto each raised bill. 1 to 100 characters.

memostring

A note carried onto each raised bill. 1 to 1000 characters.

dueDaysinteger

How many days after a bill is raised it falls due. Between 0 and 365.

startsFromstring · daterequired

The first day a bill can be raised.

endsstring · date

The last day a bill can be raised. Must be later than startsFrom. Leave it out for a schedule that runs indefinitely.

Response

200 · The schedule that was created.

idstring

The recurring bill. A Snowflake id sent as a decimal string.

vendorIdstring

The vendor each raised bill will be owed to.

propertyIdstring

The property each raised bill is charged to.

unitIdstring

The unit each raised bill is charged to. Absent when the bill is not unit-specific.

leaseIdstring

The lease each raised bill is charged to. Absent when the bill is not lease-specific.

referencestring

A reference carried onto each raised bill. Absent when none was set.

memostring

A note carried onto each raised bill. Absent when none was set.

companyChargeboolean

true when each raised bill is owed by the management company out of its own money; false when it is a property expense.

dueDaysinteger

How many days after a bill is raised it falls due. Absent when no offset was set.

lineItemsobject[]

What each raised bill will be made up of, in the order given.

chargeFrequencyenum<string>

How often a bill is raised. monthly2XSplit raises it twice a month.

monthlyweeklydailymonthly2XSplitquarterlyyearly
startsFromstring · date

The first day a bill can be raised.

endsstring · date

The last day a bill can be raised. Absent when the schedule runs indefinitely.

activeboolean

false once the schedule has been stopped.

createdstring · date-time

When the schedule was created, in the company's timezone.

updatedstring · date-time

When the schedule last changed, in the company's timezone.

400 · A required property is missing, `lineItems` is empty, an amount is below 0.01, `dueDays` is outside 0–365, or `ends` is not after `startsFrom`.

401 · The access token is missing, expired, or does not belong to a property manager.

404 · The vendor, property, unit or lease does not exist for the caller's company, or the unit does not belong to the property.

422 · The vendor, property or unit is deactivated.