Checking Payments

by wingspanHQ01f2b0806fc9No licenseListed Oct 8, 2026Updated Oct 8, 2026

Look up what a company owes its contractors through Wingspan and what has happened to a particular payment. Use for "what do we owe", "what did we pay last month", "how much is outstanding", "what is awaiting approval", "show me [name]'s payments", "what happened to this payment", "why has this not been paid yet", "has this been paid", "is this payment disputed".

Instructions only

Checking payments

The shared rules for every call — ids, paging, previewing a write, what the tools cannot do — are in the using-wingspan-tools skill. Apply them here.

A payable is one payment owed to one contractor — the row on the Payables screen in the Wingspan app. A contractor is a person or business the company pays. An engagement is the named working arrangement a payment is filed under.

Two tools cover most of this: search_payables lists and filters, get_payable reads one payment in full. Every row a search returns carries a payableId, and that is the id get_payable takes. A third, get_payroll_preview, reads what the next payroll run would pay as things stand today.

Listing and searching

search_payables with no arguments lists every payment except cancelled ones, 25 to a page.

ArgumentWhat it does
queryFree-text search over the contractor's name, email and company, plus the invoice number. At least two characters; a full email address matches exactly.
statusWhich screen view to read: all, draft, toApprove, scheduled, paid, cancelled.
contractorOne contractor's payments only — their contractorId, your external id for them, or their email.
referenceIdThe one payment carrying your own id for it, set when it was created. No two payables share one.
dueDateFrom, dueDateToBound the due date, as YYYY-MM-DD, inclusive.
paidDateFrom, paidDateToBound the date paid, as YYYY-MM-DD, inclusive.
sortBydueDate, createdAt, updatedAt, openedAt, paidAt, amount or scheduledPaymentDate. One field per call.
sortDirectionasc or desc. Defaults to desc. Refused without sortBy.
limitRows per page, 1 to 100. Defaults to 25.
pageTokenContinue a previous page. Pass the previous result's pagination.nextPageArgs back unchanged.
accountIdRead one child account of an organization instead of the signed-in account. Only when the user names one; who_am_i lists them.

There are no other filters. Do not invent one.

What each status view holds:

  • all — every payment except cancelled ones.
  • draft — created but not yet opened, so the contractor cannot see it.
  • toApprove — open and waiting for someone at the company to approve it.
  • scheduled — approved and waiting for a payroll run.
  • paid — paid or in transit only. Payments recorded off-platform, partially paid or refunded are not in this view; use all for a complete history.
  • cancelled — cancelled. Hidden everywhere else, which is why totals stay honest.

Every view, all included, also leaves out two kinds of row: the batch-level total a payroll run creates, which would double-count against the individual payments, and personal payment-link invoices. Neither can be read by id either.

Totals

A list normally carries a summary with a count and an amount total, covering every payment matching the filters, not only this page. Use it for "how much do we owe" instead of adding up a page, and say which filters it covers. When summary is null the totals were unavailable — say so rather than summing the page and presenting it as the total.

A correct total over the wrong set of payments is still the wrong answer, so pick the view before reading the summary:

  • "What do we owe?" means approved-and-unpaid plus open-and-unapproved. Read scheduled (approved, waiting for a payroll run) and toApprove (open, waiting for approval) separately and report both figures with their names. Do not read all: it includes paid, in-transit, off-platform and refunded payments.
  • Drafts are not owed yet. draft payments are invisible to the contractor and not scheduled. Report them as a separate line if the user asks what is in the pipeline, never inside the owed figure.
  • Partial payments are not separable here. A partially paid payable shows its full amount in whichever view holds it; the summary has no remaining-balance figure. If the roster has partially paid payables, say the owed figure may overstate what remains, and point to the Wingspan app for the exact balance.
  • paid is history, not liability. It answers "what have we paid", and only for payments paid or in transit; off-platform and refunded records sit under all.

The words on a row

Each row's status is the wording the Wingspan app shows, not a raw code, so it can be read to the user as-is.

Row saysMeans
DraftCreated and not yet opened.
Action requiredWaiting on someone at the company: approval, a dispute the contractor raised, or something the contractor resubmitted.
Awaiting contractorOpen, but the contractor was not eligible for payment when it came up.
ScheduledApproved and queued for a future payroll.
PaidPaid, or the payment is in route.
RefundedRefunded, in whole or in part.
Off-platformA historical record of a payment made outside Wingspan.
CancelledCancelled.

One more value can appear on a row: Unknown, when the payment is in a state the row wording has no pill for — a returned deposit is the common case. Read get_payable for it; the detail headline names it, Returned. The money did not land, the payment stays on the payroll run it was part of, and it is final for that payment: a replacement is a new payment, created in the Wingspan app.

Approval is a separate field from status. A payment can be open and unapproved, or open and approved; the status wording above folds that in, but they are two different things underneath. Approving happens in the app.

One payment in full

get_payable returns what the Payables detail panel shows:

  • The panel headline and the row's status wording.
  • Any alert on it. Two exist: the contractor has not finished setting up digital payments, and the contractor disputed the invoice — their reason is in the activity timeline.
  • The amount, with the breakdown from gross to net and a named row per deduction.
  • The line items, the due date, whether the due date was rescheduled, and the original date if it was.
  • How it was paid, the attachments, any notes and purchase-order or project labels.
  • activity — the full timeline of everything that has happened to it, newest first.

