Vendor bill payments

Pay vendor bills

Pays outstanding vendor bills, grouped one group per vendor and payment run. Each group moves money out of one bank account by printed check, by an ACH transfer to the vendor, or by recording a payment made outside MagicDoor. Only bills with money still outstanding can be paid, and a group's bills must all belong to its vendor.

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

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 payment method. At least one.

paymentDatestring · date

The date to record for every payment in this request. Left out, today is used.

Response

200 · What happened to each group, split by how the money moved. A 200 does not mean every payment succeeded — check `ach.failed`.

manualobject[]

Groups recorded as paid outside MagicDoor.

printCheckobject[]

Groups paid by printed check. Same shape as manual plus the check that was created.

achobject

Groups paid by ACH, split by outcome.

propertiesobject[]

The properties whose funds the payments came from, resolved.

400 · The request does not add up: a bill appears twice, a payment is zero or negative, a bill does not belong to its group's vendor, the bank account is inactive, a company bill is being paid from an owner trust account or the other way round, or an ACH group names a bank account or payment account that is not connected through Plaid.

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.

409 · A payment is larger than the bill's outstanding amount (`BillAmountExceedsDueException`), or a property involved has no bank account selected (`BankAccountNotSelectedException`).