← Plugin catalog
Finance

Otis

Boon IT SRL v0.3.2

Client billing in your chat

Create a free account to save this plugin.

From the developer

Declared capabilities

  • Record billable hours, fixed fees and AI usage per client
  • Time work with a timer and record it at an hourly rate
  • Record expenses and bill them back to clients

Cost & access

This plugin does not sell products or process payments. It records invoices and the payments a user reports.

Declared limitations

  • Moving money is out of scope: Otis records payments, it does not make them.
  • Sending email is out of scope: Otis does not send invoices.
  • An unrelated request should not use Otis.

Onboarding example

Which invoices are still unpaid, and how much is due on each?
Sources & dates

Developer declarations; not independently tested. Listing last checked Nov 6, 2026. Package observed Nov 5, 2026.

View package source →

Description

From the marketplace listing

Otis keeps the billing records of a consultant or small agency: clients, billable hours and timers, expenses, invoices and payments. Your assistant is the interface. Tell it what you worked on, what you spent or who paid, and Otis stores it as structured records. When you are ready to bill, the assistant drafts the invoice from unbilled work. Otis numbers it, calculates totals and tax, and checks it against the business's tax profile before it can be issued. An invoice is issued only after you approve its exact total, and an issued invoice is never rewritten. Payments are recorded against invoices, so the assistant can tell you what is unpaid and what is ready to invoice. Otis records billing facts. It does not send invoices, move money or connect to bank accounts. It runs no AI model of its own: every answer comes from your records and the rules on the server. Sign in with your email; records can be exported in full at any time.

Language: English · Automatically detected from descriptions.

Changes

No changes recorded yet. Follow this plugin to keep track of future changes.

First seen Nov 5, 2026. Last seen Nov 6, 2026.

Files & skills

File archives

Plugin package15 files · 19.1 KBBrowse files →
Skill instructions
add-expense1.49 KB

View saved version →

---
name: add-expense
description: "Record or correct an Otis expense, optionally billable to a client."
---

# Add expense with Otis

Use the connected Otis MCP at https://mcp.otisbase.com/mcp. If its tools are unavailable, explain connection and email-code sign-in in the browser; never ask for codes in chat or simulate a successful action.
First find the business with businesses_list and pass its business_id on scoped calls. Read business_get for missing setup.
Read otis://docs/workflows when available. Ask only for missing facts. Never invent prices, payments, tax treatment or consent. Monetary values use integer currency minor units. Reuse a stable request_id for identical write retries; follow structured blockers instead of guessing.
Workflow tools: clients_list, expenses_list, expense_record.

1. Collect vendor, category, description, date and cost. Ask whether the expense belongs to a client and whether it should be billable; cost and billable amount are separate facts. Inspect prior records if this might be an edit or duplicate.
2. Use expense_record with expense_id for an edit. A billable_amount_minor creates or updates one linked billable atomically; do not call billable_record for it again. Preserve required existing values during replacement. Report what was saved; references are links, not uploaded attachments.

Stay within the requested workflow. A command starts guided work; it does not approve unspecified writes or invoice issuance. Show the recorded result and any remaining steps.
business-settings1.48 KB

View saved version →

---
name: business-settings
description: "Review or set up Otis business identity, currency and invoice preferences; only owners can save changes."
---

# Business settings with Otis

Use the connected Otis MCP at https://mcp.otisbase.com/mcp. If its tools are unavailable, explain connection and email-code sign-in in the browser; never ask for codes in chat or simulate a successful action.
First find the business with businesses_list and pass its business_id on scoped calls. Read business_get for missing setup.
Read otis://docs/workflows when available. Ask only for missing facts. Never invent prices, payments, tax treatment or consent. Monetary values use integer currency minor units. Reuse a stable request_id for identical write retries; follow structured blockers instead of guessing.
Workflow tools: business_get, business_set.

1. Read business_get and ask only for missing or explicitly changed facts: business name, currency, billing address and invoice preferences. Show the profile before saving with business_set. Preserve existing values; currency locks after financial records and the starting number locks after first issuance. Only owners can save changes.
2. Keep tax registration and treatment in the separate tax-settings workflow. Do not infer tax facts from currency or imply business setup completes tax setup.

