DeepLedger
Menu

For developers

Connect Cursor to Bill.com: mcp.json Setup Guide

One mcp.json entry gives Cursor's agent Bill.com tools for every entity you manage through DeepLedger. Switch entities by asking; nothing is ever paid.

Published by DeepLedgerUpdated 7 min read

Cursor connects to Bill.com through DeepLedger's hosted MCP server: one mcp.json entry gives Cursor's agent Bill.com tools for every entity you manage, and you switch between entities by asking. DeepLedger never pays, approves or sends anything in Bill.com. This guide is for finance people and developers who use Cursor to build AP reports, payment-run planning sheets and close working papers across several entities.

What you are connecting

The same address serves QuickBooks Online, Xero (beta), Bill.com, and Stripe for reporting:

https://mcp.deepledger.ai/mcp

Bill.com is an optional app on a DeepLedger company, next to its QuickBooks Online or Xero books. An owner or admin connects it on the company's Connections tab with your own BILL credentials, once per entity. Cursor never handles those credentials.

The Bill.com tools available through DeepLedger:

ToolWhat it does
billcomFetchTransactionsReads bills, vendor credits, payments made and received, invoices and credit memos; runs AP aging
billcomMasterDataReads vendors, customers, accounts and classifications; creates, updates and archives vendors and customers
billcomBillCreates and updates bills and vendor credits, and applies a vendor credit to an unpaid bill; nothing is paid or approved
billcomInvoiceCreates and updates invoices and creates credit memos; nothing is sent

Every Bill.com write tool accepts a dry run, which shows the request without calling BILL.

Why one sign-in for all your entities

A Cursor workspace that serves a client list needs something else: every entity reachable, and a way to keep a script in one entity when that matters.

DeepLedger gives you both from one entry:

  • Every company you can access, each with its own Bill.com organization and its own QuickBooks Online or Xero books.
  • Switching in Agent chat for interactive work across entities.
  • Pinned API keys for jobs that must not move: a One company key cannot switch.
  • Team access. Each person signs in as themselves and reaches only their assigned companies.

Before you start

  • A DeepLedger account with each entity's company connected to QuickBooks Online or Xero, and Bill.com connected on its Connections tab.
  • Cursor desktop. Enterprise admins can restrict which MCP servers and tools are allowed.
  • A rule for client data on disk. Anything the agent writes to your workspace is client data.
  • Pricing: $20 per connection per month for QuickBooks Online, Xero (beta) and Bill.com, and $10 for Stripe, with unlimited users and a 14-day free trial with no credit card. See pricing.

How do I connect Cursor to Bill.com?

  1. Add DeepLedger to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project), keeping existing servers:
{
  "mcpServers": {
    "deepledger": {
      "url": "https://mcp.deepledger.ai/mcp"
    }
  }
}
  1. Open Customize in Cursor's sidebar, enable DeepLedger and sign in with your DeepLedger account.
  2. Check Available Tools lists companies and the billcom* tools. A tool only appears for Bill.com once at least one of your companies has connected it.
  3. In Agent chat, ask:

Using DeepLedger, list my companies with their ledger and connected apps, and tell me which is active.

See Cursor's MCP documentation for the current menus.

API keys for scripts and pinned jobs

Create a key under Settings → API keys → Create key and choose All my companies (can switch) or One company (cannot). Set it as DEEPLEDGER_API_KEY in the environment Cursor starts from:

{
  "mcpServers": {
    "deepledger": {
      "url": "https://mcp.deepledger.ai/mcp",
      "headers": {
        "Authorization": "Bearer ${env:DEEPLEDGER_API_KEY}"
      }
    }
  }
}

The key acts as its creator with that person's access. For a reporting job, have a read-only member create the key so it cannot write.

Switch companies by asking

List my companies that have Bill.com.

Switch to Lakeside Logistics Inc and show unpaid Bill.com bills over 30 days past due.

Now do the same for Lakeside Logistics Canada Ltd.

