12 tables. Multi-tenant. Multi-currency. Multi-calendar. Double-entry accounting with full audit trail. Maps Tally, NetSuite, SAP, Dynamics into one normalized model.
┌───────────────────┐ ┌───────────────────┐ ┌───────────────────┐
│ organizations │────▶│ entities │────▶│ financial_ │
│ │ │ (bus. units, │ │ transactions │
│ • slug (unique) │ │ subsidiaries, │ │ │
│ • base_currency │ │ cost centers) │ │ • transaction_ │
│ • report_currency │ │ │ │ type │
│ • parent_id (↻) │ │ • parent_id (↻) │ │ • source_erp_id │
└────────┬──────────┘ │ • currency_code │ │ • total_amount │
│ └────────────────────┘ │ NUMERIC(19,4) │
│ └────────┬──────────┘
│ │
▼ ▼
┌───────────────────┐ ┌───────────────────┐ ┌───────────────────┐
│ chart_of_ │ │ erp_connections │ │ transaction_ │
│ accounts │◀────│ │ │ lines │
│ │ │ • erp_type │ │ (double-entry) │
│ • account_type: │ │ • sync_status │ │ │
│ asset │ │ • last_sync_at │ │ • debit_amount │
│ liability │ └────────┬──────────┘ │ • credit_amount │
│ equity │ │ │ NUMERIC(19,4) │
│ revenue │ ▼ │ • account_id ──▶ │
│ expense │ ┌───────────────────┐ └───────────────────┘
│ │◀────│ account_mappings │
│ • parent_id (↻) │ │ │ ┌───────────────────┐
│ • normal_balance │ │ • source_code │ │ tax_regimes │
└───────────────────┘ │ • confidence │ │ │
│ • mapped_by │ │ • jurisdiction │
┌───────────────────┐ └───────────────────┘ │ • tax_type │
│ fiscal_calendars │ │ • rate │
│ │ ┌───────────────────┐ └───────────────────┘
│ • calendar_type: │ │ currencies │
│ calendar_year │────▶│ │ ┌───────────────────┐
│ 4_4_5 / 4_5_4 │ │ • code (PK) │ │ exchange_rates │
│ custom │ │ • symbol │ │ │
└────────┬──────────┘ └───────────────────┘ │ • rate_type: │
│ │ spot, average, │
▼ │ closing │
┌───────────────────┐ │ • effective_date │
│ fiscal_periods │ └───────────────────┘
│ │
│ • fiscal_year │ All tables have:
│ • quarter │ • organization_id (multi-tenant)
│ • start/end_date │ • NUMERIC(19,4) for money
│ • is_closed │ • UUID primary keys
└───────────────────┘ • created_at / updated_at
| Method | Endpoint |
|---|