@Maxed-OSS

Maxed

The AI-Native Open-Source Operating System for CPA Firms

Maxed OSS

An AI-native, agentic open-source toolkit for accounting. These are the deterministic, auditable building blocks an AI agent needs to actually do accounting work: parse a messy bank statement, classify a document, validate an engagement against an open spec, do money math without floating-point drift, and check a webhook signature. Every tool is built to be called by an agent, and maxed-mcp is the front door.

Maxed is a commercial, AI-native accounting platform. We open-source the commodity building blocks our industry shares, released under Apache-2.0 with real tests, real docs, and stable interfaces. What we keep is the higher-level automation that is actually ours to keep. The shared foundation underneath it is here, and it is useful on its own whether or not you ever touch the Maxed product.

Why agent-ready

Agents are good at judgement and bad at arithmetic, parsing, and signature checks. So the deterministic parts of this work belong in deterministic tools an agent can call, not in a prompt. Across the suite that means:

  • maxed-mcp speaks the Model Context Protocol, so any MCP client can call the whole toolkit through one server, with structured JSON in and out.
  • --json everywhere. The CLIs and validators emit machine-readable JSON with documented error envelopes and stable exit codes, so a tool call either succeeds with data or fails with a reason an agent can branch on.
  • llms.txt and AGENT.md on each tool document the machine interface (tool name, JSON shapes, exit codes) for the agents that read them.
  • Deterministic and honest. The same input always yields the same output, and an unconfigured tool says what it needs rather than inventing an answer. Nothing here is generative and nothing is faked.

A tour of the repos

The agentic front door

  • maxed-mcp - one MCP server that fronts the suite's deterministic tools so an AI agent can call them the way it calls any other MCP tool: normalize a bank statement, normalize an OFX/QFX download, classify a document, validate a workpaper-spec document, do exact money math, and verify a webhook HMAC. It shells out to the tools that ship a CLI and parses their JSON, computes the small pure primitives in-process, and returns a uniform error envelope. This is where an agent starts.

The spec, the CLI, and the adapters

These define the common language and the developer on-ramp to the suite.

  • cpa-workpaper-spec - Open JSON Schema and OpenAPI vocabulary for CPA engagements: engagements, monthly-close checklists with the open-items loop, tax-prep stage models, engagement-letter config, and request-list (PBC) items. It standardizes how to describe this work so two systems can exchange it. The offline validator speaks stdin and --json.
  • accounting-adapters - One normalized read interface over public accounting APIs (QBO, Xero, Bill.com, TaxDome, Plaid, FreshBooks, Wave). A single provider-agnostic data model plus a cross-provider diff, with a list/diff CLI that has a zero-credential --sandbox mode and --json output.
  • maxed-cli - The developer front door. Scaffolds a local dev project pre-wired to the suite, validates configuration, lints workpaper-spec documents, and runs a fully local sandbox connector smoke-test. Every command supports --json, and maxed tools --json prints a self-describing command manifest for agents.

Parsers and normalizers

The deterministic, auditable file-to-data layer.

  • statement-normalizer - Turns messy bank and credit-card statements (CSV, OFX/QFX, MT940, CAMT.053, QIF, and line-oriented text) into clean, normalized transaction JSON with a consistent sign convention, parsed dates, and proper decimal amounts. Deterministic and dependency-free.
  • ofx-normalizer - A small Go library and a single static CLI binary (ofxnorm) that parse OFX/QFX bank downloads and CSV exports into one normalized transaction schema, with no runtime dependencies.
  • doc-classifier-kit - A pluggable evaluation harness for classifying accounting documents into a fixed taxonomy (W-2, 1099, invoice, bank statement, receipt). A stable taxonomy, a hard synthetic eval set, confusion matrices, a leaderboard, and a single-doc classify --json surface, so you can drop in your own model and measure it.

Exact primitives

Small, pure, correct building blocks.

  • money-rs - Exact decimal money arithmetic in Rust with currency-aware rounding and lossless allocation. Amounts are integer minor units, so floating-point drift cannot happen.
  • webhook-hmac-verifier - Constant-time HMAC verification of inbound webhooks (Stripe, QuickBooks Online, Bill.com schemes) in Go, with a configurable replay window and zero dependencies.
  • idempotency - An idempotency-key store and Plug for safe retries of financial mutations (Elixir): a charge or ledger posting submitted twice applies exactly once.
  • backoffer - Retry with exponential backoff and jitter (Ruby). Zero dependencies; the delay schedule is a pure, testable object, so retries are deterministic under test.
  • datelite - Timezone-safe date-only (YYYY-MM-DD) parsing, formatting, and math (TypeScript). A date is three plain integers and never passes through a timezone conversion, so the off-by-one-day bug cannot happen.
  • mimefix - Re-derive a real content type for uploaded documents (Swift): extension plus magic bytes, with the bytes winning over a renamed file. Fixes the octet-stream forced-download problem deterministically.

Developer infrastructure

The backend foundation a multi-tenant app builds on.

  • deploy-templates - A developer starter kit for multi-tenant backends: a one-command local stack (Postgres with row-level security, Redis, S3-compatible storage, and an API), vendor-neutral storage and accounting-export adapters, deployment starters, and a registry-ready Terraform module. Tenant isolation is enforced by the database, and a scripted demo proves tenant A cannot read tenant B's rows.
  • rls-tenant - Postgres row-level-security multi-tenancy for Rails and ActiveRecord: set the tenant once per request and the database enforces isolation for every query.

UI

The presentation layer.

  • maxed-ui - A lightweight TypeScript and React component kit for accounting and bookkeeping screens: a register table with aligned debit/credit columns and a running balance, a forgiving money input, status pills, and a reconciliation diff view.

How they fit together

An agent connects to maxed-mcp and calls the toolkit through one server. Under the hood: parse a statement with statement-normalizer or ofx-normalizer, classify the documents around it with doc-classifier-kit, read live data through accounting-adapters and diff two systems in one call, describe the engagement and its checklist with cpa-workpaper-spec, keep the money exact with money-rs, and verify inbound webhooks with webhook-hmac-verifier. Render any of it with maxed-ui, scaffold and validate the whole thing with maxed-cli, and stand up the multi-tenant backend it runs on with deploy-templates and rls-tenant, with idempotency, backoffer, datelite, and mimefix as the retry, date, and upload plumbing around it.

Each repo stands on its own and is separately installable. Use one, use all of them, wire them into your own agent, or use them as a reference for how we think about the problem.

License

Apache-2.0 on the anchor repos (maxed-mcp, cpa-workpaper-spec, accounting-adapters, maxed-cli, statement-normalizer, doc-classifier-kit, deploy-templates, maxed-ui) and MIT on the small libraries (money-rs, ofx-normalizer, webhook-hmac-verifier, idempotency, backoffer, datelite, mimefix, rls-tenant); see each repo's LICENSE. Build whatever you want on top.

Popular repositories Loading

  1. accounting-adapters accounting-adaptersPublic

    Normalized Python interface for QuickBooks, Xero, Bill.com, TaxDome, Plaid, FreshBooks, and Wave accounting data.

    Python 3 1

  2. maxed-cli maxed-cliPublic

    Developer CLI for scaffolding accounting workspaces, validating configs, linting workpaper specs, and smoke-testing sandbox connectors.

    Python 1 1

  3. statement-normalizer statement-normalizerPublic

    Deterministic bank and card statement parser that converts CSV, OFX/QFX, MT940, CAMT.053, and text exports into normalized transaction JSON.

    Python 1 1

  4. maxed-ui maxed-uiPublic

    TypeScript and React components for accounting interfaces, including ledger tables, money inputs, reconciliation views, status pills, and selects.

    TypeScript 1

  5. maxed-mcp maxed-mcpPublic

    Model Context Protocol server that fronts the open-source accounting suite's deterministic tools: bank-statement and OFX parsing, document classification, workpaper-spec validation, exact money mat…

    Python 1 2

  6. cpa-workpaper-spec cpa-workpaper-specPublic

    Open JSON Schema and OpenAPI vocabulary for CPA engagements, close checklists, tax prep stages, engagement letters, and request list items.

    Python

Repositories

Showing 10 of 18 repositories

Top languages

Loading…

Most used topics

