Investigate a Document with Support Investigation¶
Applies to: e-Invoice · e-Way Bill · Which modules do I have?
Purpose¶
Answer "what happened to this document, and who has to act?" from one screen, with no database, server or log access. Support Investigation takes any identifier the customer quotes, finds the document, and shows everything Complifly recorded about it in time order, with the current status and a plain next step.
It exists because a document's history is spread across more than a dozen places: the document itself, each IRN attempt and the government system's reply, e-way bill events, refusals at intake, upload-job lines, results sent back to the ERP, approvals, the audit log and the event log. Before this screen, tracing one invoice meant opening several screens and often asking engineering for a request ID. Most actions in Complifly run immediately rather than as background jobs, so there was no single job record to open either.
Audience¶
L1 and L2 support consultants, customer administrators, and implementation partners. Not for end users correcting a document.
Prerequisites¶
- A role holding
support.investigate: Org Admin (own company), Platform Super Admin (any company) or Complifly's Support Engineer. See Roles and Permissions. - One identifier from the customer. Any of the ones in the table below.
- Nothing else. The screen is read-only and makes no call to the government systems or the GSP.
Steps¶
1. Open it and search¶
Admin & Logs → Support Investigation. Paste the identifier and search.
| The customer quotes | What is matched |
|---|---|
| Document or invoice number, full or the beginning | The document, and any refused or quarantined version of it |
| IRN (64 characters) | The document that holds it |
| E-way bill number | The document it was generated for |
| Acknowledgement number | The document it was issued to |
| ERP reference | The document or the refused send that carried it |
| Request ID (from an error response) | The refused send and any events of that request |
| Upload or bulk job number | The job and its outcome |
Narrow by date range if a number is reused across years. A Platform Super Admin also chooses the company.
2. Or list what went wrong¶
Leave the search box empty and run it. You get, for the company and date range:
| List | Contains |
|---|---|
| IRN not generated | Documents whose latest IRN attempt failed, with the government error and who fixes it |
| Open intake refusals | Documents the ERP API or the Desktop Agent sent that Complifly refused and that have not been resent correctly |
| Upload / bulk jobs with errors | Jobs that failed or finished with errors |
| Failed processing events | Failed IRN, e-way bill and upload events, with their request IDs |
3. Read the document¶
Open a result. The top of the page is the answer; the timeline is the evidence.
| Part | Tells you |
|---|---|
| e-Invoice (IRN) | Current status, IRN, acknowledgement number and date |
| E-way bill | Current status, number, validity |
| What happens next | What is wrong, the action, and who fixes it |
| Timeline | Every recorded event, oldest first, filterable by type |
"Who fixes it" is the routing decision:
| Fixed by | Meaning | Your action |
|---|---|---|
| The customer | Their data, or an action on their side | Tell them the field and the message from the timeline |
| The customer's administrator | A setting only an administrator changes | Route to their Org Admin |
| A legal rule | GST law — not a product behaviour | Explain the rule. Do not raise a defect |
| Complifly support / engineering | A fault on our side | Escalate, with the copied summary |
The timeline draws on:
| Event type | Source | Shows |
|---|---|---|
| Received | The document | When it arrived, from which ERP connection, ERP reference, upload job |
| Rejected | Intake refusals | Each time a send of this document number was refused, why, how many times |
| Validation | Excel quarantine | Rows held back by validation |
| Job | Background jobs | The job lines that processed this document |
| Revision | Document revisions | Each correction, who made it, which fields |
| IRN | Submission attempts and status history | Every attempt, the government error code and message, the provider, the duration, and the response exactly as received |
| EWB | E-way bill history | Generation, Part-B, vehicle, extension, cancellation |
| Write-back | ERP result delivery | Each result sent back to the ERP, the outcome, and every retry |
| Approval | Invoice Generation | Submission and each level's decision |
| Observability | Event log | Failures with their request ID |
| Audit | Audit log | Every user and machine action on the document |
Copy summary for ticket puts the document, status and next step on the clipboard.
4. Read a refused document¶
A send that was refused never became a document. It is listed under intake refusals. Opening it shows:
- Why — each validation or routing reason
- Who sent it — the ERP connection, mapping template, or Desktop Agent identifier
- How often — an ERP that keeps resending the same refused document shows a rising count, not duplicates
- The document as sent, and as it looked after mapping
- Whether a corrected version was accepted later, with a link to it
Refusals from the Desktop Agent are stored from 2026-10-02. Earlier ones were returned to the agent only and cannot be recovered.
Validation¶
You have investigated correctly when you can state all three:
| Statement | Where it comes from |
|---|---|
| The document's current status | The two status boxes |
| The cause, in the government system's or Complifly's own words | The failing timeline event |
| Who acts next | "Fixed by" in What happens next |
Every search and every document opened writes an audit entry (SUPPORT_INVESTIGATION_SEARCH, SUPPORT_INVESTIGATION_VIEW) naming the user and the company. Confirm yours is there under Audit Logs — that entry is also your evidence that the customer's data was looked at for a reason.
Troubleshooting¶
| Symptom | Cause | Action |
|---|---|---|
| Nothing found for a document number | It was never received, or it belongs to another company | Check the ERP actually sent it — see Ingest Failures. A Super Admin: check the company selected |
| Found only under intake refusals | Complifly refused it; it never became a document | Read the reasons, fix in the ERP, resend |
| The tab is not shown | Your role lacks support.investigate |
Ask an Org Admin for the right role |
| "IRN not generated" with outcome INDETERMINATE (shown as In Doubt where the new status labels are on) | The government system did not confirm either way, so the IRN may already exist | Do not correct the document: correcting it is refused (INDETERMINATE_PAYLOAD_CHANGED) because it risks a second IRN. Resubmitting it unchanged is allowed and settles it |
| Two screens, or two registrations, show different words for the same status | DOCUMENT_STATUS_V2 is on for one registration and off for the other |
Check Operational Controls for the GSTIN. Off is the earlier wording; on is the new set. Neither changes what a button does |
| Many identical failed attempts | The same data error retried without a correction | Fix the field named in the error before regenerating |
| A failed event has no company filter match in other screens | Events are recorded without the company identifier | Use this screen, which matches events through the document — see the note below |
| The response text is cut off | Stored responses are shown up to 4,000 characters | Enough for the error; ask engineering only if the full body is needed |
Known limit. The technical log (stack traces) is still outside this screen. It is needed only when Fixed by says Complifly support / engineering; quote the request ID from the timeline.