Rank #2 of 11 in Accounting & Bookkeeping
Access
Install
claude mcp add --transport streamable-http digits https://api.digits.com/mcpTry 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 liveVerified 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
Automation depth — how much of the product can run unattendedAutomation depthevidence →
How much of the product can run unattended
Banking reconciliation — stories about banking reconciliation in this arenaBanking reconciliationevidence →
Stories about banking reconciliation in this arena
Bills ap — stories about bills ap in this arenaBills apevidence →
Stories about bills ap in this arena
Close collaboration — stories about close collaboration in this arenaClose collaborationevidence →
Stories about close collaboration in this arena
Integrations data — stories about integrations data in this arenaIntegrations dataevidence →
Stories about integrations data in this arena
Invoicing ar — stories about invoicing ar in this arenaInvoicing arevidence →
Stories about invoicing ar in this arena
Ledger coa — stories about ledger coa in this arenaLedger coaevidence →
Stories about ledger coa in this arena
Multi entity audit — stories about multi entity audit in this arenaMulti entity auditevidence →
Stories about multi entity audit in this arena
Openness — open source, data portability, and self-hosting storiesOpennessevidence →
Open source, data portability, and self-hosting stories
Privacy posture — data-handling and privacy storiesPrivacy postureevidence →
Data-handling and privacy stories
Reporting statements — stories about reporting statements in this arenaReporting statementsevidence →
Stories about reporting statements in this arena
Story verdicts — every judged story with its evidenceStory verdicts
Follow the green: where the map greys out is where Digits stops today. ✓ full · ~ partial · ! disputed · — none · n/a not applicable.
Agenticness — how well agents can access and operate the productAgenticness
How well agents can access and operate the product
API surface
Drive the product through a documented public API
✓9/10
unlocks → Official CLI
Subscribe to events via webhooks
~6/10
Build against official SDKs
~5/10
Issue scoped/least-privilege API credentials for an agent
~6/10
Connect an agent via an official MCP server
✓9/10
Download a machine-readable API spec (OpenAPI or equivalent)
✓8/10
Rely on versioned APIs with a documented deprecation policy
~5/10
Test against a sandbox environment without touching production data
✓8/10
Explore an interactive API reference with runnable examples
~6/10
Docs for agents
Point an agent at llms.txt or agent-oriented docs
✓9/10
Agentic features
Delegate tasks to a built-in AI assistant inside the product
~6/10
unlocks → MCP client
Operate the product with natural-language commands
✓7/10
Plug MCP servers into this product so it can use their tools
—0/10
Get AI-generated insights and suggestions from my data inside the product
✓8/10
Set up automations that run autonomously in the background
~7/10
Automation depth — how much of the product can run unattendedAutomation depth
How much of the product can run unattended
Banking reconciliation — stories about banking reconciliation in this arenaBanking reconciliation
Stories about banking reconciliation in this arena
Have an agent reconcile a month end-to-end, matching transactions, flagging exceptions, and preparing the close for human review
~6/10
Connect bank and credit-card accounts so transactions import automatically every day
✓8/10
Get automatic categorization suggestions for imported transactions that learn from my corrections
~6/10
Reconcile each bank account against the ledger with matched, unmatched, and duplicate transactions surfaced for review
~5/10
Bills ap — stories about bills ap in this arenaBills ap
Stories about bills ap in this arena
Close collaboration — stories about close collaboration in this arenaClose collaboration
Stories about close collaboration in this arena
Integrations data — stories about integrations data in this arenaIntegrations data
Stories about integrations data in this arena
Invoicing ar — stories about invoicing ar in this arenaInvoicing ar
Stories about invoicing ar in this arena
Ledger coa — stories about ledger coa in this arenaLedger coa
Stories about ledger coa in this arena
Multi entity audit — stories about multi entity audit in this arenaMulti entity audit
Stories about multi entity audit in this arena
Openness — open source, data portability, and self-hosting storiesOpenness
Open source, data portability, and self-hosting stories
Privacy posture — data-handling and privacy storiesPrivacy posture
Data-handling and privacy stories
Reporting statements — stories about reporting statements in this arenaReporting statements
Stories about reporting statements in this arena
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 user | Agenticness — how well agents can access and operate the productAgenticness | 3 | full | 9/10 | Tprobed⚿ | |
Drive the product through a documented public API G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 3 | full | 9/10 | Tprobed | |
Delegate tasks to a built-in AI assistant inside the product G Agentic features | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 3 | partial | 6/10 | Cclaimed | |
Plug MCP servers into this product so it can use their tools G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 3 | none | 0/10 | ⚿ | |
Point an agent at llms.txt or agent-oriented docs G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | full | 9/10 | Tprobed | |
Download a machine-readable API spec (OpenAPI or equivalent) G Api quality | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | full | 8/10 | Tprobed | |
Get AI-generated insights and suggestions from my data inside the product G Agentic features | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | full | 8/10 | Tprobed⚿ | |
Operate the product with natural-language commands G Agentic features | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | full | 7/10 | Tprobed⚿ | |
Set up automations that run autonomously in the background G Agentic features | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | partial | 7/10 | Cclaimed | |
Explore an interactive API reference with runnable examples G Api quality | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | partial | 6/10 | Tprobed | |
Issue scoped/least-privilege API credentials for an agent G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | partial | 6/10 | Tprobed⚿ | |
Subscribe to events via webhooks G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | partial | 6/10 | Cclaimed | |
Build against official SDKs G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | partial | 5/10 | Tprobed | |
Rely on versioned APIs with a documented deprecation policy G Api quality | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | partial | 5/10 | Cclaimed | |
Run the product headlessly / in CI for automation G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | partial | 5/10 | Tprobed⚿ | |
Use an official CLI G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | none | untested | none yet | |
Test against a sandbox environment without touching production data G Api quality | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 1 | full | 8/10 | Cclaimed | |
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 user | Reporting statements — stories about reporting statements in this arenaReporting statements | 3 | full | 9/10 | Tprobed⚿ | |
Connect bank and credit-card accounts so transactions import automatically every day G Bank feeds | founder | Banking reconciliation — stories about banking reconciliation in this arenaBanking reconciliation | 3 | full | 8/10 | Cclaimed | |
Generate an accurate P&L, balance sheet, and cash-flow statement for any period on demand C Statements | founder | Reporting statements — stories about reporting statements in this arenaReporting statements | 3 | full | 8/10 | Cclaimed | |
Have an agent monitor the ledger and flag anomalies in spend or duplicate transactions before the close C Ai audit | ai-native user | Multi entity audit — stories about multi entity audit in this arenaMulti entity audit | 3 | partial | 6/10 | Cclaimed | |
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 user | Banking reconciliation — stories about banking reconciliation in this arenaBanking reconciliation | 3 | partial | 6/10 | Cclaimed | |
Invite my external accountant or bookkeeper with role-scoped access to review and adjust the books C Collaboration | founder | Close collaboration — stories about close collaboration in this arenaClose collaboration | 3 | partial | 6/10 | Cclaimed | |
Pull the full general ledger and trial balance through a documented API in open formats G Data access | developer | Integrations data — stories about integrations data in this arenaIntegrations data | 3 | partial | 6/10 | Tprobed | |
Run a month-end close against a checklist that tracks reconciliations, accruals, and review sign-offs C Close process | accountant | Close collaboration — stories about close collaboration in this arenaClose collaboration | 3 | partial | 6/10 | Cclaimed | |
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 user | Ledger coa — stories about ledger coa in this arenaLedger coa | 3 | partial | 5/10 | Cclaimed | |
Reconcile each bank account against the ledger with matched, unmatched, and duplicate transactions surfaced for review C Reconciliation | accountant | Banking reconciliation — stories about banking reconciliation in this arenaBanking reconciliation | 3 | partial | 5/10 | Cclaimed | |
Customize the chart of accounts with account types, sub-accounts, and class or tag dimensions C Chart of accounts | accountant | Ledger coa — stories about ledger coa in this arenaLedger coa | 3 | partial | 4/10 | Cclaimed | |
Export all of my data in open formats and leave G | ai-native user | Openness — open source, data portability, and self-hosting storiesOpenness | 3 | partial | 4/10 | Cclaimed | |
Create and send invoices with online payment options and see when they are viewed and paid C Invoicing | founder | Invoicing ar — stories about invoicing ar in this arenaInvoicing ar | 3 | partial | 3/10 | Cclaimed | |
Define rules that trigger actions automatically on events G | ai-native user | Automation depth — how much of the product can run unattendedAutomation depth | 3 | partial | 3/10 | Cclaimed | |
Post manual journal entries with balanced debits, credits, and supporting memos C Journal entries | accountant | Ledger coa — stories about ledger coa in this arenaLedger coa | 3 | none | 0/10 | ||
Prevent my data from being used to train AI models G | ai-native user | Privacy posture — data-handling and privacy storiesPrivacy posture | 3 | n/a | untested | none yet | |
See a complete audit trail of who changed what and when across the entire ledger C Audit trail | accountant | Multi entity audit — stories about multi entity audit in this arenaMulti entity audit | 3 | none | untested | none yet | |
Self-host the core product G | ai-native user | Openness — open source, data portability, and self-hosting storiesOpenness | 3 | n/a | untested | none yet | |
Connect my banking, payments, and payroll systems so their activity flows into the ledger automatically C Integrations | founder | Integrations data — stories about integrations data in this arenaIntegrations data | 2 | full | 8/10 | Cclaimed | |
Capture vendor bills, route them for approval, and schedule payments from one workflow C Bill management | accountant | Bills ap — stories about bills ap in this arenaBills ap | 2 | partial | 7/10 | Cclaimed | |
See accounts payable aging and vendor balances at any point in time C Payables | accountant | Bills ap — stories about bills ap in this arenaBills ap | 2 | partial | 7/10 | Cclaimed | |
Do everything through the API that I can do in the UI G | ai-native user | Openness — open source, data portability, and self-hosting storiesOpenness | 2 | partial | 6/10 | Cclaimed | |
Get automatic categorization suggestions for imported transactions that learn from my corrections C Categorization | founder | Banking reconciliation — stories about banking reconciliation in this arenaBanking reconciliation | 2 | partial | 6/10 | Cclaimed | |
Perform bulk operations across many items at once G | ai-native user | Automation depth — how much of the product can run unattendedAutomation depth | 2 | partial | 6/10 | Cclaimed | |
Track accounts receivable with aging reports and per-customer balances C Receivables | accountant | Invoicing ar — stories about invoicing ar in this arenaInvoicing ar | 2 | partial | 6/10 | Cclaimed | |
Build custom reports filtered and grouped by class, location, or tag dimensions C Custom reports | accountant | Reporting statements — stories about reporting statements in this arenaReporting statements | 2 | partial | 5/10 | Cclaimed | |
Set up recurring invoices and automatic payment reminders for overdue customers C Invoicing | founder | Invoicing ar — stories about invoicing ar in this arenaInvoicing ar | 2 | partial | 2/10 | Cclaimed | |
Manage multiple legal entities and produce consolidated financials across them C Multi entity | accountant | Multi entity audit — stories about multi entity audit in this arenaMulti entity audit | 2 | none | 0/10 | ||
Choose where my data is stored (region/residency) G | ai-native user | Privacy posture — data-handling and privacy storiesPrivacy posture | 2 | none | untested | none yet | |
Control data retention and deletion G | ai-native user | Privacy posture — data-handling and privacy storiesPrivacy posture | 2 | none | untested | none yet | |
Lock closed periods so prior-period numbers cannot change without an explicit reopening C Close process | accountant | Close collaboration — stories about close collaboration in this arenaClose collaboration | 2 | none | untested | none yet | |
Opt out of telemetry and usage tracking G | ai-native user | Privacy posture — data-handling and privacy storiesPrivacy posture | 2 | n/a | untested | none yet | |
Read the product's source under an open license G | ai-native user | Openness — open source, data portability, and self-hosting storiesOpenness | 2 | none | untested | none yet | |
Schedule recurring jobs or workflows G | ai-native user | Automation depth — how much of the product can run unattendedAutomation depth | 2 | none | untested | none yet | |
Migrate historical books from another accounting system without losing transaction detail C Migration | founder | Integrations data — stories about integrations data in this arenaIntegrations data | 1 | partial | 4/10 | Cclaimed | |
Version, review, and roll back my automations G | ai-native user | Automation depth — how much of the product can run unattendedAutomation depth | 1 | none | 0/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.
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.
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.
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.
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'.
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.
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.
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.
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
- Point an agent at llms.txt or agent-oriented docs
- Run the product headlessly / in CI for automation
- Drive the product through a documented public API
- Issue scoped/least-privilege API credentials for an agent
- Subscribe to events via webhooks
- Set up automations that run autonomously in the background
- Download a machine-readable API spec (OpenAPI or equivalent)
- Perform bulk operations across many items at once
- Define rules that trigger actions automatically on events
- Have an agent reconcile a month end-to-end, matching transactions, flagging exceptions, and preparing the close for human review
- Capture vendor bills, route them for approval, and schedule payments from one workflow
- See accounts payable aging and vendor balances at any point in time
- Pull the full general ledger and trial balance through a documented API in open formats
- Connect my banking, payments, and payroll systems so their activity flows into the ledger automatically
- Migrate historical books from another accounting system without losing transaction detail
- Set up recurring invoices and automatic payment reminders for overdue customers
- Track accounts receivable with aging reports and per-customer balances
- Have an agent draft and post journal entries via the API and leave them in a review queue for my accountant
- Customize the chart of accounts with account types, sub-accounts, and class or tag dimensions
- Have an agent monitor the ledger and flag anomalies in spend or duplicate transactions before the close
- Do everything through the API that I can do in the UI
- Export all of my data in open formats and leave
- Ask an agent "can we afford X?" and get an answer grounded in live ledger data pulled through the API
- Generate an accurate P&L, balance sheet, and cash-flow statement for any period on demand
Product docs16 stories
- Get AI-generated insights and suggestions from my data inside the product
- Set up automations that run autonomously in the background
- Delegate tasks to a built-in AI assistant inside the product
- Operate the product with natural-language commands
- Define rules that trigger actions automatically on events
- Have an agent reconcile a month end-to-end, matching transactions, flagging exceptions, and preparing the close for human review
- Connect bank and credit-card accounts so transactions import automatically every day
- Get automatic categorization suggestions for imported transactions that learn from my corrections
- Reconcile each bank account against the ledger with matched, unmatched, and duplicate transactions surfaced for review
- Run a month-end close against a checklist that tracks reconciliations, accruals, and review sign-offs
- Connect my banking, payments, and payroll systems so their activity flows into the ledger automatically
- Customize the chart of accounts with account types, sub-accounts, and class or tag dimensions
- Have an agent monitor the ledger and flag anomalies in spend or duplicate transactions before the close
- Do everything through the API that I can do in the UI
- Ask an agent "can we afford X?" and get an answer grounded in live ledger data pulled through the API
- Build custom reports filtered and grouped by class, location, or tag dimensions
llms.txt15 stories
- Point an agent at llms.txt or agent-oriented docs
- Get AI-generated insights and suggestions from my data inside the product
- Set up automations that run autonomously in the background
- Perform bulk operations across many items at once
- Have an agent reconcile a month end-to-end, matching transactions, flagging exceptions, and preparing the close for human review
- Connect bank and credit-card accounts so transactions import automatically every day
- Get automatic categorization suggestions for imported transactions that learn from my corrections
- Reconcile each bank account against the ledger with matched, unmatched, and duplicate transactions surfaced for review
- Run a month-end close against a checklist that tracks reconciliations, accruals, and review sign-offs
- Invite my external accountant or bookkeeper with role-scoped access to review and adjust the books
- Connect my banking, payments, and payroll systems so their activity flows into the ledger automatically
- Track accounts receivable with aging reports and per-customer balances
- Ask an agent "can we afford X?" and get an answer grounded in live ledger data pulled through the API
- Build custom reports filtered and grouped by class, location, or tag dimensions
- Generate an accurate P&L, balance sheet, and cash-flow statement for any period on demand
docs13 stories
- Point an agent at llms.txt or agent-oriented docs
- Run the product headlessly / in CI for automation
- Drive the product through a documented public API
- Issue scoped/least-privilege API credentials for an agent
- Build against official SDKs
- Explore an interactive API reference with runnable examples
- Download a machine-readable API spec (OpenAPI or equivalent)
- Test against a sandbox environment without touching production data
- Rely on versioned APIs with a documented deprecation policy
- Pull the full general ledger and trial balance through a documented API in open formats
- Have an agent draft and post journal entries via the API and leave them in a review queue for my accountant
- Do everything through the API that I can do in the UI
- Export all of my data in open formats and leave
API reference13 stories
- Run the product headlessly / in CI for automation
- Drive the product through a documented public API
- Perform bulk operations across many items at once
- Reconcile each bank account against the ledger with matched, unmatched, and duplicate transactions surfaced for review
- Pull the full general ledger and trial balance through a documented API in open formats
- Connect my banking, payments, and payroll systems so their activity flows into the ledger automatically
- Migrate historical books from another accounting system without losing transaction detail
- Track accounts receivable with aging reports and per-customer balances
- Have an agent draft and post journal entries via the API and leave them in a review queue for my accountant
- Customize the chart of accounts with account types, sub-accounts, and class or tag dimensions
- Do everything through the API that I can do in the UI
- Ask an agent "can we afford X?" and get an answer grounded in live ledger data pulled through the API
- Generate an accurate P&L, balance sheet, and cash-flow statement for any period on demand
Agl docs9 stories
- Delegate tasks to a built-in AI assistant inside the product
- Operate the product with natural-language commands
- Connect bank and credit-card accounts so transactions import automatically every day
- Get automatic categorization suggestions for imported transactions that learn from my corrections
- Capture vendor bills, route them for approval, and schedule payments from one workflow
- See accounts payable aging and vendor balances at any point in time
- Create and send invoices with online payment options and see when they are viewed and paid
- Set up recurring invoices and automatic payment reminders for overdue customers
- Do everything through the API that I can do in the UI
Firms connections docs8 stories
- Connect an agent via an official MCP server
- Issue scoped/least-privilege API credentials for an agent
- Operate the product with natural-language commands
- Have an agent reconcile a month end-to-end, matching transactions, flagging exceptions, and preparing the close for human review
- Have an agent draft and post journal entries via the API and leave them in a review queue for my accountant
- Have an agent monitor the ledger and flag anomalies in spend or duplicate transactions before the close
- Do everything through the API that I can do in the UI
- Ask an agent "can we afford X?" and get an answer grounded in live ledger data pulled through the API
MCP docs6 stories
- Run the product headlessly / in CI for automation
- Connect an agent via an official MCP server
- Issue scoped/least-privilege API credentials for an agent
- Get AI-generated insights and suggestions from my data inside the product
- Operate the product with natural-language commands
- Ask an agent "can we afford X?" and get an answer grounded in live ledger data pulled through the API
OpenAPI spec5 stories
help.digits.com5 stories
- Connect bank and credit-card accounts so transactions import automatically every day
- Migrate historical books from another accounting system without losing transaction detail
- Export all of my data in open formats and leave
- Build custom reports filtered and grouped by class, location, or tag dimensions
- Generate an accurate P&L, balance sheet, and cash-flow statement for any period on demand
Blog docs4 stories
Pricing docs4 stories
- Invite my external accountant or bookkeeper with role-scoped access to review and adjust the books
- Customize the chart of accounts with account types, sub-accounts, and class or tag dimensions
- Build custom reports filtered and grouped by class, location, or tag dimensions
- Generate an accurate P&L, balance sheet, and cash-flow statement for any period on demand
Security docs4 stories
- Have an agent reconcile a month end-to-end, matching transactions, flagging exceptions, and preparing the close for human review
- Reconcile each bank account against the ledger with matched, unmatched, and duplicate transactions surfaced for review
- Run a month-end close against a checklist that tracks reconciliations, accruals, and review sign-offs
- Have an agent monitor the ledger and flag anomalies in spend or duplicate transactions before the close
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 contradicted → integrity 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)
“Authenticates API access via OAuth 2.0 authorization code grant with granular, space-separated scopes”
Issue scoped/least-privilege API credentials for an agentpartialproof ↗
“Publishes a complete OpenAPI 3.0 specification with codegen support for 50+ languages”
Download a machine-readable API spec (OpenAPI or equivalent)fullproof ↗
“Provides an llms.txt file and markdown mirrors of all docs pages for AI agent consumption”
Point an agent at llms.txt or agent-oriented docsfullproof ↗
“Hosts an official MCP server letting Claude, ChatGPT, Cursor and Perplexity query live financial data via OAuth login, no API keys needed”
“MCP server access is read-only — it can analyze but not modify account data”
“Positions the ledger as an agent-queryable surface for Claude, ChatGPT, Cursor and any MCP-compatible tool”
“Ask Digits AI assistant answers financial questions and can complete tasks on request”
Ask an agent "can we afford X?" and get an answer grounded in live ledger data pulled through the APIfullproof ↗
“API provides a complete bills workflow — ingest, query, submit, approve, pay, reject, void — gated by a bills:manage scope”
Issue scoped/least-privilege API credentials for an agentpartialproof ↗
Unverified (29)
“Automatically categorizes and deduplicates raw transaction data via API, with AI interpreting entries without custom mapping logic”
Get automatic categorization suggestions for imported transactions that learn from my correctionspartialproof ↗
“Offers a resettable, pre-loaded developer sandbox/demo environment separate from production”
Test against a sandbox environment without touching production datafullproof ↗
“Uses route-based URL versioning for the API”
Rely on versioned APIs with a documented deprecation policypartialproof ↗
“Auto-books over 95% of transactions in real time, keeping financials always up to date”
Connect bank and credit-card accounts so transactions import automatically every dayfullproof ↗
“Provides real-time categorization, automated reconciliations, and live connected financial data”
Reconcile each bank account against the ledger with matched, unmatched, and duplicate transactions surfaced for reviewpartialproof ↗
“Offers dimensional reporting, cash flow and runway tracking, and trend insights”
Build custom reports filtered and grouped by class, location, or tag dimensionspartialproof ↗
“Runs an AI-native month-end close: continuously books transactions, starts reconciliation, generates schedules, runs QC, and surfaces exceptions”
Have an agent reconcile a month end-to-end, matching transactions, flagging exceptions, and preparing the close for human reviewpartialproof ↗
“Runs an AI-native month-end close: continuously books transactions, starts reconciliation, generates schedules, runs QC, and surfaces exceptions”
Run a month-end close against a checklist that tracks reconciliations, accruals, and review sign-offspartialproof ↗
“Generates depreciation/accrual schedules directly from ledger activity as part of the agentic close”
Have an agent reconcile a month end-to-end, matching transactions, flagging exceptions, and preparing the close for human reviewpartialproof ↗
“Surfaces close exceptions with context on what was attempted and why”
Have an agent monitor the ledger and flag anomalies in spend or duplicate transactions before the closepartialproof ↗
“Generates real-time, customizable financial statements directly from the ledger with review/collaboration features”
Generate an accurate P&L, balance sheet, and cash-flow statement for any period on demandfullproof ↗
“Provides real-time customizable dashboards of revenue, expenses, cash and other key metrics”
Generate an accurate P&L, balance sheet, and cash-flow statement for any period on demandfullproof ↗
“Ask Digits AI assistant answers financial questions and can complete tasks on request”
Delegate tasks to a built-in AI assistant inside the productpartialproof ↗
“Bill Pay workflow: drag, drop, approve and pay vendor bills”
Capture vendor bills, route them for approval, and schedule payments from one workflowpartialproof ↗
“Invoicing feature to create and send invoices to get paid faster”
Create and send invoices with online payment options and see when they are viewed and paidpartialproof ↗
“Real-time integrations with 12,000+ financial institutions including Gusto, Stripe and Ramp”
Connect my banking, payments, and payroll systems so their activity flows into the ledger automaticallyfullproof ↗
“Adds automated quality checks (11 new) to streamline closing the books”
Run a month-end close against a checklist that tracks reconciliations, accruals, and review sign-offspartialproof ↗
“Supports migrating historical books to Digits from QuickBooks”
Migrate historical books from another accounting system without losing transaction detailpartialproof ↗
“Lets users create custom reports”
Build custom reports filtered and grouped by class, location, or tag dimensionspartialproof ↗
“Lets users add new bank/financial connections”
Connect bank and credit-card accounts so transactions import automatically every dayfullproof ↗
“API reference exposes on-demand statement generation (balance sheet, cash flow, P&L, trial balance) and AP/AR aging reports”
Generate an accurate P&L, balance sheet, and cash-flow statement for any period on demandfullproof ↗
“API reference exposes on-demand statement generation (balance sheet, cash flow, P&L, trial balance) and AP/AR aging reports”
See accounts payable aging and vendor balances at any point in timepartialproof ↗
“API supports fetching the full chart of accounts from the ledger”
Customize the chart of accounts with account types, sub-accounts, and class or tag dimensionspartialproof ↗
“API supports batch transaction sync with idempotence via an external_id field”
Perform bulk operations across many items at oncepartialproof ↗
“API delivers webhook events to a configured endpoint”
“API provides a complete bills workflow — ingest, query, submit, approve, pay, reject, void — gated by a bills:manage scope”
Capture vendor bills, route them for approval, and schedule payments from one workflowpartialproof ↗
“AGL uses proprietary AI models trained on 170M+ transactions ($875B) for real-time reconciliation and classification”
Have an agent monitor the ledger and flag anomalies in spend or duplicate transactions before the closepartialproof ↗
“Similarity models eliminate the need to manually categorize every expense”
Get automatic categorization suggestions for imported transactions that learn from my correctionspartialproof ↗
“Offers self-serve pricing with a 30-day free trial and firm plans with unlimited team seats and role-based permissions”
Invite my external accountant or bookkeeper with role-scoped access to review and adjust the bookspartialproof ↗
Undersold (14)
Run the product headlessly / in CI for automationpartialproof ↗
Drive the product through a documented public APIfullproof ↗
Get AI-generated insights and suggestions from my data inside the productfullproof ↗
Set up automations that run autonomously in the backgroundpartialproof ↗
Operate the product with natural-language commandsfullproof ↗
Explore an interactive API reference with runnable examplespartialproof ↗
Define rules that trigger actions automatically on eventspartialproof ↗
Pull the full general ledger and trial balance through a documented API in open formatspartialproof ↗
Set up recurring invoices and automatic payment reminders for overdue customerspartialproof ↗
Track accounts receivable with aging reports and per-customer balancespartialproof ↗
Have an agent draft and post journal entries via the API and leave them in a review queue for my accountantpartialproof ↗
Do everything through the API that I can do in the UIpartialproof ↗
Export all of my data in open formats and leavepartialproof ↗
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 ↗
Business model
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.
Try Experimental
Run it in the microterminal →Recorded agent sessions — and a live MCP handshake where the vendor ships one.
Flag
⚑ Flag a verdictThink a verdict is wrong? Opens a prefilled GitHub issue — or use the ⚑ next to any verdict above.
For agents