Loading…

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
@Maxed-OSS

Maxed

The AI-Native Open-Source Operating System for CPA Firms

Maxed OSS

An AI-native, agentic open-source toolkit for accounting. These are the deterministic, auditable building blocks an AI agent needs to actually do accounting work: parse a messy bank statement, classify a document, validate an engagement against an open spec, do money math without floating-point drift, and check a webhook signature. Every tool is built to be called by an agent, and maxed-mcp is the front door.

Maxed is a commercial, AI-native accounting platform. We open-source the commodity building blocks our industry shares, released under Apache-2.0 with real tests, real docs, and stable interfaces. What we keep is the higher-level automation that is actually ours to keep. The shared foundation underneath it is here, and it is useful on its own whether or not you ever touch the Maxed product.

Why agent-ready

Agents are good at judgement and bad at arithmetic, parsing, and signature checks. So the deterministic parts of this work belong in deterministic tools an agent can call, not in a prompt. Across the suite that means:

  • maxed-mcp speaks the Model Context Protocol, so any MCP client can call the whole toolkit through one server, with structured JSON in and out.
  • --json everywhere. The CLIs and validators emit machine-readable JSON with documented error envelopes and stable exit codes, so a tool call either succeeds with data or fails with a reason an agent can branch on.
  • llms.txt and AGENT.md on each tool document the machine interface (tool name, JSON shapes, exit codes) for the agents that read them.
  • Deterministic and honest. The same input always yields the same output, and an unconfigured tool says what it needs rather than inventing an answer. Nothing here is generative and nothing is faked.

A tour of the repos

The agentic front door

  • maxed-mcp - one MCP server that fronts the suite's deterministic tools so an AI agent can call them the way it calls any other MCP tool: normalize a bank statement, normalize an OFX/QFX download, classify a document, validate a workpaper-spec document, do exact money math, and verify a webhook HMAC. It shells out to the tools that ship a CLI and parses their JSON, computes the small pure primitives in-process, and returns a uniform error envelope. This is where an agent starts.

The spec, the CLI, and the adapters

These define the common language and the developer on-ramp to the suite.

  • cpa-workpaper-spec - Open JSON Schema and OpenAPI vocabulary for CPA engagements: engagements, monthly-close checklists with the open-items loop, tax-prep stage models, engagement-letter config, and request-list (PBC) items. It standardizes how to describe this work so two systems can exchange it. The offline validator speaks stdin and --json.
  • accounting-adapters - One normalized read interface over public accounting APIs (QBO, Xero, Bill.com, TaxDome, Plaid, FreshBooks, Wave). A single provider-agnostic data model plus a cross-provider diff, with a list/diff CLI that has a zero-credential --sandbox mode and --json output.
  • maxed-cli - The developer front door. Scaffolds a local dev project pre-wired to the suite, validates configuration, lints workpaper-spec documents, and runs a fully local sandbox connector smoke-test. Every command supports --json, and maxed tools --json prints a self-describing command manifest for agents.

Parsers and normalizers

The deterministic, auditable file-to-data layer.

  • statement-normalizer - Turns messy bank and credit-card statements (CSV, OFX/QFX, MT940, CAMT.053, QIF, and line-oriented text) into clean, normalized transaction JSON with a consistent sign convention, parsed dates, and proper decimal amounts. Deterministic and dependency-free.
  • ofx-normalizer - A small Go library and a single static CLI binary (ofxnorm) that parse OFX/QFX bank downloads and CSV exports into one normalized transaction schema, with no runtime dependencies.
  • doc-classifier-kit - A pluggable evaluation harness for classifying accounting documents into a fixed taxonomy (W-2, 1099, invoice, bank statement, receipt). A stable taxonomy, a hard synthetic eval set, confusion matrices, a leaderboard, and a single-doc classify --json surface, so you can drop in your own model and measure it.

Exact primitives

Small, pure, correct building blocks.

  • money-rs - Exact decimal money arithmetic in Rust with currency-aware rounding and lossless allocation. Amounts are integer minor units, so floating-point drift cannot happen.
  • webhook-hmac-verifier - Constant-time HMAC verification of inbound webhooks (Stripe, QuickBooks Online, Bill.com schemes) in Go, with a configurable replay window and zero dependencies.
  • idempotency - An idempotency-key store and Plug for safe retries of financial mutations (Elixir): a charge or ledger posting submitted twice applies exactly once.
  • backoffer - Retry with exponential backoff and jitter (Ruby). Zero dependencies; the delay schedule is a pure, testable object, so retries are deterministic under test.
  • datelite - Timezone-safe date-only (YYYY-MM-DD) parsing, formatting, and math (TypeScript). A date is three plain integers and never passes through a timezone conversion, so the off-by-one-day bug cannot happen.
  • mimefix - Re-derive a real content type for uploaded documents (Swift): extension plus magic bytes, with the bytes winning over a renamed file. Fixes the octet-stream forced-download problem deterministically.

Developer infrastructure

The backend foundation a multi-tenant app builds on.

  • deploy-templates - A developer starter kit for multi-tenant backends: a one-command local stack (Postgres with row-level security, Redis, S3-compatible storage, and an API), vendor-neutral storage and accounting-export adapters, deployment starters, and a registry-ready Terraform module. Tenant isolation is enforced by the database, and a scripted demo proves tenant A cannot read tenant B's rows.
  • rls-tenant - Postgres row-level-security multi-tenancy for Rails and ActiveRecord: set the tenant once per request and the database enforces isolation for every query.

UI

The presentation layer.

  • maxed-ui - A lightweight TypeScript and React component kit for accounting and bookkeeping screens: a register table with aligned debit/credit columns and a running balance, a forgiving money input, status pills, and a reconciliation diff view.

How they fit together

An agent connects to maxed-mcp and calls the toolkit through one server. Under the hood: parse a statement with statement-normalizer or ofx-normalizer, classify the documents around it with doc-classifier-kit, read live data through accounting-adapters and diff two systems in one call, describe the engagement and its checklist with cpa-workpaper-spec, keep the money exact with money-rs, and verify inbound webhooks with webhook-hmac-verifier. Render any of it with maxed-ui, scaffold and validate the whole thing with maxed-cli, and stand up the multi-tenant backend it runs on with deploy-templates and rls-tenant, with idempotency, backoffer, datelite, and mimefix as the retry, date, and upload plumbing around it.

Each repo stands on its own and is separately installable. Use one, use all of them, wire them into your own agent, or use them as a reference for how we think about the problem.

License

Apache-2.0 on the anchor repos (maxed-mcp, cpa-workpaper-spec, accounting-adapters, maxed-cli, statement-normalizer, doc-classifier-kit, deploy-templates, maxed-ui) and MIT on the small libraries (money-rs, ofx-normalizer, webhook-hmac-verifier, idempotency, backoffer, datelite, mimefix, rls-tenant); see each repo's LICENSE. Build whatever you want on top.

Popular repositories Loading

  1. accounting-adapters accounting-adaptersPublic

    Normalized Python interface for QuickBooks, Xero, Bill.com, TaxDome, Plaid, FreshBooks, and Wave accounting data.

    Python 3 1

  2. maxed-cli maxed-cliPublic

    Developer CLI for scaffolding accounting workspaces, validating configs, linting workpaper specs, and smoke-testing sandbox connectors.

    Python 1 1

  3. statement-normalizer statement-normalizerPublic

    Deterministic bank and card statement parser that converts CSV, OFX/QFX, MT940, CAMT.053, and text exports into normalized transaction JSON.

    Python 1 1

  4. maxed-ui maxed-uiPublic

    TypeScript and React components for accounting interfaces, including ledger tables, money inputs, reconciliation views, status pills, and selects.

    TypeScript 1

  5. maxed-mcp maxed-mcpPublic

    Model Context Protocol server that fronts the open-source accounting suite's deterministic tools: bank-statement and OFX parsing, document classification, workpaper-spec validation, exact money mat…

    Python 1 2

  6. cpa-workpaper-spec cpa-workpaper-specPublic

    Open JSON Schema and OpenAPI vocabulary for CPA engagements, close checklists, tax prep stages, engagement letters, and request list items.

    Python

Repositories

Showing 10 of 18 repositories

Top languages

Loading…

Most used topics