Stay within the requested workflow. A command starts guided work; it does not approve unspecified writes or invoice issuance. Show the recorded result and any remaining steps.
clients1.42 KB

View saved version →

---
name: clients
description: "Find Otis clients and maintain confirmed billing and tax details."
---

# Clients with Otis

Use the connected Otis MCP at https://mcp.otisbase.com/mcp. If its tools are unavailable, explain connection and email-code sign-in in the browser; never ask for codes in chat or simulate a successful action.
First find the business with businesses_list and pass its business_id on scoped calls. Read business_get for missing setup.
Read otis://docs/workflows when available. Ask only for missing facts. Never invent prices, payments, tax treatment or consent. Monetary values use integer currency minor units. Reuse a stable request_id for identical write retries; follow structured blockers instead of guessing.
Workflow tools: clients_list, client_save.

1. Clarify whether the user wants to find, add or edit a client. List and paginate first to identify existing matches; resolve ambiguity before writing.
2. For a save, collect confirmed billing details and relevant country/region, business/consumer status, tax IDs and evidence. Use client_id for an edit and retain existing fields: client_save replaces details. Never infer country or tax status from currency. Explain that edits do not rewrite issued invoices and can make drafts stale.

Stay within the requested workflow. A command starts guided work; it does not approve unspecified writes or invoice issuance. Show the recorded result and any remaining steps.
create-invoice1.99 KB

View saved version →

---
name: create-invoice
description: "Prepare an Otis invoice from available work, review tax and discounts, and issue only after exact-draft approval."
---

# Create invoice with Otis

Use the connected Otis MCP at https://mcp.otisbase.com/mcp. If its tools are unavailable, explain connection and email-code sign-in in the browser; never ask for codes in chat or simulate a successful action.
First find the business with businesses_list and pass its business_id on scoped calls. Read business_get for missing setup.
Read otis://docs/workflows when available. Ask only for missing facts. Never invent prices, payments, tax treatment or consent. Monetary values use integer currency minor units. Reuse a stable request_id for identical write retries; follow structured blockers instead of guessing.
Workflow tools: clients_list, client_save, billables_list, billable_record, invoice_get, invoice_draft, invoice_check, invoice_issue, invoice_cancel_draft.

1. Identify the client and requested work or existing draft. Read saved client details and billables, following pagination and remaining_minor rather than only state=unbilled. Ask for missing client, price, dates, partial amounts, discounts and tax facts. Record new work only if the user requests it; never create duplicate source items.
2. Use invoice_draft for a new draft, or invoice_get for an existing one. Resolve invoice_check blockers; changed source facts may require cancelling and recreating the draft. Do not silently cancel another draft or reallocate its work.
3. Show the exact draft contents, tax treatment, discounts and total. A create-invoice command is not approval to issue. Only after the user approves that specific draft and total, call invoice_issue with confirmed=true and expected_total_minor. Generate any document from the returned snapshot; issuance does not send it.

Stay within the requested workflow. A command starts guided work; it does not approve unspecified writes or invoice issuance. Show the recorded result and any remaining steps.
export1.43 KB

View saved version →

---
name: export
description: "Export Otis records or audit history as paginated JSON using current read permissions."
---

# Export with Otis

Use the connected Otis MCP at https://mcp.otisbase.com/mcp. If its tools are unavailable, explain connection and email-code sign-in in the browser; never ask for codes in chat or simulate a successful action.
First find the business with businesses_list and pass its business_id on scoped calls. Read business_get for missing setup.
Read otis://docs/workflows when available. Ask only for missing facts. Never invent prices, payments, tax treatment or consent. Monetary values use integer currency minor units. Reuse a stable request_id for identical write retries; follow structured blockers instead of guessing.
Workflow tools: records_export.

