# Billsby MCP connector

The Billsby connector brings your Billsby customers, subscriptions, invoices, payments, plans, products, add ons and allowances into Claude, ChatGPT, Cursor and any MCP client, so your team can look up accounts, fix billing problems and set up plans by asking in plain language.

Source: https://elaichi.ai/connectors/billsby/

## Facts

| | |
| --- | --- |
| Application | Billsby |
| Category | Subscription Platform |
| AI tools | 53 |
| Authentication | Connects with an API key |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 53 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once Billsby is connected

- List Billsby invoices unpaid for more than 30 days.
- Reattempt payment on last week's failed Billsby invoices.
- Which add-ons do our top 20 customers hold?

## Connect Billsby in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Billsby.
2. Optionally set Share with, then press Connect.
3. Paste a Billsby API key. One person generates a token in Billsby and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Billsby tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect Billsby to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect Billsby to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect Billsby to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Billsby to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Billsby tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Billsby through Elaichi

### Chase and settle unpaid invoices

Finance. Pull up every open Billsby invoice, retry the card on the ones that failed, and mark the ones paid by bank transfer as paid offline, all from one conversation.

### Write off or refund a disputed invoice

Finance. When a customer disputes a charge, find the Billsby invoice, check the payments against it, then issue the refund or write it off with a clear record of who did it.

### Answer a billing question mid-ticket

Support. Look up the Billsby customer by ID while the ticket is open, see their invoices, payments, add ons and allowances, and give the customer a straight answer without switching tabs.

### Catch the customer record up after a call

Support. Update a Billsby customer's contact details or account information right after speaking with them, so the next invoice goes to the right person.

### Set up a new customer on Billsby

Sales. Create the Billsby customer as soon as the deal closes, with the right product and plan, instead of handing a spreadsheet row to billing.

### Launch a new plan or product

Product. Create a Billsby product, add the plans that sit under it, and review the existing add ons and allowances so the new pricing lines up with what is already on offer.

## Frequently asked questions

### How do I connect Billsby to Claude?

Connect Billsby in Elaichi first: Billsby connects with an API key, so you paste a key from your Billsby account into Elaichi and the connection is live. There is no OAuth application to register and no client ID or secret to generate. Then in Claude open Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp as the endpoint. Sign in to Elaichi when Claude asks, and Billsby is ready to use.

### Does Billsby work with ChatGPT and Cursor as well as Claude?

Yes. Once Billsby is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client and the Elaichi Agent. You connect Billsby once and every client picks it up, with the same restrictions and the same audit log.

### What can an AI agent actually do with my Billsby data?

An agent connected to Billsby can list and look up customers, create new ones and update their details, and remove a customer if that is allowed. It can find invoices and payments, refund an invoice, retry a failed payment, mark an invoice as paid offline or write it off, and browse or create products and plans, including add ons and allowances. Because Billsby exposes a lot of actions, short concrete asks such as "refund invoice 4821" work better than long paragraphs.

### Does connecting Billsby give the AI access to my whole billing account?

The connection can do only what the Billsby API key it was set up with is allowed to do, and Elaichi can narrow that further but never widen it. Every person still signs in to Elaichi as themselves, so each call is tied to a named user, and restrictions in Elaichi decide which Billsby actions that user's team can reach at all.

### Can my team share one Billsby connection?

Yes. One person connects Billsby in Elaichi and shares the connection with a team, and nobody else ever sees or handles the Billsby API key. Each teammate still signs in to Elaichi as themselves, so the audit log names the actual person who refunded an invoice or created a plan, not a shared account.

### Can I stop an agent from deleting or changing things in Billsby?

Yes. Restrictions in Elaichi work per action, so you can allow looking up Billsby customers and invoices while blocking deleting customers, issuing refunds or writing off invoices. A blocked action is never shown to the AI client in the first place, so no prompt, however worded, can reach it.

### What happens to a Billsby connection when someone leaves?

Offboarding a person in Elaichi ends their access to Billsby at once, across Claude, ChatGPT, Cursor and every other client they used. If they connected a Billsby account that was shared with a team, it keeps working for everyone else. If you want it gone entirely, disconnecting Billsby once in Elaichi removes it from every client.

## All 53 Billsby tools

Every tool below is callable through https://api.elaichi.ai/mcp once Billsby is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all Billsby customers** (List). List customers by companyDomain, page, and pageSize in Billsby. Returns customerUniqueId, firstName, lastName, email, createdOn, status, phoneNumber, phoneNumberDialCode, phoneNumberDialCodeCountry, and billingAddress with addressLine1, addressLine2, city, country, state, and postCode.
- **Delete a Billsby customer by ID** (Delete). Delete a customer by id in Billsby using company_domain and id.
- **Get single Billsby customer by ID** (Get). Get customer details by id and company_domain in Billsby. Returns companyCurrency, totalAmountPaid, averageAmountPerMonth, cardStatus, customerUniqueId, firstName, lastName, billingAddress, email, additionalEmail, phoneNumberDialCountry, phoneNumberDialCode, phoneNumber, isMarketingConsentGiven, createdOn, and status.
- **Update a Billsby customer by ID** (Update). Update customer details with companyDomain and id in Billsby. Returns customerId, firstName, lastName, billingAddress, email, additionalEmail, phoneNumber, isMarketingConsentGiven, createdOn, and uniqueId.
- **Create a Billsby customer** (Create). Create a customer without a subscription in Billsby using companyDomain. Returns customerUniqueId assigned by Billsby.
- **List all Billsby invoices** (List). Get a list of your company's invoices in Billsby using company_domain. Returns invoiceId, invoiceNumber, customerId, customerUniqueId, customerFullName, createdOn, amount, formattedAmount, status, and currency for each invoice.
- **Get single Billsby invoice by ID** (Get). Get invoice details by invoiceNumber in Billsby. Returns invoiceId, customerEmail, customerFirstName, customerLastName, invoiceNumber, createdOn, formattedAmount, amount, currency, status, subTotal, taxTotal, invoiceType, subscriptionUniqueId, planName, billingPeriodStart, billingPeriodEnd, units, companyName, companyEmail, companyTaxNumber, companyDomain, companyPhoneNumber, companyAddressLine1, companyCity, companyState, companyPostCode, companyCountry, brandingLogo, supportUrl, cardType, cardLast4Digits, cardExpiryMonth, cardExpiryYear, refundableAmount, footerCompanyName, footerAddressLine1, footerAddressCity, footerAddressState, footerAddressPostCode, footerAddressCountryISO3, footerEmailAddress, footerPhoneNumberDialCountry, footerPhoneNumberDialCode, footerPhoneNumber, supportContactHeading, supportContactContent, supportContactSupportUrl, supportContactSupportUrlButtonText, isAdvertEnabled, advertImageUrl, advertLinkToUrl.
- **Billsby invoices refund invoice** (Action). Refund an invoice for a customer in Billsby using company_domain, customer_unique_id, invoiceNumber, and amount. Returns invoiceNumber and the amount left to refund after the operation.
- **Billsby invoices reattempt invoice payment** (Action). Reattempt a failed invoice payment using invoiceNumber and companyDomain in Billsby. Returns success status indicating the payment reattempt result.
- **Billsby invoices invoice paid offline** (Action). Mark an invoice as paid offline in Billsby using company_domain and id. Returns success status indicating the invoice was updated.
- **Billsby invoices invoice written off** (Action). Mark an invoice as written off in Billsby using company_domain and id. Returns success status.
- **List all Billsby payments** (List). Get payment logs for a specific customer payment in Billsby using companyDomain, customerUniqueId, and invoiceNumber. Returns paymentLogId, createdOn, gatewayId, gatewayName, reference, paymentMethod, and status.
- **List all Billsby add ons** (List). Get a list of all add-ons for the company in Billsby. Requires company_domain. Returns addonId, name, description, and hasActiveLinkedPlans for each add-on.
- **Get single Billsby add on by ID** (Get). Get details of a specific add-on in Billsby using companyDomain and id. Returns addonId, name, displayName, description, pricingModelType, featureTags, linked plans with planId and planName, and priceModels with frequency, currency, and tiered pricing.
- **List all Billsby allowances** (List). Get a list of all allowances for the company in Billsby using company_domain. Returns allowanceId, name, description, and hasActiveLinkedPlans for each allowance.
- **Get single Billsby allowance by ID** (Get). Get allowance details by allowanceId in Billsby using companyDomain. Returns allowanceId, name, displayName, description, pricingModelType, counter info, featureTags, linked plans, and priceModels.
- **List all Billsby subscription add ons** (List). Get add-ons for a specific subscription in Billsby using company_domain and id. Returns add-on id, name, isForced (optional or forced), status (active or not), and quantity (units if unit based).
- **List all Billsby subscription allowances** (List). Get allowances for a specific subscription in Billsby using company_domain and id. Returns id, name, isForced, status, usage, and includedUnits for each allowance.
- **List all Billsby products** (List). List products for companyDomain in Billsby. Returns productId, name, visibility, billingCurrency, displayName, description, typeOfProduct, hasPlans, shipping and billing address requirements, marketing consent, numberOfPlans, alertEmail, and custom fields.
- **Get single Billsby product by ID** (Get). Get details of a specific product in Billsby using company_domain and id. Returns productId, name, visibility, billingCurrency, displayName, description, typeOfProduct, hasPlans, numberOfPlans, and various address and consent requirements.
- **Create a Billsby product** (Create). Create a new product for your company in Billsby with company_domain. Returns productId, name, visibility, billingCurrency, displayName, description, typeOfProduct, hasPlans, isShippingAddressRequired, isShippingAddressValidationRequired, isBillingAddressValidationRequired, isAdditionalEmailRequired, isPhoneNumberRequired, isMarketingConsentRequired, numberOfPlans, and alertEmail.
- **Update a Billsby product by ID** (Update). Update product for your company in Billsby using company_domain and id. Returns productId, name, visibility, billingCurrency, displayName, description, typeOfProduct, hasPlans, isShippingAddressRequired, isShippingAddressValidationRequired, isBillingAddressValidationRequired, isAdditionalEmailRequired, isPhoneNumberRequired, isMarketingConsentRequired, numberOfPlans, and alertEmail.
- **List all Billsby plans** (List). Get a list of plans for product_id in Billsby. Returns planId, name, displayName, description, pricingModelType, productId, cycles with cycleId and pricingModel details, visibility, featureTags, redirectUrl, hasActiveSubscription, and alertEmail.
- **Create a Billsby plan** (Create). Create a new plan for a specific product in Billsby using company_domain and product_id. Returns planId, name, description, displayName, pricingModelType, productId, cycles with cycleId and pricing details, visibility, featureTags, redirectUrl, hasActiveSubscription, and alertEmail.
- **Update a Billsby plan by ID** (Update). Update a plan and cycle for your company in Billsby using company_domain, product_id, and id. Returns success status indicating the update result.
- **Create a Billsby cycle** (Create). Create a cycle for a specific plan in Billsby using company_domain, product_id, and plan_id. Returns cycleId, planId, and pricingModel details including frequency, freeTrial, contractTerm, setupFeePrice, freeQuantity, billingDateType, fixedBillingDateDay, and proRateOption.
- **List all Billsby subscriptions** (List). List subscriptions for companyDomain in Billsby. Returns subscriptionId, subscriptionUniqueID, customerId, customerUniqueId, customerEmail, customerFullname, planId, planName, productId, productName, createdOn, status, and isInFreeTrial fields.
- **Get single Billsby subscription by ID** (Get). Get subscription details by id and company_domain in Billsby. Returns fields including customerEmail, customerFullname, planName, productName, status, nextBillingAmountFormatted, nextBillingDate, and totalRevenueFormatted.
- **Create a Billsby subscription** (Create). Create a new subscription and customer in Billsby with companyDomain, firstName, lastName, email, cycleId, Units, address, and cardDetails. Returns customerUniqueId and subscriptionUniqueId.
- **Billsby subscriptions change plan** (Action). Change the plan of a subscription in Billsby using company_domain and id. Requires planId, cycleId, customerUniqueId. Returns the result of the plan change operation.
- **Billsby subscriptions update next renewal date** (Update). Update next renewal date for a subscription in Billsby using company_domain and id. Returns an empty response on success.
- **List all Billsby customer subscriptions** (List). Get a list of subscriptions for a customer in Billsby using companyDomain and customerUniqueId. Returns subscriptionId, productId, productName, planId, planName, status, currency, revenue, nextBilling, createdOn, and units.
- **Update a Billsby customer subscription by ID** (Update). Add a subscription to an existing customer in Billsby using companyDomain and id. Returns customerUniqueId and subscriptionUniqueId. Customer must not have other plans associated.
- **Delete a Billsby customer subscription by ID** (Delete). Cancel a subscription using subscriptionUniqueId and customerUniqueId in Billsby. Returns cancellation result.
- **Get single Billsby counter value by ID** (Get). Get the current usage and last updated timestamp of a specific counter for a subscription in Billsby. Requires company_domain, subscription_unique_id, and id.
- **Update a Billsby counter value by ID** (Update). Update counter value for a subscription in Billsby using companyDomain, subscriptionUniqueId, and counterId. Specify operationType (Increment, Decrement, Set) and value. Note: updates are queued and may not reflect instantly.
- **Create a Billsby one time charge** (Create). Create a one-time charge for a specific customer in Billsby using companyDomain and customerUniqueId. The response returns true if the charge is successfully applied.
- **Update a Billsby clear customer datum by ID** (Update). Clear personal data for a customer in Billsby using companyDomain and id. Returns fields including companyCurrency, totalAmountPaid, averageAmountPerMonth, cardStatus, customerTaxRegNumber, customerUniqueId, firstName, lastName, billingAddress, email, additionalEmail, phoneNumberDialCountry, phoneNumberDialCode, phoneNumber, isMarketingConsentGiven, createdOn, uniqueId, and status with personal details replaced by 'gdpr'.
- **Get single Billsby subscription shipping address by ID** (Get). Get shipping address for a subscription in Billsby using company_domain and id. Returns addressLine1, addressLine2, state, city, country, and postCode fields.
- **Update a Billsby subscription shipping address by ID** (Update). Update subscription shipping address using company_domain and id. Returns success status indicating the update result.
- **Update a Billsby payment card token by ID** (Update). Update payment card token for a customer in Billsby using companyDomain and customerUniqueId. Returns updated payment card details including fullName, paymentCardtoken, expiryMonth, expiryYear, cardType, and last4Digits.
- **Get single Billsby payment details request by ID** (Get). Get a request to update payment details for a customer in Billsby using company_domain and customer_unique_id. Returns a success message if the request was sent successfully.
- **List all Billsby customer feature tags** (List). Get all feature tags associated with a customer in Billsby using company_domain and id. Returns an array of feature tag strings including custom and subscribed plan tags.
- **List all Billsby event logs** (List). Get event logs for a subscription in Billsby using companyDomain and subscriptionUniqueId. Returns subscriptionEventLogId, type, createdOn, and eventData fields in the response.
- **Update a Billsby plan order by ID** (Update). Update the order of plans for product_id in Billsby. Requires company_domain and product_id. Returns success status indicating the plans' new display order.
- **List all Billsby subscription feature tags** (List). Get feature tags for a subscription in Billsby using company_domain and id. Returns subscriptionFeatureTags, the custom feature tags associated with the subscription but not the plan.
- **Create a Billsby subscription feature tag** (Create). Add feature tags to subscriptions using companyDomain and subscriptionUniqueIds. Returns the result of the operation including success status.
- **Delete a Billsby subscription feature tag by ID** (Delete). Delete a custom feature tag by tagname from subscriptions in Billsby. Requires company_domain and id. Optionally specify subsId to target a specific subscription.
- **Get single Billsby subscription feature tag by ID** (Get). Get feature tags split by plan and custom tags for a subscription in Billsby. Requires company_domain and id. Returns planFeatureTags (tags from the plan) and subscriptionFeatureTags (custom tags for the subscription).
- **List all Billsby company credit notes** (List). Get a list of all company credit notes in Billsby using company_domain, page, and pageSize. Returns creditNoteId, creditNoteUniqueId, customerId, customerUniqueId, customerFullName, createdOn, amount, status, and currency.
- **Billsby company credit notes reattempt credit note payment** (Action). Reattempt a failed credit note payment for a specific credit note in Billsby using companyDomain and id. Returns success status indicating the payment reattempt result.
- **List all Billsby customer credit notes** (List). Get customer credit notes for companyDomain and customerUniqueId in Billsby. Returns invoiceId, createdOn, invoiceNumber, amount, currency, linkedTransactionsCount, status, and paymentGatewayDisplayName.
- **List all Billsby customer invoices** (List). Get invoices for a specific customer in Billsby using company_domain and customer_unique_id. Returns invoiceId, createdOn, invoiceNumber, amount, refundableAmount, formattedAmount, currency, linkedTransactionsCount, and status.