Loading…

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
@Maxed-OSS

Maxed

The AI-Native Open-Source Operating System for CPA Firms

Maxed OSS

An AI-native, agentic open-source toolkit for accounting. These are the deterministic, auditable building blocks an AI agent needs to actually do accounting work: parse a messy bank statement, classify a document, validate an engagement against an open spec, do money math without floating-point drift, and check a webhook signature. Every tool is built to be called by an agent, and maxed-mcp is the front door.

Maxed is a commercial, AI-native accounting platform. We open-source the commodity building blocks our industry shares, released under Apache-2.0 with real tests, real docs, and stable interfaces. What we keep is the higher-level automation that is actually ours to keep. The shared foundation underneath it is here, and it is useful on its own whether or not you ever touch the Maxed product.

Why agent-ready

Agents are good at judgement and bad at arithmetic, parsing, and signature checks. So the deterministic parts of this work belong in deterministic tools an agent can call, not in a prompt. Across the suite that means:

  • maxed-mcp speaks the Model Context Protocol, so any MCP client can call the whole toolkit through one server, with structured JSON in and out.
  • --json everywhere. The CLIs and validators emit machine-readable JSON with documented error envelopes and stable exit codes, so a tool call either succeeds with data or fails with a reason an agent can branch on.
  • llms.txt and AGENT.md on each tool document the machine interface (tool name, JSON shapes, exit codes) for the agents that read them.
  • Deterministic and honest. The same input always yields the same output, and an unconfigured tool says what it needs rather than inventing an answer. Nothing here is generative and nothing is faked.

A tour of the repos

The agentic front door

  • maxed-mcp - one MCP server that fronts the suite's deterministic tools so an AI agent can call them the way it calls any other MCP tool: normalize a bank statement, normalize an OFX/QFX download, classify a document, validate a workpaper-spec document, do exact money math, and verify a webhook HMAC. It shells out to the tools that ship a CLI and parses their JSON, computes the small pure primitives in-process, and returns a uniform error envelope. This is where an agent starts.

The spec, the CLI, and the adapters

These define the common language and the developer on-ramp to the suite.

  • cpa-workpaper-spec - Open JSON Schema and OpenAPI vocabulary for CPA engagements: engagements, monthly-close checklists with the open-items loop, tax-prep stage models, engagement-letter config, and request-list (PBC) items. It standardizes how to describe this work so two systems can exchange it. The offline validator speaks stdin and --json.
  • accounting-adapters - One normalized read interface over public accounting APIs (QBO, Xero, Bill.com, TaxDome, Plaid, FreshBooks, Wave). A single provider-agnostic data model plus a cross-provider diff, with a list/diff CLI that has a zero-credential --sandbox mode and --json output.
  • maxed-cli - The developer front door. Scaffolds a local dev project pre-wired to the suite, validates configuration, lints workpaper-spec documents, and runs a fully local sandbox connector smoke-test. Every command supports --json, and maxed tools --json prints a self-describing command manifest for agents.

Parsers and normalizers

The deterministic, auditable file-to-data layer.

  • statement-normalizer - Turns messy bank and credit-card statements (CSV, OFX/QFX, MT940, CAMT.053, QIF, and line-oriented text) into clean, normalized transaction JSON with a consistent sign convention, parsed dates, and proper decimal amounts. Deterministic and dependency-free.
  • ofx-normalizer - A small Go library and a single static CLI binary (ofxnorm) that parse OFX/QFX bank downloads and CSV exports into one normalized transaction schema, with no runtime dependencies.
  • doc-classifier-kit - A pluggable evaluation harness for classifying accounting documents into a fixed taxonomy (W-2, 1099, invoice, bank statement, receipt). A stable taxonomy, a hard synthetic eval set, confusion matrices, a leaderboard, and a single-doc classify --json surface, so you can drop in your own model and measure it.

Exact primitives

Small, pure, correct building blocks.

  • money-rs - Exact decimal money arithmetic in Rust with currency-aware rounding and lossless allocation. Amounts are integer minor units, so floating-point drift cannot happen.
  • webhook-hmac-verifier - Constant-time HMAC verification of inbound webhooks (Stripe, QuickBooks Online, Bill.com schemes) in Go, with a configurable replay window and zero dependencies.
  • idempotency - An idempotency-key store and Plug for safe retries of financial mutations (Elixir): a charge or ledger posting submitted twice applies exactly once.
  • backoffer - Retry with exponential backoff and jitter (Ruby). Zero dependencies; the delay schedule is a pure, testable object, so retries are deterministic under test.
  • datelite - Timezone-safe date-only (YYYY-MM-DD) parsing, formatting, and math (TypeScript). A date is three plain integers and never passes through a timezone conversion, so the off-by-one-day bug cannot happen.
  • mimefix - Re-derive a real content type for uploaded documents (Swift): extension plus magic bytes, with the bytes winning over a renamed file. Fixes the octet-stream forced-download problem deterministically.

Developer infrastructure

The backend foundation a multi-tenant app builds on.

  • deploy-templates - A developer starter kit for multi-tenant backends: a one-command local stack (Postgres with row-level security, Redis, S3-compatible storage, and an API), vendor-neutral storage and accounting-export adapters, deployment starters, and a registry-ready Terraform module. Tenant isolation is enforced by the database, and a scripted demo proves tenant A cannot read tenant B's rows.
  • rls-tenant - Postgres row-level-security multi-tenancy for Rails and ActiveRecord: set the tenant once per request and the database enforces isolation for every query.

UI

The presentation layer.

  • maxed-ui - A lightweight TypeScript and React component kit for accounting and bookkeeping screens: a register table with aligned debit/credit columns and a running balance, a forgiving money input, status pills, and a reconciliation diff view.

How they fit together

An agent connects to maxed-mcp and calls the toolkit through one server. Under the hood: parse a statement with statement-normalizer or ofx-normalizer, classify the documents around it with doc-classifier-kit, read live data through accounting-adapters and diff two systems in one call, describe the engagement and its checklist with cpa-workpaper-spec, keep the money exact with money-rs, and verify inbound webhooks with webhook-hmac-verifier. Render any of it with maxed-ui, scaffold and validate the whole thing with maxed-cli, and stand up the multi-tenant backend it runs on with deploy-templates and rls-tenant, with idempotency, backoffer, datelite, and mimefix as the retry, date, and upload plumbing around it.

Each repo stands on its own and is separately installable. Use one, use all of them, wire them into your own agent, or use them as a reference for how we think about the problem.

License

Apache-2.0 on the anchor repos (maxed-mcp, cpa-workpaper-spec, accounting-adapters, maxed-cli, statement-normalizer, doc-classifier-kit, deploy-templates, maxed-ui) and MIT on the small libraries (money-rs, ofx-normalizer, webhook-hmac-verifier, idempotency, backoffer, datelite, mimefix, rls-tenant); see each repo's LICENSE. Build whatever you want on top.

Popular repositories Loading

  1. accounting-adapters accounting-adaptersPublic

    Normalized Python interface for QuickBooks, Xero, Bill.com, TaxDome, Plaid, FreshBooks, and Wave accounting data.

    Python 3 1

  2. maxed-cli maxed-cliPublic

    Developer CLI for scaffolding accounting workspaces, validating configs, linting workpaper specs, and smoke-testing sandbox connectors.

    Python 1 1

  3. statement-normalizer statement-normalizerPublic

    Deterministic bank and card statement parser that converts CSV, OFX/QFX, MT940, CAMT.053, and text exports into normalized transaction JSON.

    Python 1 1

  4. maxed-ui maxed-uiPublic

    TypeScript and React components for accounting interfaces, including ledger tables, money inputs, reconciliation views, status pills, and selects.

    TypeScript 1

  5. maxed-mcp maxed-mcpPublic

    Model Context Protocol server that fronts the open-source accounting suite's deterministic tools: bank-statement and OFX parsing, document classification, workpaper-spec validation, exact money mat…

    Python 1 2

  6. cpa-workpaper-spec cpa-workpaper-specPublic

    Open JSON Schema and OpenAPI vocabulary for CPA engagements, close checklists, tax prep stages, engagement letters, and request list items.

    Python

Repositories

Showing 10 of 18 repositories

Top languages

Loading…

Most used topics