1. Ask which record kinds to export: business, client, billable, expense, invoice, payment or audit. Use records_export for each selected kind and follow next_offset until null; do not silently present one page as the whole export.
2. Keep the selected business clear and preserve recorded values and currency. State which kinds were exported and any incomplete pages. Exports are not transactional backups and cannot be imported/restored by Otis. Viewers may export records they can access.

Stay within the requested workflow. A command starts guided work; it does not approve unspecified writes or invoice issuance. Show the recorded result and any remaining steps.
invoices1.48 KB

View saved version →

---
name: invoices
description: "Review Otis drafts, issued invoices and recorded balances, or cancel a specifically requested draft."
---

# Invoices with Otis

Use the connected Otis MCP at https://mcp.otisbase.com/mcp. If its tools are unavailable, explain connection and email-code sign-in in the browser; never ask for codes in chat or simulate a successful action.
First find the business with businesses_list and pass its business_id on scoped calls. Read business_get for missing setup.
Read otis://docs/workflows when available. Ask only for missing facts. Never invent prices, payments, tax treatment or consent. Monetary values use integer currency minor units. Reuse a stable request_id for identical write retries; follow structured blockers instead of guessing.
Workflow tools: invoices_list, invoice_get, invoice_check, invoice_cancel_draft.

1. Read and paginate invoices, then inspect the selected invoice or its readiness with invoice_get and invoice_check. Balances reflect reported payments, not verified bank activity.
2. Cancel only a specifically requested unissued draft with its reason; explain released reservations. Issued corrections and voids are unavailable. Creating or issuing an invoice uses the create-invoice workflow with separate exact-draft approval. Reporting a payment uses the payments workflow.

Stay within the requested workflow. A command starts guided work; it does not approve unspecified writes or invoice issuance. Show the recorded result and any remaining steps.
menu1.54 KB

View saved version →

---
name: menu
description: "Show the Otis menu and route a user to an independent business workflow when they ask for /otis or need help choosing a task."
---

# Otis menu

Use when the user asks for /otis, the Otis menu, or help choosing an Otis task. If a task is already explicit, use its workflow without a menu detour.

Call the connected Otis otis_menu tool and show its numbered choices. Wait for a number, an action name or a natural-language task. Showing the menu does not authorize a write or invoice issuance.

If Otis is not connected, label this as a navigation preview, show the choices below, and explain how to connect the bundled remote MCP. Sign-in uses an email code in the browser; never ask for the code in chat. Do not invent business records or imply the user is authenticated.

1. Create invoice — workflow: create-invoice
2. Record work — workflow: record-work
3. Add expense — workflow: add-expense
4. Clients — workflow: clients
5. Invoices — workflow: invoices
6. Payments — workflow: payments
7. Business settings — workflow: business-settings
8. Tax settings — workflow: tax-settings
9. Export — workflow: export

After the user selects a task, use its matching workflow skill or the mapped steps returned by otis_menu. Discover the business and current permissions before accessing records. The public demo is fictional and read-only; these packaged workflow skills target the private connection.

Use the host's actual skill picker or namespace. Do not promise that /otis or a hyphenated alias is installed universally.
payments1.5 KB

View saved version →

---
name: payments
description: "Review or record reported partial/full payments for issued Otis invoices."
---

# Payments with Otis

Use the connected Otis MCP at https://mcp.otisbase.com/mcp. If its tools are unavailable, explain connection and email-code sign-in in the browser; never ask for codes in chat or simulate a successful action.
First find the business with businesses_list and pass its business_id on scoped calls. Read business_get for missing setup.
Read otis://docs/workflows when available. Ask only for missing facts. Never invent prices, payments, tax treatment or consent. Monetary values use integer currency minor units. Reuse a stable request_id for identical write retries; follow structured blockers instead of guessing.
Workflow tools: invoices_list, invoice_get, payments_list, payment_record.

1. Clarify whether the user wants to review payments or record one. Read the relevant invoice and payments; paginate results. These are reported facts, not verified bank activity.
2. Before payment_record, establish the issued invoice, actual received amount/date and stable business-wide reference. Reuse that reference for the same payment. Resolve mismatches or overpayments rather than splitting them to hide a conflict. Payment reversals and unapplied credits are unavailable. Return the recorded payment and updated invoice balance.

