Authenticate to the Bill.com API and obtain a session ID scoped to the target organization
Sync vendor records by querying the Vendor list endpoint and upserting into your local system using the Bill.com vendor ID as the key
Create a Bill by POSTing to the Bill endpoint with vendor ID, invoice date, due date, and line items referencing chart-of-accounts category IDs
Trigger the approval workflow by updating the Bill's approvalStatus to the appropriate pending-approval enum value
Poll the Bill record or use a webhook to detect when the approvalStatus transitions to approved or denied
On approval, initiate payment via the SendPayment endpoint or mark the bill as paid by recording a payment against it
Known gotchas
Bill.com approval workflows are organization-specific; the valid approval status transitions depend on whether single or multi-step approval is configured, and submitting an invalid transition returns a fault
Vendor bank account data is handled through a separate, restricted API scope; syncing vendor payment details requires explicit permission and cannot be done through the standard vendor sync flow
Bill.com session IDs expire after a period of inactivity; long-running batch jobs must refresh the session before it expires to avoid mid-batch authentication failures
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp