Skip to content

Rank #2 of 11 in Accounting & Bookkeeping

Digits logo

Digits Financial, Inc. · commercial

no public signals

Access

Install

mcpclaude mcp add --transport streamable-http digits https://api.digits.com/mcp

Compare head-to-head

Alternatives to Digits

Try itExperimental

See what an agent can do with Digits before you ever sign up. Pick a story: recorded sessions replay real probe-harness transcripts; sandboxed self-drive sessions are designed and gated (docs/TRY-IT.md).

$curl -s https://developer.digits.com/docs/overview.mdrecorded session — replayed, not live
recorded 2026-09-16 · exit 0 · captured verbatim by our probe harness, secrets redacted

Verified integrations

No integration evidence found in our corpus for this product yet — that means none was found, never that it doesn’t integrate.

By theme — the product's score on each story themeBy theme

Agenticness — how well agents can access and operate the productAgenticnessevidence →

How well agents can access and operate the product

49.9/100

Automation depth — how much of the product can run unattendedAutomation depthevidence →

How much of the product can run unattended

15.7/100

Banking reconciliation — stories about banking reconciliation in this arenaBanking reconciliationevidence →

Stories about banking reconciliation in this arena

46.4/100

Bills ap — stories about bills ap in this arenaBills apevidence →

Stories about bills ap in this arena

42.0/100

Close collaboration — stories about close collaboration in this arenaClose collaborationevidence →

Stories about close collaboration in this arena

27.0/100

Integrations data — stories about integrations data in this arenaIntegrations dataevidence →

Stories about integrations data in this arena

48.7/100

Invoicing ar — stories about invoicing ar in this arenaInvoicing arevidence →

Stories about invoicing ar in this arena

21.4/100

Ledger coa — stories about ledger coa in this arenaLedger coaevidence →

Stories about ledger coa in this arena

18.0/100

Multi entity audit — stories about multi entity audit in this arenaMulti entity auditevidence →

Stories about multi entity audit in this arena

13.5/100

Openness — open source, data portability, and self-hosting storiesOpennessevidence →

Open source, data portability, and self-hosting stories

20.6/100

Privacy posture — data-handling and privacy storiesPrivacy postureevidence →

Data-handling and privacy stories

0.0/100

Reporting statements — stories about reporting statements in this arenaReporting statementsevidence →

Stories about reporting statements in this arena

71.3/100

Story verdicts — every judged story with its evidenceStory verdicts

?

Sorted by importance (agentic first) (high → low) · 53/53 stories · click a row’s chevron for the rationale and evidence

Connect an agent via an official MCP server G

Agent access

ai-native userAgenticness — how well agents can access and operate the productAgenticness3full9/10T

Drive the product through a documented public API G

Agent access

ai-native userAgenticness — how well agents can access and operate the productAgenticness3full9/10T

Delegate tasks to a built-in AI assistant inside the product G

Agentic features

ai-native userAgenticness — how well agents can access and operate the productAgenticness3partial6/10C

Plug MCP servers into this product so it can use their tools G

Agent access

ai-native userAgenticness — how well agents can access and operate the productAgenticness3none0/10

Point an agent at llms.txt or agent-oriented docs G

Agent access

ai-native userAgenticness — how well agents can access and operate the productAgenticness2full9/10T

Download a machine-readable API spec (OpenAPI or equivalent) G

Api quality

ai-native userAgenticness — how well agents can access and operate the productAgenticness2full8/10T

Get AI-generated insights and suggestions from my data inside the product G

Agentic features

ai-native userAgenticness — how well agents can access and operate the productAgenticness2full8/10T

Operate the product with natural-language commands G

Agentic features

ai-native userAgenticness — how well agents can access and operate the productAgenticness2full7/10T

Set up automations that run autonomously in the background G

Agentic features

ai-native userAgenticness — how well agents can access and operate the productAgenticness2partial7/10C

Explore an interactive API reference with runnable examples G

Api quality

ai-native userAgenticness — how well agents can access and operate the productAgenticness2partial6/10T

Issue scoped/least-privilege API credentials for an agent G

Agent access

ai-native userAgenticness — how well agents can access and operate the productAgenticness2partial6/10T

Subscribe to events via webhooks G

Agent access

ai-native userAgenticness — how well agents can access and operate the productAgenticness2partial6/10C

Build against official SDKs G

Agent access

ai-native userAgenticness — how well agents can access and operate the productAgenticness2partial5/10T

Rely on versioned APIs with a documented deprecation policy G

Api quality

ai-native userAgenticness — how well agents can access and operate the productAgenticness2partial5/10C

Run the product headlessly / in CI for automation G

Agent access

ai-native userAgenticness — how well agents can access and operate the productAgenticness2partial5/10T

Use an official CLI G

Agent access

ai-native userAgenticness — how well agents can access and operate the productAgenticness2noneuntestednone yet

Test against a sandbox environment without touching production data G

Api quality

ai-native userAgenticness — how well agents can access and operate the productAgenticness1full8/10C

Ask an agent "can we afford X?" and get an answer grounded in live ledger data pulled through the API C

Ai insights

ai-native userReporting statements — stories about reporting statements in this arenaReporting statements3full9/10T

Connect bank and credit-card accounts so transactions import automatically every day G

Bank feeds

founderBanking reconciliation — stories about banking reconciliation in this arenaBanking reconciliation3full8/10C

Generate an accurate P&L, balance sheet, and cash-flow statement for any period on demand C

Statements

founderReporting statements — stories about reporting statements in this arenaReporting statements3full8/10C

Have an agent monitor the ledger and flag anomalies in spend or duplicate transactions before the close C

