Confirm all of these before scheduling the install. Every one of them has stalled a deployment at least once, and every one is cheaper to settle a week early than on the morning.
1The database
- SAP Business One on HANA. The company schema, not a copy — a restored backup from last quarter will answer every question confidently and wrongly.
- A dedicated read-only database user for NeelAI. Not the SAP service account, and not a personal login belonging to somebody who might leave.
- Network access from the NeelAI host to the HANA port: 30015 for a single-container system, 30013 for a multi-container tenant, 39015 when the instance number is 90.
SELECT on the company schema and nothing else. No INSERT, no EXECUTE, no system privileges. If the DBA asks whether NeelAI needs to create anything in the database — tables, views, procedures, a schema of its own — the answer is no, now and later.2The host
| Minimum | Comfortable | Why | |
|---|---|---|---|
| vCPU | 2 | 4 | Query planning and the answer build are the work; the database does the heavy lifting. |
| RAM | 4 GB | 8 GB | Result sets are assembled in memory before they are sent to the browser. |
| Disk | 20 GB | 40 GB | Containers, the schema snapshot, conversation history and logs. |
| Outbound HTTPS | To the model provider only | Nothing else leaves. See What leaves your network. | |
One host carries a single tenant comfortably at these sizes. The constraint is concurrent questions rather than the number of accounts: fifty people with twenty dashboards between them is a quiet host, and five analysts all asking at once is not.
3The fiscal calendar
Get the financial year in writing before the install. April to March is assumed, and it is right for most Indian companies, but a subsidiary reporting on a parent's January year or a July year is common enough that assuming is how you end up explaining why Q2 looks wrong.
NeelAI reads the posting periods out of SAP rather than keeping its own calendar, so this is a question of confirming what is already configured there — not of entering it twice.
4On our side
- A model provider API key, held in the backend environment on the NeelAI host and never shared with the customer.
- The bearer key for the SAP B1 bridge, if the deployment uses one.
- The tenant key, which must match the one used when the customer record was created.
5The check that actually catches things
Before the install call, have the customer's DBA run one query as the NeelAI user and send you the output:
SELECT COUNT(*) AS "invoices", MIN("DocDate") AS "from", MAX("DocDate") AS "to"
FROM OINV WHERE "CANCELED" = 'N'Three things come out of that one statement. The login works. It can see the company schema rather than merely connect. And the date range tells you whether this is the live database or something older than it should be.
6Who needs to be on the call
Somebody who can change the firewall, somebody who can grant the database user, and somebody from the customer's side who knows what the answers are supposed to look like. The third is not optional: the first question whose answer nobody can sanity-check is a wasted install.