Loading…

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
@Maxed-OSS

Maxed

The AI-Native Open-Source Operating System for CPA Firms

Maxed OSS

An AI-native, agentic open-source toolkit for accounting. These are the deterministic, auditable building blocks an AI agent needs to actually do accounting work: parse a messy bank statement, classify a document, validate an engagement against an open spec, do money math without floating-point drift, and check a webhook signature. Every tool is built to be called by an agent, and maxed-mcp is the front door.

Maxed is a commercial, AI-native accounting platform. We open-source the commodity building blocks our industry shares, released under Apache-2.0 with real tests, real docs, and stable interfaces. What we keep is the higher-level automation that is actually ours to keep. The shared foundation underneath it is here, and it is useful on its own whether or not you ever touch the Maxed product.

Why agent-ready

Agents are good at judgement and bad at arithmetic, parsing, and signature checks. So the deterministic parts of this work belong in deterministic tools an agent can call, not in a prompt. Across the suite that means:

  • maxed-mcp speaks the Model Context Protocol, so any MCP client can call the whole toolkit through one server, with structured JSON in and out.
  • --json everywhere. The CLIs and validators emit machine-readable JSON with documented error envelopes and stable exit codes, so a tool call either succeeds with data or fails with a reason an agent can branch on.
  • llms.txt and AGENT.md on each tool document the machine interface (tool name, JSON shapes, exit codes) for the agents that read them.
  • Deterministic and honest. The same input always yields the same output, and an unconfigured tool says what it needs rather than inventing an answer. Nothing here is generative and nothing is faked.

A tour of the repos

The agentic front door

  • maxed-mcp - one MCP server that fronts the suite's deterministic tools so an AI agent can call them the way it calls any other MCP tool: normalize a bank statement, normalize an OFX/QFX download, classify a document, validate a workpaper-spec document, do exact money math, and verify a webhook HMAC. It shells out to the tools that ship a CLI and parses their JSON, computes the small pure primitives in-process, and returns a uniform error envelope. This is where an agent starts.

The spec, the CLI, and the adapters

These define the common language and the developer on-ramp to the suite.

  • cpa-workpaper-spec - Open JSON Schema and OpenAPI vocabulary for CPA engagements: engagements, monthly-close checklists with the open-items loop, tax-prep stage models, engagement-letter config, and request-list (PBC) items. It standardizes how to describe this work so two systems can exchange it. The offline validator speaks stdin and --json.
  • accounting-adapters - One normalized read interface over public accounting APIs (QBO, Xero, Bill.com, TaxDome, Plaid, FreshBooks, Wave). A single provider-agnostic data model plus a cross-provider diff, with a list/diff CLI that has a zero-credential --sandbox mode and --json output.
  • maxed-cli - The developer front door. Scaffolds a local dev project pre-wired to the suite, validates configuration, lints workpaper-spec documents, and runs a fully local sandbox connector smoke-test. Every command supports --json, and maxed tools --json prints a self-describing command manifest for agents.

Parsers and normalizers

The deterministic, auditable file-to-data layer.

  • statement-normalizer - Turns messy bank and credit-card statements (CSV, OFX/QFX, MT940, CAMT.053, QIF, and line-oriented text) into clean, normalized transaction JSON with a consistent sign convention, parsed dates, and proper decimal amounts. Deterministic and dependency-free.
  • ofx-normalizer - A small Go library and a single static CLI binary (ofxnorm) that parse OFX/QFX bank downloads and CSV exports into one normalized transaction schema, with no runtime dependencies.
  • doc-classifier-kit - A pluggable evaluation harness for classifying accounting documents into a fixed taxonomy (W-2, 1099, invoice, bank statement, receipt). A stable taxonomy, a hard synthetic eval set, confusion matrices, a leaderboard, and a single-doc classify --json surface, so you can drop in your own model and measure it.

Exact primitives

Small, pure, correct building blocks.

  • money-rs - Exact decimal money arithmetic in Rust with currency-aware rounding and lossless allocation. Amounts are integer minor units, so floating-point drift cannot happen.
  • webhook-hmac-verifier - Constant-time HMAC verification of inbound webhooks (Stripe, QuickBooks Online, Bill.com schemes) in Go, with a configurable replay window and zero dependencies.
  • idempotency - An idempotency-key store and Plug for safe retries of financial mutations (Elixir): a charge or ledger posting submitted twice applies exactly once.
  • backoffer - Retry with exponential backoff and jitter (Ruby). Zero dependencies; the delay schedule is a pure, testable object, so retries are deterministic under test.
  • datelite - Timezone-safe date-only (YYYY-MM-DD) parsing, formatting, and math (TypeScript). A date is three plain integers and never passes through a timezone conversion, so the off-by-one-day bug cannot happen.
  • mimefix - Re-derive a real content type for uploaded documents (Swift): extension plus magic bytes, with the bytes winning over a renamed file. Fixes the octet-stream forced-download problem deterministically.

Developer infrastructure

The backend foundation a multi-tenant app builds on.

  • deploy-templates - A developer starter kit for multi-tenant backends: a one-command local stack (Postgres with row-level security, Redis, S3-compatible storage, and an API), vendor-neutral storage and accounting-export adapters, deployment starters, and a registry-ready Terraform module. Tenant isolation is enforced by the database, and a scripted demo proves tenant A cannot read tenant B's rows.
  • rls-tenant - Postgres row-level-security multi-tenancy for Rails and ActiveRecord: set the tenant once per request and the database enforces isolation for every query.

UI

The presentation layer.

  • maxed-ui - A lightweight TypeScript and React component kit for accounting and bookkeeping screens: a register table with aligned debit/credit columns and a running balance, a forgiving money input, status pills, and a reconciliation diff view.

How they fit together

An agent connects to maxed-mcp and calls the toolkit through one server. Under the hood: parse a statement with statement-normalizer or ofx-normalizer, classify the documents around it with doc-classifier-kit, read live data through accounting-adapters and diff two systems in one call, describe the engagement and its checklist with cpa-workpaper-spec, keep the money exact with money-rs, and verify inbound webhooks with webhook-hmac-verifier. Render any of it with maxed-ui, scaffold and validate the whole thing with maxed-cli, and stand up the multi-tenant backend it runs on with deploy-templates and rls-tenant, with idempotency, backoffer, datelite, and mimefix as the retry, date, and upload plumbing around it.

Each repo stands on its own and is separately installable. Use one, use all of them, wire them into your own agent, or use them as a reference for how we think about the problem.

License

Apache-2.0 on the anchor repos (maxed-mcp, cpa-workpaper-spec, accounting-adapters, maxed-cli, statement-normalizer, doc-classifier-kit, deploy-templates, maxed-ui) and MIT on the small libraries (money-rs, ofx-normalizer, webhook-hmac-verifier, idempotency, backoffer, datelite, mimefix, rls-tenant); see each repo's LICENSE. Build whatever you want on top.

Popular repositories Loading

  1. accounting-adapters accounting-adaptersPublic

    Normalized Python interface for QuickBooks, Xero, Bill.com, TaxDome, Plaid, FreshBooks, and Wave accounting data.

    Python 3 1

  2. maxed-cli maxed-cliPublic

    Developer CLI for scaffolding accounting workspaces, validating configs, linting workpaper specs, and smoke-testing sandbox connectors.

    Python 1 1

  3. statement-normalizer statement-normalizerPublic

    Deterministic bank and card statement parser that converts CSV, OFX/QFX, MT940, CAMT.053, and text exports into normalized transaction JSON.

    Python 1 1

  4. maxed-ui maxed-uiPublic

    TypeScript and React components for accounting interfaces, including ledger tables, money inputs, reconciliation views, status pills, and selects.

    TypeScript 1

  5. maxed-mcp maxed-mcpPublic

    Model Context Protocol server that fronts the open-source accounting suite's deterministic tools: bank-statement and OFX parsing, document classification, workpaper-spec validation, exact money mat…

    Python 1 2

  6. cpa-workpaper-spec cpa-workpaper-specPublic

    Open JSON Schema and OpenAPI vocabulary for CPA engagements, close checklists, tax prep stages, engagement letters, and request list items.

    Python

Repositories

Showing 10 of 18 repositories

Top languages

Loading…

Most used topics

