Receiptor for agents

Connect agents to real bookkeeping work.

Install the Receiptor CLI, connect it to your workspace, and let agents operate on receipts, invoices, categorization, and spend workflows using the same capability layer that powers the product.

Install

One-line installer for the public Receiptor CLI.

Authenticate

Use your Receiptor API key and workspace context.

Operate

Run skills for intake, cleanup, and spend analysis.

CLIMCP
Install in one command
Terminal
curl -fsSL https://receiptor.ai/install.sh | bash
Installs the public Receiptor CLIWorks with your Receiptor API keyDesigned for human and agent usage

Readable by humans

The same workflows can be comfortable in a terminal and structured for an agent.

Receiptor is designed for actual finance operations. That means compact CLI flows for humans, plus predictable structured output for agents that need to reason over bookkeeping state without burning context.

Human mode

Readable output for operators

$ receiptor workspace list

Workspace               Role             Current
--------------------------------------------------
Acme Holdings           org:admin        yes
Northwind Trading       org:member       no

$ receiptor files upload ./march-lunch.pdf
Queued upload upl_7R2m for processing
Status: queued
Workspace: Acme Holdings

Agent mode

Structured output for automation

$ receiptor documents search --query "uber" --limit 2 --json
{
  "documents": [
    {
      "id": "doc_812f",
      "merchant": "Uber",
      "amount": 42.13,
      "currency": "USD",
      "category": "Travel",
      "workspaceId": "org_123"
    }
  ],
  "totalCount": 1
}

Built-in skills

Start with the things finance teams and bookkeeping agents actually do.

Instead of raw building blocks only, the Receiptor CLI ships with task-shaped skills for setup, intake, cleanup, and reporting. They map to real bookkeeping workflows rather than generic “analyze a document” prompts.

Documentation

Skill 1

setup-readiness

Agent-ready

Check auth, workspace access, integrations, and the missing setup steps before an agent starts doing real work.

Skill 2

receipt-intake

Agent-ready

Upload files, inspect extracted fields, and move raw financial documents into Receiptor-ready workflows.

Skill 3

categorization-review

Agent-ready

Review document classification, fix edge cases, and keep books clean without hand-editing every transaction.

Skill 4

spend-analysis

Agent-ready

Pull structured totals, grouped spend, and bookkeeping-ready outputs for reports, finance ops, and audit prep.

Live capabilities

Pull the current capability registry straight from the developer API.

This list is fetched from the same capability discovery endpoint the CLI and external API use. As the product surface evolves, the page updates with it instead of drifting into stale marketing copy.

45 capabilities exposed
approvalsapprove

approvals.approve

Approve a pending approval request and execute the stored capability input.

approvalsget

approvals.get

Get the details of a pending or resolved approval request by ID.

approvalsreject

approvals.reject

Reject a pending approval request without executing the stored capability input.

chartOfAccountslistAccounts

chartOfAccounts.listAccounts

List or search accounts from the active chart of accounts for the current workspace so the agent can ground categorization decisions.

currencyconvert

currency.convert

Convert amounts between different currencies. Uses current rates by default, or historical rates for a specific date.

currency:read
documentsbulk-edit

documents.bulk-edit

Bulk edit documents. Supports dry-run preview (default) and execute modes. Preview returns matching documents with proposed changes and available merchants/categories for context.

documents:write
documentscount

documents.count

Count documents and aggregate data. Use for spending totals and financial analysis. Supports grouping by merchant, category, date, etc. Gets ALL matching documents.

documents:read
documentsdelete

documents.delete

Soft-delete a document (receipt, invoice, etc.). The document is archived and can be recovered. Also archives any duplicate documents and cleans up cross-references.

documents:write
documentsget

documents.get

Retrieve a single document by ID with full details. Returns all extracted fields including merchant info, line items, amounts, file URL, and source.

documents:read
documentsinspect

documents.inspect

Inspect the original document file (image/PDF) with a vision model and compare visible values against currently stored extracted fields.

documents:read
documentslist-duplicates

documents.list-duplicates

List existing duplicate document groups for the current workspace.

documents:read
documentsresolve-duplicates

documents.resolve-duplicates

Analyze a selected set of documents as possible duplicates. Use dryRun=true (default) to preview the recommended canonical/master document first. Use dryRun=false with masterId to apply the duplicate grouping and archive the non-master duplicates.

documents:write
documentsscan-duplicates

documents.scan-duplicates

Scan active unresolved documents in the current workspace for likely duplicate groups. Read-only: returns candidate groups and recommended canonical documents without mutating data.

documents:read
documentssearch

documents.search

Search, filter, and retrieve user's documents. Supports text search, filtering by document type, export status, date ranges, sorting, and semantic similarity.

documents:read
documentsunarchive

documents.unarchive

Restore a previously archived document so it is active again.