Quirks of the timeline are worth knowing before you conclude something did not happen. At most two views of the invoice link are ever listed — the first, and the first more than an hour after it — so a short timeline is not evidence the contractor stopped looking. Views after the payment was paid are dropped. A "due today" reminder sent on the same day the payment was opened is suppressed.

What these tools cannot see

Where the money is in the banking system. No payout or bank-transfer record is read, matching what the Payables screen itself shows. The furthest either tool goes is the date the deposit was confirmed. A confirmed deposit means the sending bank finished processing, not that the money is available or final — a payment can still come back afterwards, and that shows up on the payment itself, where get_payable names the state Returned. A question like "has the bank transfer landed" or "why did the transfer fail" belongs in the Wingspan app, or with Wingspan support.

Past payroll runs and funding sources. A payroll run is the batch that funds and pays a set of approved payments, and the funding source is the account Wingspan debits to fund it. get_payroll_preview reads the next run before it goes out — when it processes, how much moves, what is funded but held on eligibility, and what gets left behind. Runs that have already happened, and the account behind any of them, are not readable here. When a user asks why a scheduled batch has not gone out, or which account funded it, send them to the Payroll screens in the app.

What the preview is worth predicting with: nothing. It is today's data, not a forecast. It reports what the next run would pay if it went out against the records as they stand right now, and it models none of what happens between now and then — a contractor finishing a requirement and becoming eligible, someone opening or approving a draft, an amount edited, a payment cancelled, a new payable created. Any of those changes the answer. Report it as "as things stand today" and never as what the run will pay.

Why is this not paid yet

Work down this list.

  1. get_payable. If the status is Draft, it was never opened. If it says action required, the secondary line on the row says which of the three it is — approval, a dispute or a resubmission. If it says awaiting contractor, the contractor was not eligible when the payment came up.
  2. If the answer points at the contractor, get_contractor with the contractorId on the payment. Its alert gives the single reason — invited and not signed up, tax information not shared, archived, payments eligibility pending, an outstanding requirement, or one expired or expiring. The finding-contractors skill lists all eight outcomes.
  3. If the payment is paid but the contractor says the money has not arrived, that is the banking question above: Wingspan app, or Wingspan support.

"Awaiting contractor" is not a reason to cancel anything. It means the contractor was not eligible at the moment payment came up. Fix the contractor and the payment carries on. Cancelling and recreating loses the record and, because a payment's engagement is fixed when it is created, is sometimes unrecoverable.

Finish these in the Wingspan app

  • Approving or unapproving a payment, rescheduling it, cancelling it, and paying it. Releasing a draft is not app work — that is open_payables.
  • Starting a payroll run, funding sources, invoices, payment splits and accounting integrations.
  • Resolving a dispute with a contractor.
  • Anything about a bank transfer after Wingspan has sent the payment.

Source and attribution

Source:wingspanHQ/mcp-claude-plugininskills/checking-paymentsat commit01f2b08

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal

More from wingspanHQ/mcp-claude-plugin

Using Wingspan Tools

wingspanHQ

The shared rules every Wingspan tool call follows: ids, paging, previewing a write, and what the tools cannot do. Load this before any Wingspan tool call, and whenever someone asks about the people they pay through Wingspan, what they owe, onboarding paperwork, invites, invoices or payments — for example "who do we pay", "what do we owe this month", "is this contractor ready to be paid", "add these contractors", "log a payment", "why has this not been paid".

Awaiting classificationOct 8, 2026

Troubleshooting Connection

wingspanHQ

Diagnose Wingspan connection and permission problems. Use when a Wingspan tool returns an authentication or permission error, when the tools report nothing at all, when an answer looks like it came from the wrong company or the wrong account, or when someone asks "am I connected to Wingspan", "is my login still valid", "why can't Claude see my contractors", "why is this empty", "these are not my contractors".

Awaiting classificationOct 8, 2026

Outstanding

wingspanHQ

List the contractors who have one named onboarding requirement outstanding, such as a W-9, a certificate of insurance or a background check. Run it with the requirement's name. It reports who has not finished the requirement; it does not confirm whose payments are blocked by it.

Awaiting classificationOct 8, 2026

Onboarding Contractors

wingspanHQ

Add contractors to Wingspan, assign them to an existing engagement and send their invites. Use for "add these contractors", "onboard these people", "invite [name] to Wingspan", "create contractor records", "set up these five contractors", "invite this roster", "add them to the [engagement] engagement". Writes to the company's Wingspan account, so it always previews first.

Awaiting classificationOct 8, 2026

Finding Contractors

wingspanHQ

Find, filter and inspect the contractors a company pays through Wingspan, including who still has onboarding paperwork outstanding. Use for "who do we pay", "list our contractors", "find [name]", "who has not signed up yet", "who is missing their W-9", "who is blocked by the certificate of insurance", "can we pay [name]", "what is [name]'s status", "who is on this engagement".

Awaiting classificationOct 8, 2026

Creating Draft Payables

wingspanHQ

Create draft payables — new payment obligations to contractors — in Wingspan. Nothing is paid. Use for "log a payment", "pay [name] $500 for [work]", "record these payments", "add these payments to the [engagement] engagement", "create payables", "log 12 hours at $85 for [name]", "bill this month's work". Writes to the company's Wingspan account, so it always previews first.

Awaiting classificationOct 8, 2026