Skip to main content

Configurable Tabs

7 main tabs available:
  • insights - Dashboard with KPIs
  • tasks - Bookkeeping task queue
  • bank_transactions - Bank activity
  • general_ledger - Chart of accounts, journal entries
  • reports - Financial statements
  • accounts_receivable - AR invoices and aging
  • accounts_payable - AP bills and aging

API Endpoints

Get configuration:
GET /v1/platform/businesses/{business_id}/menu-config/
Update configuration:
PUT /v1/platform/businesses/{business_id}/menu-config/
Reset to partner default:
DELETE /v1/platform/businesses/{business_id}/menu-config/

Configuration Structure

{
  "menu": {
    "insights": true,
    "tasks": true,
    "bank_transactions": false,
    "general_ledger": true,
    "reports": true,
    "accounts_receivable": true,
    "accounts_payable": false
  },
  "sub_menu_tabs": {
    "reports.cashflow_statement": true,
    "reports.balance_sheet": true
  }
}
menu (required) - Boolean flags for each main tab sub_menu_tabs (optional) - Fine-grained control over sub-tabs using "parent.child" format

Example: Hide AP Tab

For invoice-only platforms:
config = {
    "menu": {
        "accounts_payable": False
    }
}

response = requests.put(
    f"https://dev-backend.thredfi.com/v1/platform/businesses/{business_id}/menu-config/",
    headers={"Authorization": f"Bearer {business_token}"},
    json=config
)
Only specify items you want to change. Unspecified items keep their default values.

Example: Show Only Reports Sub-tabs

config = {
    "menu": {
        "reports": True
    },
    "sub_menu_tabs": {
        "reports.cashflow_statement": True,
        "reports.balance_sheet": True
    }
}
Validation rule: Parent menu must be enabled if sub-menu is enabled.

Common Configurations

Minimal (reporting only):
{
  "menu": {
    "insights": true,
    "reports": true,
    "general_ledger": false,
    "tasks": false,
    "bank_transactions": false,
    "accounts_receivable": false,
    "accounts_payable": false
  }
}
AR-focused (invoice platforms):
{
  "menu": {
    "insights": true,
    "reports": true,
    "accounts_receivable": true,
    "general_ledger": true,
    "tasks": true,
    "accounts_payable": false
  }
}
Full accounting: All tabs enabled by default. No config needed.

Inheritance

Partner-level default → Applied to all businesses by default Business-level override → Overrides partner default for specific business To reset business to partner default: DELETE /menu-config/

Response Format

{
  "data": {
    "menu": { /* config */ },
    "sub_menu_tabs": { /* config */ },
    "source": "business" // or "partner"
  }
}
source indicates if config is business-specific or inherited from partner.
Implementation guide complete! All sections documented.