Loading…

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
@Maxed-OSS

Maxed

The AI-Native Open-Source Operating System for CPA Firms

Maxed OSS

An AI-native, agentic open-source toolkit for accounting. These are the deterministic, auditable building blocks an AI agent needs to actually do accounting work: parse a messy bank statement, classify a document, validate an engagement against an open spec, do money math without floating-point drift, and check a webhook signature. Every tool is built to be called by an agent, and maxed-mcp is the front door.

Maxed is a commercial, AI-native accounting platform. We open-source the commodity building blocks our industry shares, released under Apache-2.0 with real tests, real docs, and stable interfaces. What we keep is the higher-level automation that is actually ours to keep. The shared foundation underneath it is here, and it is useful on its own whether or not you ever touch the Maxed product.

Why agent-ready

Agents are good at judgement and bad at arithmetic, parsing, and signature checks. So the deterministic parts of this work belong in deterministic tools an agent can call, not in a prompt. Across the suite that means:

  • maxed-mcp speaks the Model Context Protocol, so any MCP client can call the whole toolkit through one server, with structured JSON in and out.
  • --json everywhere. The CLIs and validators emit machine-readable JSON with documented error envelopes and stable exit codes, so a tool call either succeeds with data or fails with a reason an agent can branch on.
  • llms.txt and AGENT.md on each tool document the machine interface (tool name, JSON shapes, exit codes) for the agents that read them.
  • Deterministic and honest. The same input always yields the same output, and an unconfigured tool says what it needs rather than inventing an answer. Nothing here is generative and nothing is faked.

A tour of the repos

The agentic front door

  • maxed-mcp - one MCP server that fronts the suite's deterministic tools so an AI agent can call them the way it calls any other MCP tool: normalize a bank statement, normalize an OFX/QFX download, classify a document, validate a workpaper-spec document, do exact money math, and verify a webhook HMAC. It shells out to the tools that ship a CLI and parses their JSON, computes the small pure primitives in-process, and returns a uniform error envelope. This is where an agent starts.

The spec, the CLI, and the adapters

These define the common language and the developer on-ramp to the suite.

  • cpa-workpaper-spec - Open JSON Schema and OpenAPI vocabulary for CPA engagements: engagements, monthly-close checklists with the open-items loop, tax-prep stage models, engagement-letter config, and request-list (PBC) items. It standardizes how to describe this work so two systems can exchange it. The offline validator speaks stdin and --json.
  • accounting-adapters - One normalized read interface over public accounting APIs (QBO, Xero, Bill.com, TaxDome, Plaid, FreshBooks, Wave). A single provider-agnostic data model plus a cross-provider diff, with a list/diff CLI that has a zero-credential --sandbox mode and --json output.
  • maxed-cli - The developer front door. Scaffolds a local dev project pre-wired to the suite, validates configuration, lints workpaper-spec documents, and runs a fully local sandbox connector smoke-test. Every command supports --json, and maxed tools --json prints a self-describing command manifest for agents.

Parsers and normalizers

The deterministic, auditable file-to-data layer.

  • statement-normalizer - Turns messy bank and credit-card statements (CSV, OFX/QFX, MT940, CAMT.053, QIF, and line-oriented text) into clean, normalized transaction JSON with a consistent sign convention, parsed dates, and proper decimal amounts. Deterministic and dependency-free.
  • ofx-normalizer - A small Go library and a single static CLI binary (ofxnorm) that parse OFX/QFX bank downloads and CSV exports into one normalized transaction schema, with no runtime dependencies.
  • doc-classifier-kit - A pluggable evaluation harness for classifying accounting documents into a fixed taxonomy (W-2, 1099, invoice, bank statement, receipt). A stable taxonomy, a hard synthetic eval set, confusion matrices, a leaderboard, and a single-doc classify --json surface, so you can drop in your own model and measure it.

Exact primitives

Small, pure, correct building blocks.

  • money-rs - Exact decimal money arithmetic in Rust with currency-aware rounding and lossless allocation. Amounts are integer minor units, so floating-point drift cannot happen.
  • webhook-hmac-verifier - Constant-time HMAC verification of inbound webhooks (Stripe, QuickBooks Online, Bill.com schemes) in Go, with a configurable replay window and zero dependencies.
  • idempotency - An idempotency-key store and Plug for safe retries of financial mutations (Elixir): a charge or ledger posting submitted twice applies exactly once.
  • backoffer - Retry with exponential backoff and jitter (Ruby). Zero dependencies; the delay schedule is a pure, testable object, so retries are deterministic under test.
  • datelite - Timezone-safe date-only (YYYY-MM-DD) parsing, formatting, and math (TypeScript). A date is three plain integers and never passes through a timezone conversion, so the off-by-one-day bug cannot happen.
  • mimefix - Re-derive a real content type for uploaded documents (Swift): extension plus magic bytes, with the bytes winning over a renamed file. Fixes the octet-stream forced-download problem deterministically.

Developer infrastructure

The backend foundation a multi-tenant app builds on.

  • deploy-templates - A developer starter kit for multi-tenant backends: a one-command local stack (Postgres with row-level security, Redis, S3-compatible storage, and an API), vendor-neutral storage and accounting-export adapters, deployment starters, and a registry-ready Terraform module. Tenant isolation is enforced by the database, and a scripted demo proves tenant A cannot read tenant B's rows.
  • rls-tenant - Postgres row-level-security multi-tenancy for Rails and ActiveRecord: set the tenant once per request and the database enforces isolation for every query.

UI

The presentation layer.

  • maxed-ui - A lightweight TypeScript and React component kit for accounting and bookkeeping screens: a register table with aligned debit/credit columns and a running balance, a forgiving money input, status pills, and a reconciliation diff view.

How they fit together

An agent connects to maxed-mcp and calls the toolkit through one server. Under the hood: parse a statement with statement-normalizer or ofx-normalizer, classify the documents around it with doc-classifier-kit, read live data through accounting-adapters and diff two systems in one call, describe the engagement and its checklist with cpa-workpaper-spec, keep the money exact with money-rs, and verify inbound webhooks with webhook-hmac-verifier. Render any of it with maxed-ui, scaffold and validate the whole thing with maxed-cli, and stand up the multi-tenant backend it runs on with deploy-templates and rls-tenant, with idempotency, backoffer, datelite, and mimefix as the retry, date, and upload plumbing around it.

Each repo stands on its own and is separately installable. Use one, use all of them, wire them into your own agent, or use them as a reference for how we think about the problem.

License

Apache-2.0 on the anchor repos (maxed-mcp, cpa-workpaper-spec, accounting-adapters, maxed-cli, statement-normalizer, doc-classifier-kit, deploy-templates, maxed-ui) and MIT on the small libraries (money-rs, ofx-normalizer, webhook-hmac-verifier, idempotency, backoffer, datelite, mimefix, rls-tenant); see each repo's LICENSE. Build whatever you want on top.

Popular repositories Loading

  1. accounting-adapters accounting-adaptersPublic

    Normalized Python interface for QuickBooks, Xero, Bill.com, TaxDome, Plaid, FreshBooks, and Wave accounting data.

    Python 3 1

  2. maxed-cli maxed-cliPublic

    Developer CLI for scaffolding accounting workspaces, validating configs, linting workpaper specs, and smoke-testing sandbox connectors.

    Python 1 1

  3. statement-normalizer statement-normalizerPublic

    Deterministic bank and card statement parser that converts CSV, OFX/QFX, MT940, CAMT.053, and text exports into normalized transaction JSON.

    Python 1 1

  4. maxed-ui maxed-uiPublic

    TypeScript and React components for accounting interfaces, including ledger tables, money inputs, reconciliation views, status pills, and selects.

    TypeScript 1

  5. maxed-mcp maxed-mcpPublic

    Model Context Protocol server that fronts the open-source accounting suite's deterministic tools: bank-statement and OFX parsing, document classification, workpaper-spec validation, exact money mat…

    Python 1 2

  6. cpa-workpaper-spec cpa-workpaper-specPublic

    Open JSON Schema and OpenAPI vocabulary for CPA engagements, close checklists, tax prep stages, engagement letters, and request list items.

    Python

Repositories

Showing 10 of 18 repositories

Top languages

Loading…

Most used topics

