Introduction

Zenntraa Documentation

Zenntraa lets you query your financial database using plain English — no SQL, no code, no waiting. Just ask a question and get an exact answer very fast.

Instant on repeat queries

Zenntraa remembers answers it has given before and returns them instantly from cache — zero AI cost, zero database load.

🎯

Exact answers, not guesses

Unlike fuzzy AI search, Zenntraa runs real SQL queries against your database. The number you get is the number in your data.

🔒

Read-only & secure

Zenntraa can only read your data — never modify or delete it. All queries are validated before execution.

💬

Plain English interface

No SQL knowledge required. Ask questions the way you'd ask a colleague — Zenntraa handles the technical translation.


Architecture

How It Works

Every time you submit a query, Zenntraa follows one of two paths depending on whether it has seen your question before.

1

You type a question in plain English

Example: "What was TechCorp's revenue in Q1 2025?"
2

Zenntraa checks its memory (cache)

Cache HitIf Zenntraa has answered this exact question before, it returns the stored answer instantly. No AI call made, no cost incurred.
Cache MissIf it's a new question, Zenntraa moves to step 3.
3

AI converts your question to SQL

An AI model reads your question, understands your database schema, and generates the correct SQL — like SELECT revenue FROM financials WHERE quarter = 'Q1 2025'.
4

SQL runs securely against your database

The query executes in a sandboxed environment. Only SELECT statements are permitted — your data is never at risk of modification.
5

Answer is returned and stored

You receive a clean, formatted answer. Zenntraa saves it to cache so the next time anyone asks the same question, it returns instantly.
Why this matters for finance: In financial analysis, you often ask the same questions repeatedly — quarter comparisons, KPI checks, sector summaries. Zenntraa's cache turns those repeated lookups into near-instant responses at zero additional cost.

Setup

Connect Your Database

Before running queries, connect Zenntraa to your database. Navigate to Settings → Connect Database in your dashboard.

1

Open Settings

Click the Settings icon in the left sidebar of your dashboard.
2

Enter your database credentials

Fill in your Host, Port, Database Name, Username, and Password. Zenntraa supports PostgreSQL databases.
3

Test the connection

Click Test Connection to verify credentials before saving. Zenntraa will confirm whether it can reach your database.
4

Activate

Click Connect Database. All future queries will route to your live database. The demo data is no longer used once you connect.

If you have a CSV uploaded, you will need to remove it first before connecting a database. Only one data source can be active at a time.

Note: Zenntraa only ever reads from your database — it cannot write, update, or delete any records. Your data is safe.

Setup

Upload a CSV

Don't have a PostgreSQL database? You can upload a CSV file and start querying it straight away. No database setup needed.

Go to Settings in your dashboard and look for the Upload a CSV card.

1

Open Settings

Click the Settings icon in the left sidebar.
2

Choose your file

Click Choose CSV file and select a .csv file from your computer. Maximum file size is 15 MB.
3

Upload

Zenntraa reads the file, detects column types automatically, and makes it ready to query.
4

Start querying

Go to the Query page. Your CSV is now the active data source.

Only one CSV can be active at a time. Uploading a new file replaces the previous one.

What Zenntraa detects automatically

  • Numbers including values formatted with commas like 1,200,000
  • Dates in standard formats
  • Text, IDs, and codes where leading zeros matter (so 07001 stays 07001, not 7001)
Note: You cannot connect a PostgreSQL database and have a CSV active at the same time. If you connect a database, the CSV will no longer be used. If you upload a CSV, the database connection form will be unavailable until you remove the CSV.

Setup

Data Sources

Zenntraa works with three data sources and only one is active at a time.

SourceWhen it is used
PostgreSQLWhen you have connected your own database under Settings
CSVWhen you have uploaded a CSV file and no database is connected
Demo databaseWhen neither is connected. Sample financial data to explore the product

You can see your active source on the Query page. A chip in the top right shows whether you are on Demo, CSV, or your own database.

To switch: connect a PostgreSQL database to replace an active CSV, upload a new CSV to replace the current one, or remove your CSV to go back to the demo.


Getting Started

Your First Query

Once your database is connected, go to the Query page from the sidebar. Type your question in the input box and press Enter or click Ask.

Start simple to confirm everything is working:

What companies are in our database?Good first query
Show me all tables and what data they containSchema check

You'll see the answer below the input box, along with two key indicators: whether the result came from Cache Hit or a fresh Cache Miss, and how fast the response came back.


Best Practices

Writing Good Queries

Zenntraa understands natural language, but the more specific your question, the more accurate and cache-friendly the answer.

Be specific with names and time periods

Show me the revenueToo vague
What was TechCorp's revenue in Q1 2025?Specific
Compare Q1 2025 vs Q1 2024 revenue for all technology companiesEven better

Use exact company names

Zenntraa queries your database directly, so company names must match what's stored. If a query returns no results, try the exact spelling as it appears in your data.

Specify time periods clearly

Use formats like Q1 2025, 2024, January 2025 rather than relative terms like "last quarter" — your database stores data at fixed dates, not relative ones.

Break complex questions into parts

Give me everything about all companies including trends, ratios, and forecastsToo broad
Which sector had the highest average profit margin in 2024?Focused
Cache tip: Repeated queries are free and instant. If you run reports regularly, ask questions the same way each time — Zenntraa will serve them from cache instantly.

Reference

Query Examples

Company information

Show me all companies and their sectors
Which companies are in the healthcare sector?
Show me companies ranked by market cap
How many companies are in each sector?

Revenue & profitability