Stay within the requested workflow. A command starts guided work; it does not approve unspecified writes or invoice issuance. Show the recorded result and any remaining steps.
record-work1.94 KB

View saved version →

---
name: record-work
description: "Record or correct Otis billable time, services or reported AI usage, or start and stop a timer that tracks work time."
---

# Record work with Otis

Use the connected Otis MCP at https://mcp.otisbase.com/mcp. If its tools are unavailable, explain connection and email-code sign-in in the browser; never ask for codes in chat or simulate a successful action.
First find the business with businesses_list and pass its business_id on scoped calls. Read business_get for missing setup.
Read otis://docs/workflows when available. Ask only for missing facts. Never invent prices, payments, tax treatment or consent. Monetary values use integer currency minor units. Reuse a stable request_id for identical write retries; follow structured blockers instead of guessing.
Workflow tools: clients_list, client_save, billables_list, billable_record, timer_start, timer_stop, timers_list.

1. When the user is starting work now, use timer_start for the client and task; when they say they stopped, use timers_list to find the running timer and timer_stop. Pass a reported time only if the user gives one. Ask for the hourly rate if it is not known, and pass rate_minor so the tracked hours are recorded as billable work. Several timers can run; never stop one the user did not mean.
2. Identify the client, description, kind, quantity/unit, supplied amount and optional rate/cost. AI usage must be explicitly measured or estimated; do not measure or price it automatically. Inspect existing records when the request might be an edit or duplicate.
3. Create with billable_record, or preserve item_id when correcting an unreserved, uninvoiced item. Do not edit linked expenses through this tool. Return the recorded facts and remaining billable amount; saving work does not invoice it.

Stay within the requested workflow. A command starts guided work; it does not approve unspecified writes or invoice issuance. Show the recorded result and any remaining steps.
tax-settings1.5 KB

View saved version →

---
name: tax-settings
description: "Review Otis tax guidance and confirmed registrations; only owners can save a tax profile."
---

# Tax settings with Otis

Use the connected Otis MCP at https://mcp.otisbase.com/mcp. If its tools are unavailable, explain connection and email-code sign-in in the browser; never ask for codes in chat or simulate a successful action.
First find the business with businesses_list and pass its business_id on scoped calls. Read business_get for missing setup.
Read otis://docs/workflows when available. Ask only for missing facts. Never invent prices, payments, tax treatment or consent. Monetary values use integer currency minor units. Reuse a stable request_id for identical write retries; follow structured blockers instead of guessing.
Workflow tools: business_get, tax_guide, tax_profile_set.

1. Read the saved business tax profile and tax_guide for the confirmed country. Establish seller location, registrations, customer location/status, service and dates as relevant; do not infer these from currency.
2. For a requested change, confirm registration details, effective/review dates and notes before tax_profile_set. Unknown remains unknown; never default to not registered or zero tax. Only owners can save tax settings. Country guidance and field validation do not certify legal liability or select an automatic rate.

Stay within the requested workflow. A command starts guided work; it does not approve unspecified writes or invoice issuance. Show the recorded result and any remaining steps.

Release notes

First release in the OpenAI plugin directory.

Declared in the saved package. Remote tools may change independently.

Package details

Publisher declarations from the archived package. These are separate from our research and the live service's terms.

Package license
MIT
Package author
Boon IT SRL
Review scenarios
5 positive · 3 negativeScenario counts, not test results.

Declared capabilities

  • Record billable hours, fixed fees and AI usage per client
  • Time work with a timer and record it at an hourly rate
  • Record expenses and bill them back to clients
  • Draft, check and issue invoices after you approve the exact total
  • Record payments and see what is unpaid or ready to invoice
  • Export all business records

Package observed Nov 5, 2026.

Technical details
First seen
Nov 5, 2026 · 12:00 UTC
Last seen
Nov 6, 2026 · 06:00 UTC
Collection status
Collected

plugin_asdk_app_6adc8b3c2cc48191a94bb373698a5575

Download plugin data (JSON)