The companies tool runs list, current and switch (by name or id). The active company is shared with your other AI apps, so a switch in Claude moves Cursor too. If an entity's Bill.com organization has a different country or currency from its books, DeepLedger adds a warning that the data may be another entity's; the Canadian entity above is exactly where that check helps.

Multi-entity prompts to try

Payment-run planning sheet

For each company with Bill.com, list approved, unpaid bills due by Friday and write them to ap/payment-run-2026-11-13.csv with company, vendor, invoice number, due date, amount and currency. This is for planning; do not change anything.

AP aging by entity

Run Bill.com AP aging for each company and write one markdown table per company to ap/aging.md. Never add amounts in different currencies together.

Cutoff check

In Lakeside Logistics Inc, list Bill.com bills with an invoice date in October but created in November. Those may need an accrual in the October books.

Bill.com to ledger tie-out

In Lakeside Logistics Inc, compare total unpaid Bill.com bills with the accounts payable balance in QuickBooks at today's date and list the vendors behind any difference.

Vendor master clean-up

List Bill.com vendors in each company with no activity in 12 months to vendors-to-review.csv. Archive nothing.

Dry-run a draft bill

Switch to Lakeside Logistics Canada Ltd. Do a dry run of a Bill.com bill for the attached freight invoice and show me the request. Create it only after I say yes.

Is it safe to let Cursor work in Bill.com?

  • No money moves. DeepLedger never pays, approves or sends anything in Bill.com, records payments or changes approval workflows.
  • Duplicates are refused. Same vendor, invoice number and amount: refused as a duplicate.
  • Dry runs show exactly what would be sent to BILL.
  • Cursor's approvals. Your run mode and admin policy decide which tool calls ask first. Check the company in each call's arguments.
  • Sensitive fields are removed. DeepLedger removes bank, card and tax ID fields from BILL responses, but the files you write are still client data; keep them out of version control.
  • Revoke by removing the entry, revoking the grant under Settings → Connected apps or the key under Settings → API keys, or disconnecting Bill.com on the company's Connections tab.

Troubleshooting

No billcom* tools. None of your companies has Bill.com connected yet, or Cursor holds an old tool list. Reconnect the server.

"Switch not allowed." The key is a One company key. That is the point of a pinned key.

"Bill.com is not connected" for one company. An owner or admin connects it on that company's Connections tab.

Authentication error with a key. Check DEEPLEDGER_API_KEY is set where Cursor starts and begins with dl_live_.

Rate limited. Narrow date ranges and work one entity at a time.

Frequently asked questions

How do I connect Cursor to Bill.com?

Connect Bill.com to each company in DeepLedger with your own BILL credentials. Then add a deepledger entry with the URL https://mcp.deepledger.ai/mcp to ~/.cursor/mcp.json, enable it on Cursor's Customize page, sign in with your DeepLedger account and ask the agent which company is active.

Can Cursor read Bill.com for several entities from one entry?

Yes. The entry reaches every company your DeepLedger user can access, and each company has its own Bill.com connection. Ask the agent to switch company by name, or to loop through your companies one at a time.

How do I stop a Cursor job from switching to another entity?

Use a DeepLedger API key created for One company. A One company key works only in that company and cannot switch, so a script or long agent run stays in one entity's Bill.com and books.

Can Cursor pay or approve Bill.com bills?

No. DeepLedger never pays, approves or sends anything in Bill.com, never records payments and never changes approval workflows. Cursor can read, create drafts, and update vendors, customers, bills and open invoices.

Can I make a read-only Bill.com connection for a reporting script?

Yes. A DeepLedger API key acts as the person who created it, so a key created by a read-only member can read Bill.com but cannot write. Client tool filters in your code are not a permission; the member's access is.

Every supported app is on AI platforms and integrations; connection prices are on the pricing page.

Ready to get started?

Connect QuickBooks and try your first task with an AI agent.

Create an Account