What was TechCorp's Q1 2025 revenue?
Compare Q1 2025 revenue across all companies
Which company had the highest profit margin in 2024?
Show me quarterly revenue trends for 2024

Comparative analysis

Compare TechCorp and HealthPlus financial performance in 2024
Who are the top 3 companies by revenue in each sector?
Compare 2024 vs 2023 overall revenue
Which companies have the highest year-over-year growth?

Financial KPIs

What is the average profit margin for technology companies?
Show me revenue growth rate for TechCorp
Which sector has the best financial performance?
Give me an executive summary of Q1 2025 performance

Dashboard Guide

Reading Your Results

Every query response shows four pieces of information alongside the answer:

IndicatorWhat it means
Cache HitAnswer was retrieved from memory — no AI cost, returned instantly.
Cache MissNew question — AI was called, SQL was run, answer is now cached for future use.
Response timeHow long the answer took. Cache hits come back near-instantly; first-time queries take a few seconds depending on complexity.
Query IDUnique identifier for this specific query — useful if you need to report an issue.

Your query history is available in the sidebar so you can revisit past answers without re-running them.


Performance

Cache & Speed

Zenntraa's cache is what makes it dramatically faster and cheaper than running AI queries every time.

Why your first query is slower

The first time you ask a question, Zenntraa calls the AI and queries your database. This typically takes a few seconds. Every subsequent time you ask the same question, it returns instantly from cache.

Why slightly different wording causes a miss

"List all companies" and "Show me all companies" are treated as different questions. For reports you run regularly, use the same wording each time to guarantee a cache hit.

Why cached answers don't last forever

Your database data changes — new companies get added, financial records get updated. Zenntraa's cache has a limited lifetime to ensure you always see fresh data rather than stale results.

Pro tip: Run your standard report queries at the start of each session. After the first run they'll be cached, and every subsequent query returns instantly.

Support

Troubleshooting

Query returns no results

This usually means the data doesn't exist in your database for the specified parameters. Try asking Zenntraa what data is available:

What time periods do we have financial data for?
What companies are in the database?

Query returns an error about a column not existing

Zenntraa occasionally generates SQL using a column name that doesn't exactly match your schema. It will automatically retry with the correct schema. If errors persist, try rephrasing your question more specifically.

Response is slow

First-time queries (Cache Miss) can take 1–7 seconds while the AI generates and runs the SQL. This is normal. The same query will be near-instant on all future runs. If every query is slow, check your database connection under Settings.

"Service unavailable" or error 503

The system may be temporarily overloaded. Wait 30 seconds and try again. If the issue persists, contact support via email with your Query ID.

Database won't connect

Double-check that your host, port, database name, username, and password are all correct. Ensure your database server allows inbound connections from Zenntraa's IP. Use the Test Connection button in Settings to diagnose.

Getting a 429 rate limit error

You've sent more than 60 queries in a minute. Wait a moment and resume. If you need higher limits, contact us to discuss your plan.

My CSV uploaded but the numbers look wrong

If your CSV had numbers formatted with commas like 1,200,000, Zenntraa removes the commas before storing so calculations work correctly. If results still look off, check that the column contains only numeric values with no mixed text.

My CSV data is gone

CSV data is kept between sessions but can be lost if the server restarts. If this happens, go to Settings and upload the file again. Your query history will not be affected.

I want to query a different CSV

Go to Settings, remove the current CSV, then upload the new one. Only one CSV can be active at a time.

The database connection form is greyed out

This happens when a CSV is already uploaded. Remove the CSV first, then you can connect a database.

The CSV upload card is greyed out

This happens when a database is already connected. Disconnect the database first, then you can upload a CSV.


FAQ

Frequently Asked Questions

Do I need to know SQL to use Zenntraa?

No. Zenntraa converts your plain English questions into SQL automatically. You never write or see any SQL unless you specifically ask for it.

Can Zenntraa modify or delete my data?

No. Zenntraa is strictly read-only. Only SELECT queries are permitted — it cannot insert, update, or delete any records in your database.

Why does the same question sometimes get a Cache Miss?

Zenntraa caches by exact question text. Minor wording differences — "List all companies" vs "Show me all companies" — are treated as separate questions. Use consistent phrasing for queries you run regularly to always hit the cache.

How long does Zenntraa keep cached answers?

Cache entries expire automatically to prevent stale data. Since financial databases update regularly, Zenntraa refreshes its cache on a short cycle to ensure you always see accurate results.

What databases does Zenntraa support?

Zenntraa supports PostgreSQL databases and CSV file uploads. If you are on the demo, it uses built-in sample financial data. You can set up either under Settings, but not both at the same time.

Can I have both a CSV and a PostgreSQL database at the same time?

No. Zenntraa uses one data source at a time. Remove the current one first and then set up the other.

Will my CSV still be there when I come back?

Usually yes. Your CSV stays between sessions. In rare cases it may be cleared if there is a server restart, and you would just need to upload the file again from Settings.

What is the CSV file size limit?

15 MB. If your file is larger, consider splitting it or using a PostgreSQL database instead.

What's a good cache hit rate?

Target 80% or higher. You can check your current cache hit rate on the Metrics page. A low hit rate typically means queries are being phrased differently each time — try standardizing your question wording.

What if Zenntraa gives a wrong answer?

Zenntraa retrieves exact values from your database — it doesn't guess or estimate. If an answer looks wrong, verify the underlying data in your database first. If the data is correct but the answer is still wrong, contact support with the Query ID shown in the response.

How do I get support on the Free plan?

Free plan users can access all documentation pages. For additional help, use the email support link in the dashboard footer. Pro and Enterprise plans include priority email and live support.