Loading…

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
@Maxed-OSS

Maxed

The AI-Native Open-Source Operating System for CPA Firms

Maxed OSS

An AI-native, agentic open-source toolkit for accounting. These are the deterministic, auditable building blocks an AI agent needs to actually do accounting work: parse a messy bank statement, classify a document, validate an engagement against an open spec, do money math without floating-point drift, and check a webhook signature. Every tool is built to be called by an agent, and maxed-mcp is the front door.

Maxed is a commercial, AI-native accounting platform. We open-source the commodity building blocks our industry shares, released under Apache-2.0 with real tests, real docs, and stable interfaces. What we keep is the higher-level automation that is actually ours to keep. The shared foundation underneath it is here, and it is useful on its own whether or not you ever touch the Maxed product.

Why agent-ready

Agents are good at judgement and bad at arithmetic, parsing, and signature checks. So the deterministic parts of this work belong in deterministic tools an agent can call, not in a prompt. Across the suite that means:

  • maxed-mcp speaks the Model Context Protocol, so any MCP client can call the whole toolkit through one server, with structured JSON in and out.
  • --json everywhere. The CLIs and validators emit machine-readable JSON with documented error envelopes and stable exit codes, so a tool call either succeeds with data or fails with a reason an agent can branch on.
  • llms.txt and AGENT.md on each tool document the machine interface (tool name, JSON shapes, exit codes) for the agents that read them.
  • Deterministic and honest. The same input always yields the same output, and an unconfigured tool says what it needs rather than inventing an answer. Nothing here is generative and nothing is faked.

A tour of the repos

The agentic front door

  • maxed-mcp - one MCP server that fronts the suite's deterministic tools so an AI agent can call them the way it calls any other MCP tool: normalize a bank statement, normalize an OFX/QFX download, classify a document, validate a workpaper-spec document, do exact money math, and verify a webhook HMAC. It shells out to the tools that ship a CLI and parses their JSON, computes the small pure primitives in-process, and returns a uniform error envelope. This is where an agent starts.

The spec, the CLI, and the adapters

These define the common language and the developer on-ramp to the suite.

  • cpa-workpaper-spec - Open JSON Schema and OpenAPI vocabulary for CPA engagements: engagements, monthly-close checklists with the open-items loop, tax-prep stage models, engagement-letter config, and request-list (PBC) items. It standardizes how to describe this work so two systems can exchange it. The offline validator speaks stdin and --json.
  • accounting-adapters - One normalized read interface over public accounting APIs (QBO, Xero, Bill.com, TaxDome, Plaid, FreshBooks, Wave). A single provider-agnostic data model plus a cross-provider diff, with a list/diff CLI that has a zero-credential --sandbox mode and --json output.
  • maxed-cli - The developer front door. Scaffolds a local dev project pre-wired to the suite, validates configuration, lints workpaper-spec documents, and runs a fully local sandbox connector smoke-test. Every command supports --json, and maxed tools --json prints a self-describing command manifest for agents.

Parsers and normalizers

The deterministic, auditable file-to-data layer.

  • statement-normalizer - Turns messy bank and credit-card statements (CSV, OFX/QFX, MT940, CAMT.053, QIF, and line-oriented text) into clean, normalized transaction JSON with a consistent sign convention, parsed dates, and proper decimal amounts. Deterministic and dependency-free.
  • ofx-normalizer - A small Go library and a single static CLI binary (ofxnorm) that parse OFX/QFX bank downloads and CSV exports into one normalized transaction schema, with no runtime dependencies.
  • doc-classifier-kit - A pluggable evaluation harness for classifying accounting documents into a fixed taxonomy (W-2, 1099, invoice, bank statement, receipt). A stable taxonomy, a hard synthetic eval set, confusion matrices, a leaderboard, and a single-doc classify --json surface, so you can drop in your own model and measure it.

Exact primitives

Small, pure, correct building blocks.

  • money-rs - Exact decimal money arithmetic in Rust with currency-aware rounding and lossless allocation. Amounts are integer minor units, so floating-point drift cannot happen.
  • webhook-hmac-verifier - Constant-time HMAC verification of inbound webhooks (Stripe, QuickBooks Online, Bill.com schemes) in Go, with a configurable replay window and zero dependencies.
  • idempotency - An idempotency-key store and Plug for safe retries of financial mutations (Elixir): a charge or ledger posting submitted twice applies exactly once.
  • backoffer - Retry with exponential backoff and jitter (Ruby). Zero dependencies; the delay schedule is a pure, testable object, so retries are deterministic under test.
  • datelite - Timezone-safe date-only (YYYY-MM-DD) parsing, formatting, and math (TypeScript). A date is three plain integers and never passes through a timezone conversion, so the off-by-one-day bug cannot happen.
  • mimefix - Re-derive a real content type for uploaded documents (Swift): extension plus magic bytes, with the bytes winning over a renamed file. Fixes the octet-stream forced-download problem deterministically.

Developer infrastructure

The backend foundation a multi-tenant app builds on.

  • deploy-templates - A developer starter kit for multi-tenant backends: a one-command local stack (Postgres with row-level security, Redis, S3-compatible storage, and an API), vendor-neutral storage and accounting-export adapters, deployment starters, and a registry-ready Terraform module. Tenant isolation is enforced by the database, and a scripted demo proves tenant A cannot read tenant B's rows.
  • rls-tenant - Postgres row-level-security multi-tenancy for Rails and ActiveRecord: set the tenant once per request and the database enforces isolation for every query.

UI

The presentation layer.

  • maxed-ui - A lightweight TypeScript and React component kit for accounting and bookkeeping screens: a register table with aligned debit/credit columns and a running balance, a forgiving money input, status pills, and a reconciliation diff view.

How they fit together

An agent connects to maxed-mcp and calls the toolkit through one server. Under the hood: parse a statement with statement-normalizer or ofx-normalizer, classify the documents around it with doc-classifier-kit, read live data through accounting-adapters and diff two systems in one call, describe the engagement and its checklist with cpa-workpaper-spec, keep the money exact with money-rs, and verify inbound webhooks with webhook-hmac-verifier. Render any of it with maxed-ui, scaffold and validate the whole thing with maxed-cli, and stand up the multi-tenant backend it runs on with deploy-templates and rls-tenant, with idempotency, backoffer, datelite, and mimefix as the retry, date, and upload plumbing around it.

Each repo stands on its own and is separately installable. Use one, use all of them, wire them into your own agent, or use them as a reference for how we think about the problem.

License

Apache-2.0 on the anchor repos (maxed-mcp, cpa-workpaper-spec, accounting-adapters, maxed-cli, statement-normalizer, doc-classifier-kit, deploy-templates, maxed-ui) and MIT on the small libraries (money-rs, ofx-normalizer, webhook-hmac-verifier, idempotency, backoffer, datelite, mimefix, rls-tenant); see each repo's LICENSE. Build whatever you want on top.

Popular repositories Loading

  1. accounting-adapters accounting-adaptersPublic

    Normalized Python interface for QuickBooks, Xero, Bill.com, TaxDome, Plaid, FreshBooks, and Wave accounting data.

    Python 3 1

  2. maxed-cli maxed-cliPublic

    Developer CLI for scaffolding accounting workspaces, validating configs, linting workpaper specs, and smoke-testing sandbox connectors.

    Python 1 1

  3. statement-normalizer statement-normalizerPublic

    Deterministic bank and card statement parser that converts CSV, OFX/QFX, MT940, CAMT.053, and text exports into normalized transaction JSON.

    Python 1 1

  4. maxed-ui maxed-uiPublic

    TypeScript and React components for accounting interfaces, including ledger tables, money inputs, reconciliation views, status pills, and selects.

    TypeScript 1

  5. maxed-mcp maxed-mcpPublic

    Model Context Protocol server that fronts the open-source accounting suite's deterministic tools: bank-statement and OFX parsing, document classification, workpaper-spec validation, exact money mat…

    Python 1 2

  6. cpa-workpaper-spec cpa-workpaper-specPublic

    Open JSON Schema and OpenAPI vocabulary for CPA engagements, close checklists, tax prep stages, engagement letters, and request list items.

    Python

Repositories

Showing 10 of 18 repositories

Top languages

Loading…

Most used topics

