Skip to main content

Welcome to Accountability

Accountability is a modern multi-company, multi-currency accounting SaaS application designed for organizations managing complex financial operations across multiple legal entities and jurisdictions.

What is Accountability?

Accountability provides comprehensive accounting capabilities for organizations that need to:
  • Manage multiple companies within a single organization
  • Handle multi-currency transactions with automatic currency translation
  • Generate consolidated financial statements across parent-subsidiary relationships
  • Track intercompany transactions and eliminations
  • Maintain US GAAP compliance for financial reporting
  • Support global operations with companies in different jurisdictions

Key Features

Multi-Company Management

Organize multiple legal entities under a single organization with hierarchical ownership structures and consolidation groups.

Multi-Currency Support

Full ASC 830 compliance with functional and reporting currency separation, automatic currency translation, and exchange rate management.

Chart of Accounts

Flexible account structure with US GAAP classification (Assets, Liabilities, Equity, Revenue, Expenses) and standard numbering conventions.

Journal Entries

Double-entry bookkeeping with multi-line entries, real-time balance validation, draft and approval workflows, and full audit trail.

Fiscal Period Management

Automatic fiscal period calculation based on company fiscal year end, with support for 13 periods (including adjustment period).

Financial Reports

Generate Balance Sheet, Income Statement (P&L), Cash Flow Statement, Trial Balance, and Statement of Changes in Equity for individual companies or consolidated groups.

Consolidation Engine

Automatic consolidation with intercompany elimination, currency translation, and support for full consolidation, equity method, and cost method.

Authorization & Audit

Role-based access control (RBAC) with fine-grained permissions, policy engine, and comprehensive audit logging for all financial transactions.

Technology Stack

Accountability is built with modern, type-safe technologies:
LayerTechnologyPurpose
BackendEffectFunctional TypeScript for type-safe business logic
FrontendTanStack StartFull-stack React framework with SSR
DatabasePostgreSQLRelational database with @effect/sql
APIEffect HttpApiType-safe API with OpenAPI spec generation
StylingTailwind CSSUtility-first CSS framework
TestingVitest + PlaywrightUnit, integration, and E2E testing

Architecture Principles

Functional Core

The accounting core uses Effect for:
  • Type safety: Compile-time guarantees for business logic
  • Error handling: Structured error types with Schema.TaggedError
  • Composability: Services built from composable effects
  • Testability: 100% test coverage with Effect testing utilities

Layered Architecture

┌─────────────────────────────────────────────────────────────┐
│                      FRONTEND (web)                         │
│  React + TanStack Start + openapi-fetch + Tailwind          │
│  NO Effect code - loaders for SSR, useState for UI          │
└─────────────────────────────────────────────────────────────┘

                              │ HTTP (openapi-fetch client)

┌─────────────────────────────────────────────────────────────┐
│                       BACKEND (api)                          │
│  Effect HttpApi + HttpApiBuilder                             │
│  Exports OpenAPI spec for client generation                  │
└─────────────────────────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────┐
│                   PERSISTENCE + CORE                         │
│  @effect/sql + PostgreSQL │ Effect business logic            │
└─────────────────────────────────────────────────────────────┘

US GAAP Compliance

Accountability implements key US GAAP standards:
StandardDescriptionImplementation
ASC 210Balance SheetCurrent/non-current classification, standard presentation
ASC 220Comprehensive IncomeIncome statement with OCI components
ASC 230Cash Flow StatementIndirect method with operating/investing/financing classification
ASC 810ConsolidationFull consolidation, equity method, intercompany eliminations
ASC 830Foreign CurrencyFunctional currency model with translation/remeasurement

Core Concepts

Organization Hierarchy

  • Organization: Top-level container with reporting currency
  • Company: Legal entity with functional currency and chart of accounts
  • Consolidation Group: Parent-subsidiary relationships for consolidated reporting
  • Intercompany Relationships: Trading partners for intercompany transaction tracking

Account Structure

Accounts follow US GAAP numbering:
RangeCategoryExamples
1000-1499Current AssetsCash, Accounts Receivable, Inventory
1500-1999Non-Current AssetsProperty, Equipment, Intangible Assets
2000-2499Current LiabilitiesAccounts Payable, Accrued Expenses
2500-2999Non-Current LiabilitiesLong-term Debt, Deferred Tax
3000-3999EquityShare Capital, Retained Earnings
4000-4999RevenueSales Revenue, Service Revenue
5000-5999Cost of SalesDirect Costs, COGS
6000-7999Operating ExpensesSalaries, Rent, Marketing
8000-8999Other Income/ExpenseInterest, Foreign Exchange Gains/Losses
9000-9999SpecialIntercompany Accounts, Eliminations

Journal Entry Workflow

  1. Draft: Create multi-line entry with debits and credits
  2. Validation: System validates balance (debits = credits)
  3. Approval: Submit for approval (optional workflow)
  4. Posted: Record in general ledger with automatic fiscal period assignment
  5. Immutable: Posted entries cannot be modified (use reversing entries)

Get Started

Quickstart

Create your first company and journal entry in 5 minutes

Installation

Set up the development environment locally

Resources

Effect Guide

Learn Effect patterns used in the backend

Frontend Guide

React and TanStack Start patterns

API Reference

OpenAPI-documented REST API

Design Principles

Core Independence: The accounting core is completely decoupled from UI/API layers, enabling different frontends and integrations.
Immutability: All accounting data is append-only. Corrections are made via reversing entries, maintaining a complete audit trail.
Type Safety: Leverage Effect’s type system and Schema validation for compile-time guarantees and runtime validation.
100% Test Coverage: All core business logic must have comprehensive test coverage. This is a hard requirement for maintaining data integrity.

Build docs developers (and LLMs) love