Ai audit

ai-native userMulti entity audit — stories about multi entity audit in this arenaMulti entity audit3partial6/10C

Have an agent reconcile a month end-to-end, matching transactions, flagging exceptions, and preparing the close for human review C

Ai reconciliation

ai-native userBanking reconciliation — stories about banking reconciliation in this arenaBanking reconciliation3partial6/10C

Invite my external accountant or bookkeeper with role-scoped access to review and adjust the books C

Collaboration

founderClose collaboration — stories about close collaboration in this arenaClose collaboration3partial6/10C

Pull the full general ledger and trial balance through a documented API in open formats G

Data access

developerIntegrations data — stories about integrations data in this arenaIntegrations data3partial6/10T

Run a month-end close against a checklist that tracks reconciliations, accruals, and review sign-offs C

Close process

accountantClose collaboration — stories about close collaboration in this arenaClose collaboration3partial6/10C

Have an agent draft and post journal entries via the API and leave them in a review queue for my accountant C

Ai ledger

ai-native userLedger coa — stories about ledger coa in this arenaLedger coa3partial5/10C

Reconcile each bank account against the ledger with matched, unmatched, and duplicate transactions surfaced for review C

Reconciliation

accountantBanking reconciliation — stories about banking reconciliation in this arenaBanking reconciliation3partial5/10C

Customize the chart of accounts with account types, sub-accounts, and class or tag dimensions C

Chart of accounts

accountantLedger coa — stories about ledger coa in this arenaLedger coa3partial4/10C

Export all of my data in open formats and leave G

ai-native userOpenness — open source, data portability, and self-hosting storiesOpenness3partial4/10C

Create and send invoices with online payment options and see when they are viewed and paid C

Invoicing

founderInvoicing ar — stories about invoicing ar in this arenaInvoicing ar3partial3/10C

Define rules that trigger actions automatically on events G

ai-native userAutomation depth — how much of the product can run unattendedAutomation depth3partial3/10C

Post manual journal entries with balanced debits, credits, and supporting memos C

Journal entries

accountantLedger coa — stories about ledger coa in this arenaLedger coa3none0/10

Prevent my data from being used to train AI models G

ai-native userPrivacy posture — data-handling and privacy storiesPrivacy posture3n/auntestednone yet

See a complete audit trail of who changed what and when across the entire ledger C

Audit trail

accountantMulti entity audit — stories about multi entity audit in this arenaMulti entity audit3noneuntestednone yet

Self-host the core product G

ai-native userOpenness — open source, data portability, and self-hosting storiesOpenness3n/auntestednone yet

Connect my banking, payments, and payroll systems so their activity flows into the ledger automatically C

Integrations

founderIntegrations data — stories about integrations data in this arenaIntegrations data2full8/10C

Capture vendor bills, route them for approval, and schedule payments from one workflow C

Bill management

accountantBills ap — stories about bills ap in this arenaBills ap2partial7/10C

See accounts payable aging and vendor balances at any point in time C

Payables

accountantBills ap — stories about bills ap in this arenaBills ap2partial7/10C

Do everything through the API that I can do in the UI G

ai-native userOpenness — open source, data portability, and self-hosting storiesOpenness2partial6/10C

Get automatic categorization suggestions for imported transactions that learn from my corrections C

Categorization

founderBanking reconciliation — stories about banking reconciliation in this arenaBanking reconciliation2partial6/10C

Perform bulk operations across many items at once G

ai-native userAutomation depth — how much of the product can run unattendedAutomation depth2partial6/10C

Track accounts receivable with aging reports and per-customer balances C

Receivables

accountantInvoicing ar — stories about invoicing ar in this arenaInvoicing ar2partial6/10C

Build custom reports filtered and grouped by class, location, or tag dimensions C

Custom reports

accountantReporting statements — stories about reporting statements in this arenaReporting statements2partial5/10C

Set up recurring invoices and automatic payment reminders for overdue customers C

Invoicing

founderInvoicing ar — stories about invoicing ar in this arenaInvoicing ar2partial2/10C

Manage multiple legal entities and produce consolidated financials across them C

Multi entity

accountantMulti entity audit — stories about multi entity audit in this arenaMulti entity audit2none0/10

Choose where my data is stored (region/residency) G

ai-native userPrivacy posture — data-handling and privacy storiesPrivacy posture2noneuntestednone yet

Control data retention and deletion G

ai-native userPrivacy posture — data-handling and privacy storiesPrivacy posture2noneuntestednone yet

Lock closed periods so prior-period numbers cannot change without an explicit reopening C

Close process

accountantClose collaboration — stories about close collaboration in this arenaClose collaboration2noneuntestednone yet

Opt out of telemetry and usage tracking G

ai-native userPrivacy posture — data-handling and privacy storiesPrivacy posture2n/auntestednone yet

Read the product's source under an open license G

ai-native userOpenness — open source, data portability, and self-hosting storiesOpenness2noneuntestednone yet

Schedule recurring jobs or workflows G

ai-native userAutomation depth — how much of the product can run unattendedAutomation depth2noneuntestednone yet

Migrate historical books from another accounting system without losing transaction detail C

Migration

founderIntegrations data — stories about integrations data in this arenaIntegrations data1partial4/10C

Version, review, and roll back my automations G

ai-native userAutomation depth — how much of the product can run unattendedAutomation depth1none0/10

Opportunities — the stories that would move this product's scores, from its own judged verdictsOpportunitiestop 8 of 39 stories with headroom

