Go-Live Readiness API¶
Applies to: All subscriptions
Purpose¶
Tell an implementation team, from one place, whether a customer is ready to go live, exactly why or why not, and where to fix each problem.
Four facts decide how to use it:
- Nothing is stored except decisions. The stage, the readiness figure and every check are worked out from the platform's current state each time you ask. Fix a configuration and the answer changes immediately; break one and it moves back. There is no status to keep up to date.
- The score is a plain count, shown with its working. Readiness is the number of passing checks divided by the number that apply. Checks that do not apply to the customer (for example, number series when Invoice Generation is off) are left out. A warning counts as not yet passed.
- "Ready" means no blocking issues, not 100%. Only checks marked as able to block can stop a go-live. Warnings are things to look at, and a customer with warnings can still be submitted.
- Recording a decision changes nothing else. Approving or recording a go-live does not enable a module, change the company's status or restrict anyone. It is the record that people agreed the customer was ready, with the evidence they decided on.
Audience¶
A customer's own administrators and the implementation team working with them. Not for end users: this is not part of their workflow.
Prerequisites¶
- Your company's view: a signed-in user with
admin.viewand a bearer token from Authentication. The company is taken from the token; any company named in the request is ignored. - The same checks, in the order to work through them, are on the Plan & Set-up tab of the Admin page.
Reference¶
Your company's position¶
GET /api/onboarding/readiness
This is the customer view: the stage, the readiness figure and the checklist with plain reasons, for your own company only. It deliberately leaves out the go-live decision history and who decided, per-PAN and per-GSTIN detail, tasks, the commercial-record checks, and the pointers to staff-only screens. Complifly staff read the full workspace at GET /api/admin/go-live/companies/{companyId}. In the product, a company administrator sees this on the Plan & Set-up tab.
| Field | Meaning |
|---|---|
journey.currentStage |
DRAFT, ORGANIZATION_SETUP, GSTIN_SETUP, ERP_INTEGRATION, GSP_CONFIGURATION, USER_CONFIGURATION, VALIDATION, READY_FOR_GO_LIVE, APPROVED or LIVE |
journey.bucket |
DRAFT, IN_PROGRESS, BLOCKED, READY, APPROVED or LIVE |
journey.goLive |
The decision state only (NONE, READY_FOR_REVIEW, APPROVED, LIVE or REJECTED) |
scoring |
readinessPct, applicable, passed, warnings and blockingIssues |
stages[] |
Each stage's status: COMPLETED, IN_PROGRESS, NOT_STARTED or BLOCKED, with the reason |
checklist |
The results grouped into sections, each item with title, status (COMPLETED, PENDING or BLOCKING), the plain reason why, and whether it blockings go-live; with totals |
Stage and status meanings¶
| Status | Meaning |
|---|---|
COMPLETED |
No check in the stage is failing (warnings are carried and shown) |
IN_PROGRESS |
Something in the stage passes and something still fails |
NOT_STARTED |
Nothing in the stage passes yet |
BLOCKED |
Stuck on something outside the implementation team, such as a customer who has not granted ERP consent, or a suspended or archived company |
A stage that fails while an earlier stage is incomplete is not blocked; it is marked waitingOnEarlier and is simply not the thing to work on yet.
The checks¶
| Group | Check | What it asks | Stage | Can block go-live? |
|---|---|---|---|---|
| Configuration | ORG_ACTIVE |
Company is active | Organization setup | Yes |
| Configuration | FISCAL_YEAR |
A fiscal year exists | Organization setup | Yes |
| Configuration | FISCAL_PERIODS |
Every fiscal year has its 12 periods | Organization setup | Yes |
| Configuration | GSTIN_REGISTERED |
At least one GSTIN is registered | GSTIN setup | Yes |
| Configuration | GSTIN_PAN |
The GSTIN carries a valid PAN | GSTIN setup | No, warns only |
| ERP Connectivity | ERP_CONNECTION |
An ERP connection exists | ERP integration | No, warns only |
| ERP Connectivity | ERP_CREDENTIALS_LIVE |
At least one ERP credential is usable | ERP integration | Yes |
| ERP Connectivity | ERP_DOCUMENTS_FLOWING |
Documents have arrived from the ERP | ERP integration | No, warns only |
| GSP | GSP_ASSIGNED |
The GSP the GSTIN resolves to can send documents. A GSTIN with no GSP row resolves to the company's row, then to the platform default on the sandbox, so "no row" is not a failure; a provider the platform cannot route to is | GSP configuration | Yes, only if the provider cannot be routed to |
| GSP | GSP_PRODUCTION |
The GSP points at production, not the sandbox (this also warns for the default sandbox provider, and is treated as a serious finding by the Health Check once the customer is recorded as live) | GSP configuration | No, warns only |
| Security | ERP_CREDENTIAL_EXPIRY |
No ERP credential expires within 30 days | ERP integration | No, warns only |
| Security | USERS_ADMINS |
Two administrators exist | User configuration | No, warns only |
| Users | USERS_ACTIVE |
At least one active user | User configuration | Yes |
| Users | USERS_GSTIN_ACCESS |
Every active user can reach at least one GSTIN, by the same rule sign-in uses: administrators reach every GSTIN of the company; others need an explicit grant or their own GSTIN on the user record | User configuration | Yes |
| Operational Setup | FEATURES_ENABLED |
At least one module is switched on (e-invoice, e-way bill, invoicing, reconciliation or TDS) | GSTIN setup | Yes |
| Operational Setup | NUMBER_SERIES |
Document number series defined | GSTIN setup | Yes |
| Operational Setup | APPROVAL_ROLES |
Someone holds an approval role | User configuration | Yes |
| Operational Setup | MASTERS |
Customers, items and tax rates loaded | Validation | Yes |
| Compliance Setup | SELLER_PROFILE |
Preceding-year turnover recorded (TCS gate) | GSTIN setup | No, warns only |
| Compliance Setup | REGISTRATION_CLASS |
Turnover band declared | GSTIN setup | No, warns only |
| Compliance Setup | COMPLIANCE_CHECKS_RUNNING |
Compliance checks are running | Validation | No, warns only |
| Readiness Validation | OPEN_TASKS |
No open onboarding tasks | Validation | No, warns only |
| Readiness Validation | FIRST_DOCUMENT |
A document has been processed end to end | Validation | No, warns only |
| Readiness Validation | COMMERCIAL_CUSTOMER |
A commercial customer is recorded | Validation | No, warns only |
| Readiness Validation | COMMERCIAL_SUBSCRIPTION |
A subscription term is current | Validation | No, warns only |
A check marked No can only ever warn. Commercial information (a customer or subscription record) never blocks, so a commercial state cannot hold back statutory work.
Administration¶
Complifly runs the go-live review itself: submitting, approving, rejecting and recording a go-live, and the cross-customer view. Those operations are not part of this reference and are not available to a customer's administrators.
Validation¶
GET /api/onboarding/readinessas a customer administrator and confirm the checklist and the readiness figure describe your own company, with no decision history.- Fix one blocking item, reload, and confirm it moved to Completed and the readiness figure rose.
Troubleshooting¶
| Symptom | Cause | Action |
|---|---|---|
| A company is Blocked | An ERP connection is waiting for the customer to grant consent, or the company is suspended or archived | Ask the customer to complete consent, or have a Super Admin reactivate the company |
| Readiness is 95% but the company can go live | Ready means no blocking issues, not 100% | Read the warnings; none stops go-live |
| The GSP check warns "SANDBOX" | The provider is pointing at its test environment | Switch to production before real go-live and run the connection test on the GSP Configuration tab. The readiness check never runs that test |
| A check you expected is missing | It is not applicable (for example, no invoicing module) | Open the item list with "show items that do not apply" |
The codes you can receive are listed in Platform Error Codes.