Vendor bill settlements

Settle vendor bills

Settles outstanding vendor bills, one group per vendor and method: a printed check, a payment made outside MagicDoor, or an ACH transfer. Unlike the pay endpoint, each group carries its own payment date, that date may not be in the future, and ACH settlement requires the company's centralized payments feature. The response is one flat list, with a per-group success or failure rather than a split by method.

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

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

groupsobject[]required

One group per vendor and method. At least one.

Response

200 · One settlement per group. A 200 does not mean every group succeeded — check each `status`.

settlementsobject[]

One entry per group in the request.

propertiesobject[]

The properties whose funds the settlements came from, resolved.

checksobject[]

The checks created by any printCheck groups, ready to print — including number, amount in words, stub rows and MICR line. Absent when no check was created.

400 · The request does not add up: `groups` or a group's `payments` is empty, an amount is zero or negative, `paymentDate` is in the future, a bill does not belong to its group's vendor, or a required field for the chosen `paymentType` is missing — `paymentMethod` and `externalTransactionId` for `manual`, `paymentMethodId` for `ach`.

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

404 · A vendor, bill, bank account or property in the request does not exist for the caller's company, or a bill has nothing outstanding.

422 · A payment is larger than the bill's outstanding amount, or an `ach` group was sent while centralized payments are not enabled for this company.