What would move Digits’s scores — derived from its own judged verdicts, biggest headroom first. Each line quotes what the judge found missing; shipping it (or evidencing it publicly) is the fix.

  1. Agenticness — how well agents can access and operate the productPlug MCP servers into this product so it can use their tools

    nonemoves agent-readyimpact 45

    All MCP evidence describes Digits exposing itself AS an MCP server (api.digits.com/mcp) so that other AI tools like Claude, ChatGPT, or Cursor can pull Digits' financial data — the opposite direction from this story, which asks whether a user can plug external MCP servers INTO Digits so Digits' own AI (e.g.

  2. Multi entity audit — stories about multi entity audit in this arenaSee a complete audit trail of who changed what and when across the entire ledger

    nonemoves PA Scoreimpact 30

    No evidence exists of a change-log, version history, or 'who changed what and when' audit trail feature across the ledger; the pack covers categorization, APIs, MCP, security-at-rest, and pricing but nothing about audit trails or user-action logging.

  3. Ledger coa — stories about ledger coa in this arenaPost manual journal entries with balanced debits, credits, and supporting memos

    nonemoves PA Scoreimpact 30

    Digits' evidence describes AI-driven auto-booking, categorization, reconciliation, and an API for batch transaction sync/ledger queries, but nowhere documents a manual journal-entry workflow with debit/credit balancing and memo fields — the product's own framing explicitly positions itself as replacing manual entry/mapping rather than supporting it.

  4. Agenticness — how well agents can access and operate the productUse an official CLI

    nonemoves agent-readyimpact 30

    Digits ships an OpenAPI spec, SDG codegen, and an MCP server, but nothing in the evidence pack documents an official Digits CLI tool for developers; the only CLI mentioned is Claude's own 'claude mcp add' command, which is a third-party client CLI, not Digits'.

  5. Automation depth — how much of the product can run unattendedDefine rules that trigger actions automatically on events

    partialq3/10moves PA Scoreimpact 21

    Missing: a documented rule-builder/automation configuration UI or API, examples of user-defined trigger-action pairs, and evidence of arbitrary custom actions being executed on arbitrary events beyond fixed webhook notifications.

  6. Invoicing ar — stories about invoicing ar in this arenaCreate and send invoices with online payment options and see when they are viewed and paid

    partialq3/10moves PA Scoreimpact 21

    Missing: details on invoice creation UI, supported payment methods/gateways, view-tracking or paid notifications, and any independent confirmation of the feature working.

  7. Automation depth — how much of the product can run unattendedSchedule recurring jobs or workflows

    nonemoves PA Scoreimpact 20

    Missing: any documented scheduling/cron API or UI, recurring job configuration, or workflow trigger system.

  8. Close collaboration — stories about close collaboration in this arenaLock closed periods so prior-period numbers cannot change without an explicit reopening

    nonemoves PA Scoreimpact 20

    The evidence pack covers AGL categorization, the Agentic Close workflow, quality checks, and reporting, but nothing describes a period-lock or reopening-approval mechanism that prevents prior-period figures from changing.

Showing the top 8 of 39 — every none/partial verdict in the story verdicts table is headroom.

Think a verdict is wrong? Every verdicts-table row has a Flag link — see the methodology.

Coverage map — which docs area, API section, or community source covers which judged storiesCoverage map14 surfaces · 39 covered stories

Where the cited evidence behind each covered verdict came from — the same citations the verdicts table shows, no extra judging.

llms.txt24 stories

Probe proofs — replayable recordings from the probe harnessProbe proofs

Replayable recordings from our probe harness — see the Prove-It protocol to submit one.

$curl -s https://developer.digits.com/docs/overview.mdreproduced
$ curl -s https://developer.digits.com/docs/overview.md
---
updatedAt: 2026-08-31T23:35:53.000Z
---

Fetch the complete documentation index at: https://developer.digits.com/llms.txt. Use this file to discover all available pages before exploring further. Append .md to any documentation page URL to get its markdown version.

# Digits Connect API

The Digits Connect API gives you programmatic access to the AGL — our AI-native general ledger. Send raw financial data and get clean, categorized, deduplicated entries!

<Image src="https://files.readme.io/db69d4050298c5bbcfe95169f9722c96f1e38c31ae8b13acc3532acad9c2ac8b-Blog_Header_Digits_is_Now_Programmable.png" align="center" />

## Why Digits

### Integrations without the integration tax.

Legacy accounting APIs expect you to sync charts of accounts, build mapping UIs, and handle duplicates. Digits replaces all of that with a single, intelligent API.

You send the data you already have — and the AGL handles the rest. It identifies vendors, enriches context, and records balanced, categorized entries automatically. The AGL understands financial data contextually, turning raw transactions into structured accounting entries.

## Built for Builders

### Simple to build. Reliable to maintain.

Everything you expect from a modern API — built for financial data.

* **AI-native categorization**: No custom mapping logic — the AGL interprets and classifies automatically.
* **Vendor enrichment**: Send raw descriptions, and Digits researches, identifies, and hydrates vendor details.
* **Idempotent writes**: Send safely and repeatedly — no duplicates, ever.
* **Consistent schemas**: Predictable, typed responses across endpoints.
* **Full OpenAPI spec & sandbox**: Generate clients, test freely, and deploy with confidence.

## What You Can Build

### Smarter integrations, fewer moving parts.

The Connect API removes the overhead of traditional ledger integrations.

* **Direct ledger connections** — Send transactions, get categorized, balanced entries.
* **AI-powered enrichment** — Digits researches and fills in vendor details automatically.
* **Context-aware automations** — Pass department, location, or project metadata into your ledger entries.
* **Programmable accounting** — Add intelligent ledger functionality to your product with a modern API.

## Build with our MCP Server

### Connect Digits to the AI tools you already use, no app required.

Not every workflow needs a custom integration or app.

Digits provides an MCP server that connects your ledger directly to tools like ChatGPT, Claude, and other MCP-compatible environments, so you can query, analyze, and automate on top of real-time financial data.

**Looking to get started with MCP?** <Anchor target="_blank" href="https://help.digits.com/firms-connections/digits-mcp-claude">Head to our Help Center for setup instructions and supported tools</Anchor>

## Open by Design

Digits doesn’t believe access should come with strings attached, whether you’re building with the API or working through MCP.

* **No partner fees.**
* **No paywalls.**
* **No marketplace restrictions.**

Just clean, open, developer-first accounting infrastructure, available wherever you want to work.

## Get Started

<Cards columns="3">
  <Card title="Create account" href="https://developer.digits.com/docs/developer-accounts#/" icon="fa-solid fa-circle-user">
    Head here to create your account and get started.
  </Card>

  <Card title="Start building" href="https://developer.digits.com/docs/quickstart#/" icon="fa-solid fa-gear">
    Follow the quickstart guide.
  </Card>

  <Card title="Have a question?" href="mailto:developer@digits.com" icon="fa-solid fa-question">
    Get in contact with our API team.
  </Card>
</Cards>
$curl -s https://developer.digits.com/llms.txtreproduced
$ curl -s https://developer.digits.com/llms.txt
# Digits Connect API Documentation

> Documentation for Digits Connect API

Append .md to any documentation page URL to get its markdown version.

## Guides
- [Digits Connect API](https://developer.digits.com/docs/overview.md): The Digits Connect API gives you programmatic access to the AGL — our AI-native general ledger. Send raw financial data and get clean, categorized, deduplicated entries!
- [Quickstart](https://developer.digits.com/docs/quickstart.md): Set up a development app and make your first Digits Connect API request.
- [API Versioning](https://developer.digits.com/docs/api-versioning.md): The Digits Connect API uses route-based versioning with the version number as a URL path prefix.
- [Authentication](https://developer.digits.com/docs/authentication.md): The Digits Connect API uses OAuth 2.0 with the authorization code grant type for secure authentication. This flow allows your application to obtain access [redacted]s that can be used to make authenticated API requests on behalf of users.
- [SDKs and LLMs](https://developer.digits.com/docs/sdks-llms.md): OpenAPI codegen for 50+ programming languages, with LLMs.txt support
- [Rate Limits](https://developer.digits.com/docs/rate-limits.md): The Digits Connect API implements rate limiting to ensure fair usage and maintain service quality for all users.
- [Pagination](https://developer.digits.com/docs/pagination.md): The Digits Connect API uses cursor-based pagination for paginated list endpoints. This approach provides efficient and reliable pagination through large result sets.
- [Developer Accounts](https://developer.digits.com/docs/developer-accounts.md): Developing on Digits is free, fast, and requires just a few steps to get started.
- [App Creation](https://developer.digits.com/docs/app-creation.md): How to create an app, choose scopes, and prepare for authentication.
- [Developer Sandbox](https://developer.digits.com/docs/developer-sandbox-testing-your-app.md): Explore Digits with realistic sample data and test your app!
- [Publishing Apps](https://developer.digits.com/docs/publishing-apps.md): Understand app modes, approval, and publishing options.
- [Source vs Ledger](https://developer.digits.com/docs/source-vs-ledger.md): Digits has an "isolated bankfeed" architecture - Sources are merged to become the Ledger.
- [Identifiers](https://developer.digits.com/docs/identifiers.md): Sources use externally defined identifiers to track uniqueness and idempotence.
- [Sources](https://developer.digits.com/docs/sources.md): Sources organize transactions into logical groups, enabling powerful bookkeeping automation.
- [Matching](https://developer.digits.com/docs/matching.md): Transactions are matched when they represent the same economic event.
- [Categorization](https://developer.digits.com/docs/digits-ai-categorization.md): Effortless, adaptive, automatic AI categorization
- [Party Hydration](https://developer.digits.com/docs/ai-party-research.md): Who was this transaction with?
- [Documents](https://developer.digits.com/docs/documents.md): AI document extraction for Bills, Statements, Receipts, and more
- [Transactions](https://developer.digits.com/docs/transactions.md): Digits automatically manages categorization, matching, and enrichment for your source transaction data.
- [Category Labels](https://developer.digits.com/docs/category-labels.md): Bookkeeping without tracking the chart of accounts
- [Invoices & Bills](https://developer.digits.com/docs/invoices-bills.md): Add invoice and bill details to any transaction to enable payment linking and aging
- [Parties](https://developer.digits.com/docs/parties.md): Define and manage the customers, vendors, and other parties your integration references in Digits.
- [Chart of Accounts](https://developer.digits.com/docs/chart-of-accounts.md)
- [Financial Statements](https://developer.digits.com/docs/financial-statements.md): Create on-demand statements for any time period
- [Aggregations](https://developer.digits.com/docs/aggregations.md): Digits supports deep on-demand financial analysis through our aggregation engine.
- [Zapier](https://developer.digits.com/docs/zapier.md)

## API Reference
- [Authorize](https://developer.digits.com/reference/oauth_authorize.md): Initiates the OAuth 2.0 authorization flow by redirecting users to authorize your application.  After the user authorizes your application, they will be redirected to your `redirect_uri` with the authorization code as a query parameter.  **Example Usage:**  ``` https://connect.digits.com/v1/oauth/authorize?response_type=code &client_id=<your_client_id_here> &redirect_uri=<valid_redirect_url> &scope=source%3Async%20ledger%3Aread%20documents%3Awrite &state=<random_state_string> ```  **Redirect Response:** After authorization, the user will be redirected to:  ``` https://yourapp.com/oauth/callback?code=base64_encoded_authorization_code&state=random_state_string ```
- [[redacted] Exchange](https://developer.digits.com/reference/authorizationservice_[redacted].md): Exchange an authorization code for a refresh [redacted], or a refresh [redacted] for a new access [redacted].
- [Sync Sources](https://developer.digits.com/reference/connectionsourceservice_sync.md): Sync endpoint to create, update, and delete connection sources.  Connection sources organize transactions (for example, by bank account; or to separate bills and invoices)  Labels allow seamless reference to the chart of accounts within the Ledger.
- [List Sources](https://developer.digits.com/reference/connectionsourceservice_list.md): List all connection sources.
- [Get Company Info](https://developer.digits.com/reference/companyservice_get.md): Read endpoint to get company information, including fiscal year start month and earliest transaction date.
- [Sync Transactions](https://developer.digits.com/reference/sourcetransactionservice_sync.md): Batch sync endpoint to create or update transactions.  Idempotence and deduplication is handled via the external_id field on each transaction.
- [Delete Transactions](https://developer.digits.com/reference/sourcetransactionservice_delete.md): Delete transactions by external ID.
- [Store Samples](https://developer.digits.com/reference/sourcemetricservice_store.md): Batch endpoint to store time series metric samples.
- [List Departments](https://developer.digits.com/reference/sourcedepartmentservice_list.md): List the departments provided by this source.
- [Sync Departments](https://developer.digits.com/reference/sourcedepartmentservice_sync.md): Batch sync endpoint to create, update, and delete departments.  Idempotence and deduplication is handled via the external_id field on each department.
- [List Locations](https://developer.digits.com/reference/sourcelocationservice_list.md): List the locations provided by this source.
- [Sync Locations](https://developer.digits.com/reference/sourcelocationservice_sync.md): Batch sync endpoint to create, update, and delete locations.  Idempotence and deduplication is handled via the external_id field on each location.
- [List Projects](https://developer.digits.com/reference/sourceprojectservice_list.md): List the projects provided by this source.
- [Sync Projects](https://developer.digits.com/reference/sourceprojectservice_sync.md): Batch sync endpoint to create, update, and delete projects.  Idempotence and deduplication is handled via the external_id field on each project.
- [List Products](https://developer.digits.com/reference/sourceproductservice_list.md): List the products provided by this source.
- [Sync Products](https://developer.digits.com/reference/sourceproductservice_sync.md): Batch sync endpoint to create, update, and delete products.  Idempotence and deduplication is handled via the external_id field on each product.
- [List Parties](https://developer.digits.com/reference/sourcepartyservice_list.md): List the parties provided by this source.
- [Sync Parties](https://developer.digits.com/reference/sourcepartyservice_sync.md): Batch sync endpoint to create, update, and delete parties.  Idempotence and deduplication is handled via the external_id field on each party.
- [Balance Sheet](https://developer.digits.com/reference/ledgerstatementsservice_balancesheet.md): Generate a balance sheet statement.
- [Cash Flow](https://developer.digits.com/reference/ledgerstatementsservice_cashflow.md): Generate a cash flow statement.
- [Profit and Loss](https://developer.digits.com/reference/ledgerstatementsservice_profitandloss.md): Generate a profit and loss statement.
- [Trial Balance](https://developer.digits.com/reference/ledgerstatementsservice_trialbalance.md): Generate a trial balance statement.
- [A/P Aging](https://developer.digits.com/reference/ledgerstatementsservice_apaging.md): Generate an accounts payable aging report.
- [A/R Aging](https://developer.digits.com/reference/ledgerstatementsservice_araging.md): Generate an accounts receivable aging report.
- [Get Summary](https://developer.digits.com/reference/ledgersummaryservice_summarize.md): Get a summary of ledger transactions.
- [List Categories](https://developer.digits.com/reference/ledgercategoryservice_list.md): Fetch the full Chart of Accounts from the Ledger.
- [Get Category](https://developer.digits.com/reference/ledgercategoryservice_get.md): Get a single category by its ID.
- [Get Department](https://developer.digits.com/reference/ledgerdepartmentservice_get.md): Get a single ledger department by its ID.
- [List Departments](https://developer.digits.com/reference/ledgerdepartmentservice_list.md): List ledger departments.
- [List Entries](https://developer.digits.com/reference/ledgertransactionservice_entries.md): List ledger entries.
- [Query Entries](https://developer.digits.com/reference/ledgertransactionservice_queryentries.md): Query ledger entries.
- [Get Transaction](https://developer.digits.com/reference/ledgertransactionservice_gettransaction.md): Get a ledger transaction by its ID.
- [Get Project](https://developer.digits.com/reference/ledgerprojectservice_get.md): Get a single ledger project by its ID.
- [List Projects](https://developer.digits.com/reference/ledgerprojectservice_list.md): List ledger projects.
- [Get Location](https://developer.digits.com/reference/ledgerlocationservice_get.md): Get a single ledger location by its ID.
- [List Locations](https://developer.digits.com/reference/ledgerlocationservice_list.md): List ledger locations.
- [List Parties](https://developer.digits.com/reference/ledgerpartyservice_list.md): List ledger parties.
- [Get Party](https://developer.digits.com/reference/ledgerpartyservice_get.md): Get a single ledger party by its ID.
- [Organization](https://developer.digits.com/reference/organization.md): Read and interact with your App's organization.
- [Get Organization](https://developer.digits.com/reference/organizationservice_get.md): Returns the caller's organization, including its Digits-assigned ID and,  when set, its caller-assigned ID.
- [List Employees](https://developer.digits.com/reference/organizationemployeeservice_list.md): List all employees in the organization.
- [Get Employee](https://developer.digits.com/reference/organizationemployeeservice_get.md): Get a single employee by their Digits-assigned ID.
- [Create Employee](https://developer.digits.com/reference/organizationemployeeservice_create.md): Create, reactivate, or additively update an employee binding. The user must  already exist (either provisioned via SSO or as an existing Digits user). This  operation is synchronous. If the employee binding already exists and is active,  the supplied access is merged in: named bindings are added or their role updated,  and access omitted from the request is never removed; the required  organizationRole always overwrites the current organization role. Use Update  Employee to fully replace access, or Delete Employee to remove it.   Requires scope: `organization:sync`.
- [Delete Employee](https://developer.digits.com/reference/organizationemployeeservice_delete.md): Delete an employee binding in the caller's organization. Removes all of the  employee's entity-role and client-role bindings. The underlying user is not deleted.   Requires scope: `organization:sync`.
- [Update Employee](https://developer.digits.com/reference/organizationemployeeservice_update.md): Fully replace an employee binding. The user must already exist and have an  active employee binding. The request must identify the employee by  Digits-assigned ID or caller-assigned user ID,  include the employee's organization role, and may include entity access  (`entities` and/or `entityRole`), client access (`clients` and/or `clientRole`),  or both.  `entityRole` and `clientRole` are stored as employee-level defaults for future  entities or client entities and are applied to current access unless  explicit `entities` or `clients` entries override them.   Access omitted from the request is removed.   Requires scope: `organization:sync`.
- [Bulk Delete Employees](https://developer.digits.com/reference/organizationemployeeservice_bulkdelete.md): Delete multiple employee bindings by Digits-assigned user ID or caller-assigned  user ID. Maximum 100 per request. Deletes matching employee bindings and removes  their entity-role and client-role bindings. Underlying users are not deleted.   Requires scope: `organization:sync`.
- [List Entities](https://developer.digits.com/reference/organizationentityservice_list.md): List all entities in the organization.
- [Get Entity](https://developer.digits.com/reference/organizationentityservice_get.md): Get a single entity by its Digits-assigned ID.
- [Create Entity](https://developer.digits.com/reference/organizationentityservice_create.md): Create a new entity within the organization. The entity object is created  synchronously, but data provisioning (chart of accounts, etc.) completes  asynchronously.   Requires scope: `organization:sync`.
- [Delete Entity](https://developer.digits.com/reference/organizationentityservice_delete.md): Delete an entity. Deleting an entity also removes all employee access  bindings for that entity.   Requires scope: `organization:sync`.
- [Create Entity Payment Instrument](https://developer.digits.com/reference/entitypaymentinstrumentservice_create.md): Create or update a payment instrument owned by an organization entity. The entity's first instrument  becomes its default funding instrument; an existing default is never overwritten.
- [Delete Entity Payment Instruments](https://developer.digits.com/reference/entitypaymentinstrumentservice_delete.md): Delete entity payment instruments by Digits-assigned or caller-assigned IDs. Unknown IDs are skipped.  A deleted payment instrument becomes unavailable for any future payments; any in-flight payments continue to use it.
- [Query Entity Payment Instruments](https://developer.digits.com/reference/entitypaymentinstrumentservice_query.md): Find entity payment instruments by Digits-assigned or caller-assigned IDs.
- [Get SSO Config](https://developer.digits.com/reference/ssoconfigservice_get.md): Returns the SSO configuration for the organization. The organization must  have SSO previously configured.
- [List SSO Users](https://developer.digits.com/reference/ssouserservice_list.md): List all SSO users in the organization. The organization must have SSO  configured.
- [Audit SSO Users](https://developer.digits.com/reference/ssoauditservice_audit.md): Audit all SSO users in the organization with their current client organization access.
- [Get SSO User](https://developer.digits.com/reference/ssouserservice_get.md): Get a single SSO user by their Digits-assigned ID. The organization must have SSO  configured.
- [Create SSO User](https://developer.digits.com/reference/ssouserservice_create.md): Create a new SSO user. The organization must have SSO configured. A deleted  user is reactivated when recreated by the same identity provider, whether  under the previous subject identifier or a new one. Recreation from a  different identity provider is rejected. Returns the Digits-assigned ID and  caller-assigned ID mapping. This operation is synchronous.   Requires scope: `user:sync`.
- [Delete SSO User](https://developer.digits.com/reference/ssouserservice_delete.md): Delete an SSO user. The organization must have SSO configured. Removes the  user and their employee and entity access from the organization and its client  organizations. This operation is synchronous.   Requires scope: `user:sync`.
- [Bulk Delete SSO Users](https://developer.digits.com/reference/ssouserservice_bulkdelete.md): Delete multiple SSO users by Digits-assigned ID or caller-assigned ID. The  organization must have SSO configured. Removes each user and their employee  and entity access from the organization and its client organizations. This  operation is synchronous.   Requires scope: `user:sync`.
- [List Clients](https://developer.digits.com/reference/organizationclientservice_list.md): List all client organizations affiliated with the organization.
- [Get Client](https://developer.digits.com/reference/organizationclientservice_get.md): Get a single client organization by its Digits-assigned ID.
- [Create Client](https://developer.digits.com/reference/organizationclientservice_create.md): Provision a new client organization with one or more entities. The client  and entity objects are created synchronously, but data provisioning for  each entity completes asynchronously.   Requires scope: `organization:sync`.
- [Bulk Create Clients](https://developer.digits.com/reference/organizationclientservice_bulkcreate.md): Provision multiple client organizations in a single request. Maximum 100  entities total across all clients per request. Each client is created  synchronously, but entity data provisioning completes asynchronously.   Requires scope: `organization:sync`.
- [Delete Client](https://developer.digits.com/reference/organizationclientservice_delete.md): Delete a client organization managed by the caller's organization. The  client organization and its entities are removed. Employee bindings in the  client organization and entity-role bindings on the client's entities are  removed. Users are not deleted.   Requires scope: `organization:sync`.
- [Bulk Delete Clients](https://developer.digits.com/reference/organizationclientservice_bulkdelete.md): Delete multiple client organizations by Digits-assigned ID or caller-assigned ID.  Maximum 100 per request. Client organizations and their entities are removed.  Employee bindings in each client organization and entity-role bindings on  each client's entities are removed. Users are not deleted.   Requires scope: `organization:sync`.
- [Update Client Employee](https://developer.digits.com/reference/clientemployeeservice_updateclientemployee.md): Replace a client employee's access within a client organization. The client  employee binding must already exist and be active. If it does not exist or  is not active, the request fails with NotFound; use Create Client Employee  to create or reactivate access. This operation is synchronous and  declarative: the client employee's organization role and entity-role  bindings within this client organization are replaced by the request body.   Requires scope: `organization:sync`.
- [Create Client Employee](https://developer.digits.com/reference/clientemployeeservice_createclientemployee.md): Create or reactivate a client employee's access to a client organization. Both the  user and client organization must already exist. This operation is synchronous.  If the client employee binding already exists and is active, the request fails with  AlreadyExists; use Update Client Employee to fully replace access for an  active employee binding. When reactivating a client employee, supplied roles are  applied and access omitted from the request is not removed.   Requires scope: `organization:sync`.
- [Get Client Employee](https://developer.digits.com/reference/clientemployeeservice_getclientemployee.md): Get a single client employee within a client organization by their Digits-assigned user ID.
- [Delete Client Employee](https://developer.digits.com/reference/clientemployeeservice_deleteclientemployee.md): Remove a client employee's access to a client organization. Removes the  client employee binding in the client organization and entity-role bindings  for that client's entities. The underlying user and affiliation/client roles  are not deleted.   Requires scope: `organization:sync`.
- [List Client Employees](https://developer.digits.com/reference/clientemployeeservice_listclientemployees.md): List all client employees with access to a client organization.
- [Bulk Create Client Employees](https://developer.digits.com/reference/clientemployeeservice_bulkcreateclientemployees.md): Create or reactivate multiple client employees' access across multiple client organizations in a single request.  Users and client organizations must already exist. This operation is synchronous. An  entry for an already-active employee binding succeeds without changing  access when the request matches existing access; otherwise, that entry  fails with AlreadyExists. Use Update Client Employee to fully replace  access for active employee bindings. When reactivating an employee,  supplied roles are applied and access omitted from the entry is not  removed.   Requires scope: `organization:sync`.
- [Bulk Delete Client Employees](https://developer.digits.com/reference/clientemployeeservice_bulkdeleteclientemployees.md): Remove employee access across multiple client organizations by Digits-assigned  user ID or caller-assigned user ID. Maximum 100 per request. Removes matching  client employee bindings and entity-role bindings for those clients'  entities. Underlying users and affiliation/client roles are not deleted.   Requires scope: `organization:sync`.
- [List Client Entities](https://developer.digits.com/reference/cliententityservice_listentities.md): List all entities within a client organization.
- [Get Client Entity](https://developer.digits.com/reference/cliententityservice_getentity.md): Get a single entity within a client organization by its Digits-assigned ID.
- [Create Client Entity](https://developer.digits.com/reference/cliententityservice_createentity.md): Create a new entity within a client organization. The entity object is created  synchronously, but data provisioning completes asynchronously.   Requires scope: `organization:sync`.
- [Delete Client Entity](https://developer.digits.com/reference/cliententityservice_deleteentity.md): Delete an entity within a client organization. Removes all employee  entity-role bindings for this entity.   Requires scope: `organization:sync`.
- [Bulk Delete Client Entities](https://developer.digits.com/reference/cliententityservice_bulkdeleteentities.md): Delete multiple client entities by Digits-assigned ID or caller-assigned ID.  Maximum 100 per request. Removes all employee entity-role bindings  for the specified entities.   Requires scope: `organization:sync`.
- [Create Client Payment Instrument](https://developer.digits.com/reference/clientpaymentinstrumentservice_create.md): Create or update a payment instrument owned by a client entity.
- [Delete Client Payment Instruments](https://developer.digits.com/reference/clientpaymentinstrumentservice_delete.md): Delete client payment instruments by Digits-assigned or caller-assigned IDs. Unknown IDs are skipped.  A deleted payment instrument becomes unavailable for any future payments; any in-flight payments continue to use it.
- [Query Client Payment Instruments](https://developer.digits.com/reference/clientpaymentinstrumentservice_query.md): Find client payment instruments by Digits-assigned or caller-assigned IDs.
- [Receive Webhook Event](https://developer.digits.com/reference/receivewebhookevent.md): Digits sends this JSON request body to your configured webhook endpoint. Return any 2xx response to acknowledge receipt; the response body is ignored.
- [Ingest Workflow Bill](https://developer.digits.com/reference/workflowbillservice_ingest.md): Ingest one vendor bill document for asynchronous processing. Repeating an  equivalent request with the same external ID returns the existing bill and  attempt identities; a different request with that external ID is rejected.   Requires scope: `bills:manage`.
- [Sync Workflow Bills](https://developer.digits.com/reference/workflowbillservice_sync.md): Create or reconcile 1–100 complete workflow bills as full snapshots. An  exact replay returns the same bill identities without an Accounting write;  a material update follows the bill's current lifecycle and approver-access  policy. Results preserve request order.   Validation and payment-destination preflight finish before Accounting.  Accounting commits the bill batch atomically, then Payments reconciles  destinations atomically, then bill events publish. A failure in a later  service does not roll back an earlier service's committed work.   Webhook event identity uses the persisted whole-second bill mutation  time. Two material updates to the same bill within one second can share a  deduplication [redacted] and suppress the later webhook. An exact no-op replay  cannot recover a missing event after the mutation has committed.   Requires scope: `bills:manage`.
- [Query Workflow Bills](https://developer.digits.com/reference/workflowbillservice_query.md): Query workflow bills visible to the caller.   Requires scope: `bills:manage`.
- [Get Workflow Bill](https://developer.digits.com/reference/workflowbillservice_get.md): Get a workflow bill by its Digits-assigned ID.   Requires scope: `bills:manage`.
- [Submit Workflow Bills](https://developer.digits.com/reference/workflowbillservice_submit.md): Submit one or more draft bills for approval.   Requires scope: `bills:manage`.
- [Approve Workflow Bills](https://developer.digits.com/reference/workflowbillservice_approve.md): Approve one or more bills awaiting approval.   Requires scope: `bills:manage`.
- [Pay Workflow Bills](https://developer.digits.com/reference/workflowbillservice_pay.md): Pay one or more approved bills, either through Digits-managed payment rails or by recording an external/manual payment.   Requires scope: `bills:manage`.
- [Reject Workflow Bills](https://developer.digits.com/reference/workflowbillservice_reject.md): Reject one or more bills awaiting approval.   Requires scope: `bills:manage`.
- [Void Workflow Bills](https://developer.digits.com/reference/workflowbillservice_void.md): Void one or more eligible bills.   Requires scope: `bills:manage`.
- [Update Workflow Bill Payment Status](https://developer.digits.com/reference/workflowbillservice_updatepaymentstatus.md): Report externally managed payment lifecycle updates for one or more bills.   Requires scope: `bills:manage`.
- [Delete Workflow Bills](https://developer.digits.com/reference/workflowbillservice_delete.md): Delete one or more pre-approval bills.   Requires scope: `bills:manage`.

## Recipes
- [Connection Source Setup](https://developer.digits.com/recipes/connection-source-setup.md)
- [Application Authorization](https://developer.digits.com/recipes/exchange-authorization-code.md)
- [Syncing Transactions](https://developer.digits.com/recipes/syncing-transactions.md)
- [[redacted] Exchange](https://developer.digits.com/recipes/[redacted]-exchange.md)
$curl -s https://api.digits.com/.well-known/oauth-protected-resourcereproduced
$ curl -s https://api.digits.com/.well-known/oauth-protected-resource
{"resource":"https://api.digits.com/mcp","authorization_servers":["https://api.digits.com"],"bearer_methods_supported":["header"]}
$curl -si -X POST https://api.digits.com/mcp -H 'Content-Type: application/json' -d '<jsonrpc initialize>'reproduced
$ curl -si -X POST https://api.digits.com/mcp -H 'Content-Type: application/json' -d '<jsonrpc initialize>'
HTTP/2 401

content-type: application/json

strict-transport-security: max-age=31536000

www-authenticate: Bearer resource_metadata="https://api.digits.com/.well-known/oauth-protected-resource"

x-digits-trace: 262923978640d285c0d5878335837bd7

date: Wed, 16 Sep 2026 17:53:08 GMT

content-length: 33

via: 1.1 google

alt-svc: h3=":443"; ma=2592000

{"error":"missing bearer [redacted]"}

Claims vs evidence — vendor claims reconciled against independent verdictsClaims vs evidence

5 of 25 testable claims verified · 0 contradictedintegrity 20/100

37 distinct capability claims found in Digits’s own claimed-docs/GitHub materials, reconciled against our judge’s independent verdicts.

5

Verified

20

Unverified

0

Contradicted

14

Undersold

Verified (8)
Unverified (29)
Undersold (14)
Claims outside our story set (4)

Real capability claims found in Digits’s own materials, but no story in this arena’s taxonomy covers them yet — that’s feedback on the taxonomy, not a mark against the product.

  • Enriches vendor data by researching and hydrating vendor details from raw transaction descriptions

    source ↗
  • Supports idempotent API writes so repeated transaction syncs never create duplicates

    source ↗
  • Native mobile apps for iPhone and iPad

    source ↗
  • Encrypts uploaded financial reports with per-secret envelope encryption and encrypts data at rest

    source ↗
Suggest a story for these →

Business model

subscription-flatenterprise-custom

Per-business monthly plans (Essentials $65, Core $100, Pro $250) with unlimited seats and a 30-day trial; accounting firms get client-volume tiers with custom enterprise pricing.

pricing ↗

Score trend

How this product’s scores have moved as evidence and verdicts are re-derived — a point per change, not per day.

PA Scoretracked since Sep 16 '26 — no movement recorded yet
Agent-readytracked since Sep 16 '26 — no movement recorded yet

Try Experimental

Run it in the microterminal →

Recorded agent sessions — and a live MCP handshake where the vendor ships one.

Flag

⚑ Flag a verdict

Think a verdict is wrong? Opens a prefilled GitHub issue — or use the ⚑ next to any verdict above.

Badge

Embed this product's score badge →

Hotlinked SVG — always shows the live current score.

For agents

Data

⚿ auth1 auth-gated probe