documents:write
entitiescleanup

entities.cleanup

Analyze and clean up the user's own business entities: enrich with Google Places data, find duplicates via place_id and embedding similarity, and merge them. This is for companies/legal entities/subsidiaries, not merchant or document duplicates.

entities:write
entitiesdelete

entities.delete

Delete a business entity and unlink associated documents.

entities:write
entitieslist

entities.list

List and search business entities with pagination.

entities:read
entitiesmerge

entities.merge

Merge multiple business entities into one. Reassigns all linked documents to the kept entity, adds merged entity names as aliases, and deletes the duplicates.

entities:write
entitiesupsert

entities.upsert

Create a new business entity or update an existing one.

entities:write
exportsget

exports.get

Get one export record by ID for the current workspace.

documents:read
exportslist

exports.list

List export records with filters (document, integration, date range) for the current workspace.

documents:read
integrationslist

integrations.list

List available integrations for the user. Can filter by category (email, accounting, storage, social) and status. Returns integration IDs needed for sendToIntegration and other operations.

integrations:read
integrationssend

integrations.send

Send a document (receipt/invoice) to an accounting integration (Xero or QuickBooks). Requires integrationId and tenantId. Use listIntegrations to find available integrations. Set dryRun=true (default) to preview, dryRun=false to queue for sending.

integrations:writedocuments:read
integrationsunlink

integrations.unlink

Unlink a document from an integration (supports Xero and QuickBooks). Set dryRun=true (default) to preview, including invoice details and orphaned attachments. Set dryRun=false to execute. This action is IRREVERSIBLE.

integrations:writedocuments:read
memoriesarchive

memories.archive

Archive a stored long-term memory so it is no longer used at runtime.

memories:write
memorieslist

memories.list

List current long-term memories stored for the current user/workspace.

memories:read
memoriessave

memories.save

Save an explicit long-term memory or preference for the current user, workspace, or document.

memories:write
onboardingstatus

onboarding.status

Get the user's onboarding/setup progress including which steps are completed and what's pending.

rulesdelete

rules.delete

Delete an automation rule permanently. Use this when a rule, automation, or workflow should be removed entirely.

rules:write
rulesdisable

rules.disable

Disable an automation rule without deleting it. Use this when a rule should stop running but remain available for later re-enabling.

rules:write
rulesexecute

rules.execute

Create an automation rule from a natural language description. In Receiptor, rules, automations, and workflows refer to the same concept. Approval includes the generated rule details before creation.

rules:write
ruleslist

rules.list

List automation rules for the user. In Receiptor, rules, automations, and workflows refer to the same concept. Shows rule information including name, status, trigger type, and execution stats.

rules:read
sourcesemail

sources.email.delete

Delete an email source from the account and stop monitoring it permanently.

sources:write
sourcesemail

sources.email.disable-monitoring

Disable monitoring for an email source without removing the connection.

sources:write
sourcesemail

sources.email.enable-monitoring

Enable monitoring for an email source to resume automatic document ingestion.

sources:write
sourcesmobile-scanners

sources.mobile-scanners.activate

Activate a mobile scanner so documents from that number are processed again.

sources:write
sourcesmobile-scanners

sources.mobile-scanners.deactivate

Deactivate a mobile scanner without deleting it.

sources:write
sourcesmobile-scanners

sources.mobile-scanners.delete

Delete a mobile scanner from the account permanently.

sources:write
sourcesmobile-scanners

sources.mobile-scanners.disable-ai

Disable AI extraction for a mobile scanner without removing the source.

sources:write
sourcesmobile-scanners

sources.mobile-scanners.enable-ai

Enable AI extraction for a mobile scanner without changing the source registration.

sources:write
viewscreate

views.create

Create a saved document view from document filters. Saved views are reusable inputs for rules, automations, and workflows.

documents:write
viewsdelete

views.delete

Delete a saved document view. Use this when a saved filter preset is no longer needed.

documents:write
viewslist

views.list

List saved document views for the current workspace. These saved views can be reused by rules, automations, and workflows.

documents:read
workspaceslist

workspaces.list

List available workspaces (organizations) for the authenticated user.

workspaces:read

CLI first

Install a thin command line client over the Receiptor capability API and run real workflows from the terminal.

MCP ready

Use the same capability layer behind an MCP server so agents can work with Receiptor using structured tools.

Built for bookkeeping

Operate on receipts, invoices, workspaces, and accounting flows instead of forcing a generic OCR abstraction onto finance work.

Account scoped

Real work stays tied to a Receiptor account and workspace, so agents operate in the same secure context as your team.

Get started

Install the CLI, authenticate to your workspace, and hand real bookkeeping actions to your agent.

curl -fsSL https://receiptor.ai/install.sh | bash

1. Install `receiptor`

2. Authenticate with your API key

3. Select a workspace and run skills