Loading…

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
@Maxed-OSS

Maxed

The AI-Native Open-Source Operating System for CPA Firms

Maxed OSS

An AI-native, agentic open-source toolkit for accounting. These are the deterministic, auditable building blocks an AI agent needs to actually do accounting work: parse a messy bank statement, classify a document, validate an engagement against an open spec, do money math without floating-point drift, and check a webhook signature. Every tool is built to be called by an agent, and maxed-mcp is the front door.

Maxed is a commercial, AI-native accounting platform. We open-source the commodity building blocks our industry shares, released under Apache-2.0 with real tests, real docs, and stable interfaces. What we keep is the higher-level automation that is actually ours to keep. The shared foundation underneath it is here, and it is useful on its own whether or not you ever touch the Maxed product.

Why agent-ready

Agents are good at judgement and bad at arithmetic, parsing, and signature checks. So the deterministic parts of this work belong in deterministic tools an agent can call, not in a prompt. Across the suite that means:

  • maxed-mcp speaks the Model Context Protocol, so any MCP client can call the whole toolkit through one server, with structured JSON in and out.
  • --json everywhere. The CLIs and validators emit machine-readable JSON with documented error envelopes and stable exit codes, so a tool call either succeeds with data or fails with a reason an agent can branch on.
  • llms.txt and AGENT.md on each tool document the machine interface (tool name, JSON shapes, exit codes) for the agents that read them.
  • Deterministic and honest. The same input always yields the same output, and an unconfigured tool says what it needs rather than inventing an answer. Nothing here is generative and nothing is faked.

A tour of the repos

The agentic front door

  • maxed-mcp - one MCP server that fronts the suite's deterministic tools so an AI agent can call them the way it calls any other MCP tool: normalize a bank statement, normalize an OFX/QFX download, classify a document, validate a workpaper-spec document, do exact money math, and verify a webhook HMAC. It shells out to the tools that ship a CLI and parses their JSON, computes the small pure primitives in-process, and returns a uniform error envelope. This is where an agent starts.

The spec, the CLI, and the adapters

These define the common language and the developer on-ramp to the suite.

  • cpa-workpaper-spec - Open JSON Schema and OpenAPI vocabulary for CPA engagements: engagements, monthly-close checklists with the open-items loop, tax-prep stage models, engagement-letter config, and request-list (PBC) items. It standardizes how to describe this work so two systems can exchange it. The offline validator speaks stdin and --json.
  • accounting-adapters - One normalized read interface over public accounting APIs (QBO, Xero, Bill.com, TaxDome, Plaid, FreshBooks, Wave). A single provider-agnostic data model plus a cross-provider diff, with a list/diff CLI that has a zero-credential --sandbox mode and --json output.
  • maxed-cli - The developer front door. Scaffolds a local dev project pre-wired to the suite, validates configuration, lints workpaper-spec documents, and runs a fully local sandbox connector smoke-test. Every command supports --json, and maxed tools --json prints a self-describing command manifest for agents.

Parsers and normalizers

The deterministic, auditable file-to-data layer.

  • statement-normalizer - Turns messy bank and credit-card statements (CSV, OFX/QFX, MT940, CAMT.053, QIF, and line-oriented text) into clean, normalized transaction JSON with a consistent sign convention, parsed dates, and proper decimal amounts. Deterministic and dependency-free.
  • ofx-normalizer - A small Go library and a single static CLI binary (ofxnorm) that parse OFX/QFX bank downloads and CSV exports into one normalized transaction schema, with no runtime dependencies.
  • doc-classifier-kit - A pluggable evaluation harness for classifying accounting documents into a fixed taxonomy (W-2, 1099, invoice, bank statement, receipt). A stable taxonomy, a hard synthetic eval set, confusion matrices, a leaderboard, and a single-doc classify --json surface, so you can drop in your own model and measure it.

Exact primitives

Small, pure, correct building blocks.

  • money-rs - Exact decimal money arithmetic in Rust with currency-aware rounding and lossless allocation. Amounts are integer minor units, so floating-point drift cannot happen.
  • webhook-hmac-verifier - Constant-time HMAC verification of inbound webhooks (Stripe, QuickBooks Online, Bill.com schemes) in Go, with a configurable replay window and zero dependencies.
  • idempotency - An idempotency-key store and Plug for safe retries of financial mutations (Elixir): a charge or ledger posting submitted twice applies exactly once.
  • backoffer - Retry with exponential backoff and jitter (Ruby). Zero dependencies; the delay schedule is a pure, testable object, so retries are deterministic under test.
  • datelite - Timezone-safe date-only (YYYY-MM-DD) parsing, formatting, and math (TypeScript). A date is three plain integers and never passes through a timezone conversion, so the off-by-one-day bug cannot happen.
  • mimefix - Re-derive a real content type for uploaded documents (Swift): extension plus magic bytes, with the bytes winning over a renamed file. Fixes the octet-stream forced-download problem deterministically.

Developer infrastructure

The backend foundation a multi-tenant app builds on.

  • deploy-templates - A developer starter kit for multi-tenant backends: a one-command local stack (Postgres with row-level security, Redis, S3-compatible storage, and an API), vendor-neutral storage and accounting-export adapters, deployment starters, and a registry-ready Terraform module. Tenant isolation is enforced by the database, and a scripted demo proves tenant A cannot read tenant B's rows.
  • rls-tenant - Postgres row-level-security multi-tenancy for Rails and ActiveRecord: set the tenant once per request and the database enforces isolation for every query.

UI

The presentation layer.

  • maxed-ui - A lightweight TypeScript and React component kit for accounting and bookkeeping screens: a register table with aligned debit/credit columns and a running balance, a forgiving money input, status pills, and a reconciliation diff view.

How they fit together

An agent connects to maxed-mcp and calls the toolkit through one server. Under the hood: parse a statement with statement-normalizer or ofx-normalizer, classify the documents around it with doc-classifier-kit, read live data through accounting-adapters and diff two systems in one call, describe the engagement and its checklist with cpa-workpaper-spec, keep the money exact with money-rs, and verify inbound webhooks with webhook-hmac-verifier. Render any of it with maxed-ui, scaffold and validate the whole thing with maxed-cli, and stand up the multi-tenant backend it runs on with deploy-templates and rls-tenant, with idempotency, backoffer, datelite, and mimefix as the retry, date, and upload plumbing around it.

Each repo stands on its own and is separately installable. Use one, use all of them, wire them into your own agent, or use them as a reference for how we think about the problem.

License

Apache-2.0 on the anchor repos (maxed-mcp, cpa-workpaper-spec, accounting-adapters, maxed-cli, statement-normalizer, doc-classifier-kit, deploy-templates, maxed-ui) and MIT on the small libraries (money-rs, ofx-normalizer, webhook-hmac-verifier, idempotency, backoffer, datelite, mimefix, rls-tenant); see each repo's LICENSE. Build whatever you want on top.

Popular repositories Loading

  1. accounting-adapters accounting-adaptersPublic

    Normalized Python interface for QuickBooks, Xero, Bill.com, TaxDome, Plaid, FreshBooks, and Wave accounting data.

    Python 3 1

  2. maxed-cli maxed-cliPublic

    Developer CLI for scaffolding accounting workspaces, validating configs, linting workpaper specs, and smoke-testing sandbox connectors.

    Python 1 1

  3. statement-normalizer statement-normalizerPublic

    Deterministic bank and card statement parser that converts CSV, OFX/QFX, MT940, CAMT.053, and text exports into normalized transaction JSON.

    Python 1 1

  4. maxed-ui maxed-uiPublic

    TypeScript and React components for accounting interfaces, including ledger tables, money inputs, reconciliation views, status pills, and selects.

    TypeScript 1

  5. maxed-mcp maxed-mcpPublic

    Model Context Protocol server that fronts the open-source accounting suite's deterministic tools: bank-statement and OFX parsing, document classification, workpaper-spec validation, exact money mat…

    Python 1 2

  6. cpa-workpaper-spec cpa-workpaper-specPublic

    Open JSON Schema and OpenAPI vocabulary for CPA engagements, close checklists, tax prep stages, engagement letters, and request list items.

    Python

Repositories

Showing 10 of 18 repositories

Top languages

Loading…

Most used topics

