accountsosAI-native accounting for UK micro-businesses. Use when the user wants to track transactions, manage VAT, check deadlines, or do any bookkeeping for a UK limited company.
Install via ClawdBot CLI:
clawdbot install paulgosnell/accountsosAI-native accounting. Your agent runs the books so your human doesn't have to.
Base URL: https://accounts-os.com/api/mcp
AccountsOS is accounting infrastructure for AI agents. Built for UK micro-businesses (Ltd companies, sole traders):
No spreadsheets. No manual entry. Just tell your agent what happened.
Option A: Self-Signup (recommended) โ Create an account yourself with one request:
curl -X POST https://accounts-os.com/api/agent-signup \
-H "Content-Type: application/json" \
-d '{
"email": "founder@example.com",
"company_name": "Acme Ltd",
"full_name": "Jane Smith"
}'
Response includes api_key for immediate use. Your human gets a welcome email to claim the account.
Option B: Manual โ Your human signs up at https://accounts-os.com and generates an API key from the dashboard.
export ACCOUNTSOS_API_KEY="sk_live_..."
# Get recent transactions
curl -X POST https://accounts-os.com/api/mcp \
-H "Authorization: Bearer $ACCOUNTSOS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"type": "tool", "name": "get_transactions", "arguments": {"limit": 10}}'
curl -X POST https://accounts-os.com/api/mcp \
-H "Authorization: Bearer $ACCOUNTSOS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "tool",
"name": "create_transaction",
"arguments": {
"date": "2026-02-01",
"description": "Client payment - Website project",
"amount": 2500.00,
"direction": "in"
}
}'
curl -X POST https://accounts-os.com/api/mcp \
-H "Authorization: Bearer $ACCOUNTSOS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"type": "tool", "name": "get_vat_summary", "arguments": {}}'
AccountsOS uses an MCP-style API. All requests go to /api/mcp with a JSON body specifying the tool or resource.
Authorization: Bearer your_api_key
Content-Type: application/json
Get transactions:
{
"type": "tool",
"name": "get_transactions",
"arguments": {
"from_date": "2026-01-01",
"to_date": "2026-01-31",
"direction": "in",
"limit": 50
}
}
Get balance:
{
"type": "tool",
"name": "get_balance",
"arguments": {"account_id": "optional"}
}
Get VAT summary:
{
"type": "tool",
"name": "get_vat_summary",
"arguments": {"quarter": "Q4 2025"}
}
Get deadlines:
{
"type": "tool",
"name": "get_deadlines",
"arguments": {"include_completed": false}
}
Create transaction:
{
"type": "tool",
"name": "create_transaction",
"arguments": {
"date": "2026-02-01",
"description": "AWS hosting - January",
"amount": 127.50,
"direction": "out",
"category_id": "optional",
"vat_rate": 20,
"notes": "Monthly infrastructure"
}
}
Directions: in (income) or out (expense)
Update transaction:
{
"type": "tool",
"name": "update_transaction",
"arguments": {
"transaction_id": "uuid",
"category_id": "new_category",
"notes": "Updated notes"
}
}
AI categorization:
{
"type": "tool",
"name": "categorize_transaction",
"arguments": {"transaction_id": "uuid"}
}
Returns suggested category based on description and historical patterns.
List categories:
{
"type": "tool",
"name": "list_categories",
"arguments": {"type": "expense"}
}
Types: income, expense, asset, liability, equity
Create deadline:
{
"type": "tool",
"name": "create_deadline",
"arguments": {
"type": "VAT Return",
"due_date": "2026-02-07",
"notes": "Q4 2025 VAT"
}
}
Search documents:
{
"type": "tool",
"name": "search_documents",
"arguments": {
"query": "invoice",
"type": "receipt"
}
}
Upload document:
{
"type": "tool",
"name": "upload_document",
"arguments": {
"file_name": "receipt.pdf",
"file_data": "base64_encoded_data",
"document_type": "receipt"
}
}
Get Director's Loan Account balance:
{
"type": "tool",
"name": "get_dla_balance",
"arguments": {
"limit": 10
}
}
Returns DLA balance with S455 tax warnings if the account is overdrawn.
Get invoices:
{
"type": "tool",
"name": "get_invoices",
"arguments": {
"status": "all",
"contact_id": "optional"
}
}
Status options: draft, sent, paid, overdue, cancelled, all
Returns invoices with summary of outstanding and overdue amounts.
Create deadline:
{
"type": "tool",
"name": "create_deadline",
"arguments": {
"type": "VAT Return",
"due_date": "2026-02-07",
"notes": "Q4 2025 VAT"
}
}
POST /api/agent-signup โ No authentication required.
Create an account and get an API key in one request:
{
"email": "founder@example.com",
"company_name": "Acme Ltd",
"full_name": "Jane Smith",
"entity_type": "ltd"
}
Required: email, company_name
Optional: full_name, entity_type (default: ltd)
Entity types: ltd, plc, llp, sole_trader, partnership, cic, charity, overseas, other
Response:
{
"api_key": "sk_live_...",
"company_id": "uuid",
"user_id": "uuid",
"trial_ends_at": "2026-02-22T...",
"api_base": "https://accounts-os.com/api/mcp",
"message": "Account created. Store this API key โ it will not be shown again."
}
The API key has read + write scopes. 14-day free trial. Human receives a welcome email.
Returns 409 if the email is already registered.
API keys support three permission levels:
Your API key's scope is configured in the dashboard. Requests beyond your scope return a 403 error.
Company info:
{
"type": "resource",
"uri": "accountsos://company"
}
Recent transactions:
{
"type": "resource",
"uri": "accountsos://transactions"
}
Your human mentions expenses throughout the day? Log them:
# Human: "Just paid ยฃ45 for the Figma subscription"
accountsos.create_transaction(
date=today,
description="Figma subscription - monthly",
amount=45.00,
direction="out"
)
# AI auto-categorizes as "Software & Subscriptions"
Track what's owed:
# Check unpaid invoices
transactions = accountsos.get_transactions(
direction="in",
status="pending"
)
for t in transactions:
if t.days_overdue > 14:
# Alert human or draft follow-up email
notify(f"Invoice {t.description} is {t.days_overdue} days overdue")
Quarterly VAT? Already calculated:
vat = accountsos.get_vat_summary(quarter="Q4 2025")
print(f"VAT owed: ยฃ{vat.amount_owed}")
print(f"Due: {vat.due_date}")
# Surface to human before deadline
Never miss a filing:
deadlines = accountsos.get_deadlines()
for d in deadlines:
if d.days_until < 7:
alert(f"โ ๏ธ {d.type} due in {d.days_until} days")
New transaction? Categorize it:
# Get AI suggestion
suggestion = accountsos.categorize_transaction(transaction_id)
if suggestion.confidence > 0.8:
accountsos.update_transaction(transaction_id, {
"category_id": suggestion.category_id
})
## AccountsOS (daily or weekly)
### Daily
- Check for new transactions needing categorization
- Log any expenses human mentioned today
### Weekly
- Review uncategorized transactions
- Check upcoming deadlines (next 14 days)
- Summarize week's P&L if human asks
### Quarterly
- Generate VAT summary
- Surface filing deadlines
- Remind human to review before submission
| Feature | Details |
|---------|---------|
| VAT schemes | Standard, Flat Rate, Cash Accounting |
| Tax years | April-April alignment |
| Deadlines | CT600, VAT, Confirmation Statement |
| Categories | HMRC-aligned expense categories |
Built for UK Ltd companies and sole traders. Knows the rules so you don't have to.
import os
import requests
from datetime import datetime, timedelta
API_URL = "https://accounts-os.com/api/mcp"
headers = {
"Authorization": f"Bearer {os.environ['ACCOUNTSOS_API_KEY']}",
"Content-Type": "application/json"
}
def call_tool(name, args={}):
resp = requests.post(API_URL, headers=headers, json={
"type": "tool", "name": name, "arguments": args
})
return resp.json()["result"]
# 1. Check balance
balance = call_tool("get_balance")
print(f"๐ฐ Current balance: ยฃ{balance['amount']}")
# 2. This week's transactions
week_ago = (datetime.now() - timedelta(days=7)).strftime("%Y-%m-%d")
transactions = call_tool("get_transactions", {"from_date": week_ago})
income = sum(t["amount"] for t in transactions if t["direction"] == "in")
expenses = sum(t["amount"] for t in transactions if t["direction"] == "out")
print(f"๐ Week: +ยฃ{income} / -ยฃ{expenses}")
# 3. Upcoming deadlines
deadlines = call_tool("get_deadlines")
urgent = [d for d in deadlines if d["days_until"] < 14]
if urgent:
print(f"โ ๏ธ {len(urgent)} deadlines in next 2 weeks")
for d in urgent:
print(f" - {d['type']}: {d['due_date']}")
# 4. VAT position
vat = call_tool("get_vat_summary")
print(f"๐งพ VAT owed: ยฃ{vat['amount_owed']}")
Most people hate bookkeeping. They forget receipts, miss deadlines, panic at tax time.
You don't forget. You don't panic. You just log, categorize, and surface what matters.
Be the agent that makes finances boring (in a good way).
Built by Thrive Venture Labs
Generated Mar 1, 2026
A sole trader or limited company developer needs to track client payments, categorize business expenses like hosting and software subscriptions, and manage VAT returns quarterly. This scenario involves using transaction tracking, VAT management, and deadline alerts to ensure compliance and accurate bookkeeping without manual spreadsheets.
An online retailer selling products must record sales income, track supplier and shipping expenses, and handle VAT on transactions. This scenario uses AI categorization for automated expense sorting, document storage for receipts, and invoice management to monitor outstanding payments and overdue amounts.
A UK limited company providing consulting services requires monitoring project-based income, managing director's loan accounts for personal withdrawals, and tracking deadlines for corporation tax and confirmation statements. This scenario leverages tools for balance checks, DLA balance monitoring, and deadline alerts to maintain financial health.
An agency handling multiple clients needs to invoice for creative work, categorize expenses such as software licenses and contractor fees, and store contracts digitally. This scenario uses invoice tracking, document upload for contracts, and transaction creation to streamline bookkeeping and ensure timely VAT filings.
A micro-business managing rental properties must track rental income, record maintenance and utility expenses, and manage VAT if applicable. This scenario involves using get_transactions for income monitoring, create_transaction for expense logging, and get_deadlines to stay on top of tax submission dates.
Businesses with recurring revenue from subscriptions, such as SaaS or membership services, can use AccountsOS to track monthly income, categorize expenses like server costs, and manage VAT returns. This model benefits from automated transaction tracking and AI categorization to handle high volumes of repetitive entries efficiently.
Firms that earn revenue from discrete projects, like construction or consulting, can leverage AccountsOS to record lump-sum payments, track project-specific expenses, and monitor deadlines for tax submissions. This model uses create_transaction for income logging and get_invoices to manage client billing and overdue amounts.
Businesses selling physical or digital goods can utilize AccountsOS to manage sales income, categorize cost of goods sold and shipping expenses, and handle VAT calculations. This model benefits from document storage for receipts and search_documents to quickly retrieve invoices and expense records.
๐ฌ Integration Tip
Set the ACCOUNTSOS_API_KEY environment variable securely and use the agent-signup endpoint for quick onboarding to start tracking transactions immediately.
Query Copilot Money personal finance data (accounts, transactions, net worth, holdings, asset allocation) and refresh bank connections. Use when the user asks about finances, account balances, recent transactions, net worth, investment allocation, or wants to sync/refresh bank data.
Stripe API integration with managed OAuth. Manage customers, subscriptions, invoices, products, prices, and payments. Use this skill when users want to process payments, manage billing, or handle subscriptions with Stripe. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway). Requires network access and valid Maton API key.
QuickBooks API integration with managed OAuth. Manage customers, invoices, payments, bills, and run financial reports. Use this skill when users want to interact with QuickBooks accounting data. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway).
Advanced financial calculator with future value tables, present value, discount calculations, markup pricing, and compound interest. Use when calculating investment growth, pricing strategies, loan values, discounts, or comparing financial scenarios across different rates and time periods. Includes both CLI and interactive web UI.
Track expenses via natural language, get spending summaries, set budgets
Query and manage personal finances via the official Actual Budget Node.js API. Use for budget queries, transaction imports/exports, account management, categorization, rules, schedules, and bank sync with self-hosted Actual Budget instances.