Loading…

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
@Maxed-OSS

Maxed

The AI-Native Open-Source Operating System for CPA Firms

Maxed OSS

An AI-native, agentic open-source toolkit for accounting. These are the deterministic, auditable building blocks an AI agent needs to actually do accounting work: parse a messy bank statement, classify a document, validate an engagement against an open spec, do money math without floating-point drift, and check a webhook signature. Every tool is built to be called by an agent, and maxed-mcp is the front door.

Maxed is a commercial, AI-native accounting platform. We open-source the commodity building blocks our industry shares, released under Apache-2.0 with real tests, real docs, and stable interfaces. What we keep is the higher-level automation that is actually ours to keep. The shared foundation underneath it is here, and it is useful on its own whether or not you ever touch the Maxed product.

Why agent-ready

Agents are good at judgement and bad at arithmetic, parsing, and signature checks. So the deterministic parts of this work belong in deterministic tools an agent can call, not in a prompt. Across the suite that means:

  • maxed-mcp speaks the Model Context Protocol, so any MCP client can call the whole toolkit through one server, with structured JSON in and out.
  • --json everywhere. The CLIs and validators emit machine-readable JSON with documented error envelopes and stable exit codes, so a tool call either succeeds with data or fails with a reason an agent can branch on.
  • llms.txt and AGENT.md on each tool document the machine interface (tool name, JSON shapes, exit codes) for the agents that read them.
  • Deterministic and honest. The same input always yields the same output, and an unconfigured tool says what it needs rather than inventing an answer. Nothing here is generative and nothing is faked.

A tour of the repos

The agentic front door

  • maxed-mcp - one MCP server that fronts the suite's deterministic tools so an AI agent can call them the way it calls any other MCP tool: normalize a bank statement, normalize an OFX/QFX download, classify a document, validate a workpaper-spec document, do exact money math, and verify a webhook HMAC. It shells out to the tools that ship a CLI and parses their JSON, computes the small pure primitives in-process, and returns a uniform error envelope. This is where an agent starts.

The spec, the CLI, and the adapters

These define the common language and the developer on-ramp to the suite.

  • cpa-workpaper-spec - Open JSON Schema and OpenAPI vocabulary for CPA engagements: engagements, monthly-close checklists with the open-items loop, tax-prep stage models, engagement-letter config, and request-list (PBC) items. It standardizes how to describe this work so two systems can exchange it. The offline validator speaks stdin and --json.
  • accounting-adapters - One normalized read interface over public accounting APIs (QBO, Xero, Bill.com, TaxDome, Plaid, FreshBooks, Wave). A single provider-agnostic data model plus a cross-provider diff, with a list/diff CLI that has a zero-credential --sandbox mode and --json output.
  • maxed-cli - The developer front door. Scaffolds a local dev project pre-wired to the suite, validates configuration, lints workpaper-spec documents, and runs a fully local sandbox connector smoke-test. Every command supports --json, and maxed tools --json prints a self-describing command manifest for agents.

Parsers and normalizers

The deterministic, auditable file-to-data layer.

  • statement-normalizer - Turns messy bank and credit-card statements (CSV, OFX/QFX, MT940, CAMT.053, QIF, and line-oriented text) into clean, normalized transaction JSON with a consistent sign convention, parsed dates, and proper decimal amounts. Deterministic and dependency-free.
  • ofx-normalizer - A small Go library and a single static CLI binary (ofxnorm) that parse OFX/QFX bank downloads and CSV exports into one normalized transaction schema, with no runtime dependencies.
  • doc-classifier-kit - A pluggable evaluation harness for classifying accounting documents into a fixed taxonomy (W-2, 1099, invoice, bank statement, receipt). A stable taxonomy, a hard synthetic eval set, confusion matrices, a leaderboard, and a single-doc classify --json surface, so you can drop in your own model and measure it.

Exact primitives

Small, pure, correct building blocks.

  • money-rs - Exact decimal money arithmetic in Rust with currency-aware rounding and lossless allocation. Amounts are integer minor units, so floating-point drift cannot happen.
  • webhook-hmac-verifier - Constant-time HMAC verification of inbound webhooks (Stripe, QuickBooks Online, Bill.com schemes) in Go, with a configurable replay window and zero dependencies.
  • idempotency - An idempotency-key store and Plug for safe retries of financial mutations (Elixir): a charge or ledger posting submitted twice applies exactly once.
  • backoffer - Retry with exponential backoff and jitter (Ruby). Zero dependencies; the delay schedule is a pure, testable object, so retries are deterministic under test.
  • datelite - Timezone-safe date-only (YYYY-MM-DD) parsing, formatting, and math (TypeScript). A date is three plain integers and never passes through a timezone conversion, so the off-by-one-day bug cannot happen.
  • mimefix - Re-derive a real content type for uploaded documents (Swift): extension plus magic bytes, with the bytes winning over a renamed file. Fixes the octet-stream forced-download problem deterministically.

Developer infrastructure

The backend foundation a multi-tenant app builds on.

  • deploy-templates - A developer starter kit for multi-tenant backends: a one-command local stack (Postgres with row-level security, Redis, S3-compatible storage, and an API), vendor-neutral storage and accounting-export adapters, deployment starters, and a registry-ready Terraform module. Tenant isolation is enforced by the database, and a scripted demo proves tenant A cannot read tenant B's rows.
  • rls-tenant - Postgres row-level-security multi-tenancy for Rails and ActiveRecord: set the tenant once per request and the database enforces isolation for every query.

UI

The presentation layer.

  • maxed-ui - A lightweight TypeScript and React component kit for accounting and bookkeeping screens: a register table with aligned debit/credit columns and a running balance, a forgiving money input, status pills, and a reconciliation diff view.

How they fit together

An agent connects to maxed-mcp and calls the toolkit through one server. Under the hood: parse a statement with statement-normalizer or ofx-normalizer, classify the documents around it with doc-classifier-kit, read live data through accounting-adapters and diff two systems in one call, describe the engagement and its checklist with cpa-workpaper-spec, keep the money exact with money-rs, and verify inbound webhooks with webhook-hmac-verifier. Render any of it with maxed-ui, scaffold and validate the whole thing with maxed-cli, and stand up the multi-tenant backend it runs on with deploy-templates and rls-tenant, with idempotency, backoffer, datelite, and mimefix as the retry, date, and upload plumbing around it.

Each repo stands on its own and is separately installable. Use one, use all of them, wire them into your own agent, or use them as a reference for how we think about the problem.

License

Apache-2.0 on the anchor repos (maxed-mcp, cpa-workpaper-spec, accounting-adapters, maxed-cli, statement-normalizer, doc-classifier-kit, deploy-templates, maxed-ui) and MIT on the small libraries (money-rs, ofx-normalizer, webhook-hmac-verifier, idempotency, backoffer, datelite, mimefix, rls-tenant); see each repo's LICENSE. Build whatever you want on top.

Popular repositories Loading

  1. accounting-adapters accounting-adaptersPublic

    Normalized Python interface for QuickBooks, Xero, Bill.com, TaxDome, Plaid, FreshBooks, and Wave accounting data.

    Python 3 1

  2. maxed-cli maxed-cliPublic

    Developer CLI for scaffolding accounting workspaces, validating configs, linting workpaper specs, and smoke-testing sandbox connectors.

    Python 1 1

  3. statement-normalizer statement-normalizerPublic

    Deterministic bank and card statement parser that converts CSV, OFX/QFX, MT940, CAMT.053, and text exports into normalized transaction JSON.

    Python 1 1

  4. maxed-ui maxed-uiPublic

    TypeScript and React components for accounting interfaces, including ledger tables, money inputs, reconciliation views, status pills, and selects.

    TypeScript 1

  5. maxed-mcp maxed-mcpPublic

    Model Context Protocol server that fronts the open-source accounting suite's deterministic tools: bank-statement and OFX parsing, document classification, workpaper-spec validation, exact money mat…

    Python 1 2

  6. cpa-workpaper-spec cpa-workpaper-specPublic

    Open JSON Schema and OpenAPI vocabulary for CPA engagements, close checklists, tax prep stages, engagement letters, and request list items.

    Python

Repositories

Showing 10 of 18 repositories

Top languages

Loading…

Most used topics

Loading…