Troubleshooting & FAQ
The quick fixes for the things that most often stop people: a document that will not generate, an email that did not arrive, an import that did not file itself, a deadline that looks wrong, and a template you cannot edit. Answer first, then why.
I can’t generate a documentLive
Fix first: complete the client’s KYC/CDD. In almost every case this is the compliance hard gate doing exactly what it should — CorpSec AI will not produce a document for a client whose due diligence is not passed, and it tells you the specific reason. Open the company’s Compliance tab, clear the blocker, then generate again.
The block is deliberate and is recorded in the audit log. The reason shown maps to one of these states:
| What the block means | What to do |
|---|---|
| No KYC/CDD profile exists for the client yet | Start KYC from the Compliance tab and complete CDD. |
| The client’s KYC was rejected | The client cannot be serviced — this is a decision, not an error. Escalate internally. |
| An unhandled sanctions hit is sitting undispositioned | Dispose of the hit (False positive / Confirm match) in Screening. |
| KYC is still pending / in review | Finish the review to move it to passed. |
| EDD required | Complete enhanced due diligence and get the four-eyes sign-off. |
| The review is expired | Run the periodic review to refresh it. |
The gate is fail-closed: if the system cannot verify KYC status at all, it blocks rather than guesses. In a bulk run, a blocked company is skipped with a per-company reason and the rest still generate — you are never left wondering which one failed.
Full detail on each state, the four-eyes rule and the audit trail is in KYC & compliance.
An email didn’t arriveLive
Fix first: check whether an email provider is connected for your firm. CorpSec AI sends real email only when a transport is configured; if none is, it does not pretend to send — the in-app notification still appears, but no email goes out. This is the usual reason an expected email is missing.
A few other honest constraints to check:
- Provider not connected: without an email provider set up, outbound email is a clean no-op by design. Ask your admin whether sending is switched on for the firm.
- Only high-value events are emailed: not every notification triggers an email. Approvals pending, step completions, deadline warnings, overdue items and billing/trial events do; routine in-app pings stay in-app.
- The recipient must be an active user: email only goes to a real, active member of the firm. An invited-but-not-joined colleague will not receive one yet.
- Email never blocks the work: sending is fire-and-forget — a failed or skipped email never holds up the notification or the underlying action. Check the in-app notification as the source of truth.
Email is intentionally non-fatal and honest: it either sends for real or reports that it did not. It will not show "sent" for a message that never left the building.
My import didn’t file to a companyLive
Fix first: look in the pending review queue and file it by hand — the file is not lost, it is waiting for you. When you drop in documents, CorpSec AI auto-files one only when it is confident on all three counts: it matched one of your own companies, its classification confidence is high, and no field failed validation. If any of those is short, the file goes to pending review rather than being filed to the wrong place.
- Open the pending queueGo to the Document Inbox and filter to items needing review — this is where anything the AI could not confidently place is held.
- File it to the right companyPick the company and confirm. The file is linked and marked filed; the reassignment is audit-logged.
- If it could not be classified at allIt is kept as "unclassified" with an honest reason attached — never dropped. Assign the company and, if needed, the document type, then confirm.
Company matching is firm-scoped and prefers the UEN as the strong key, with an exact name match as fallback. A near-miss on the name is treated as "not sure" and sent to pending on purpose — better a queue than a misfile.
How auto-classification and the inbox work end to end is in Document Inbox and Import your client book.
A deadline looks wrongLive
Fix first: check the company’s financial year-end (FYE) month — deadlines are computed from it, not stored, so a wrong deadline nearly always means the FYE (or a filing date) is off. AR, AGM and ECI are derived as fixed months after the FYE, so correcting the source field recomputes the dates.
The most common case is a company reading as overdue when you already filed. That happens because confirmed last-filed dates come from ACRA import, which currently runs on demo data — so the system falls back to the FYE-based estimate and cannot see that you filed early. It is an estimate being honest about itself, not a missed filing.
Today the FYE and incorporation fields are set at company creation or via import and are shown read-only in the Fields panel, so correcting a bad date means updating the company through that path. There is not yet a "mark as filed" button on the radar.
The full model — how each date is derived and why last-filed anchoring matters — is in Compliance calendar & deadline radar.
I can’t edit a templateLive
Fix first: check whether the document is a statutory-locked instrument. A small set of documents whose exact wording is prescribed cannot be body-edited in the app — you can still generate them, and you can supply your own version, but you cannot rewrite the operative text inside CorpSec AI. Everything else is editable to some degree.
| Kind of template | Can you edit the wording? |
|---|---|
| Statutory-locked — e.g. consents to act (director / secretary), model constitution, directors’ statement, share-allotment return, solvency statement | No in-app body editing. Generate as-is, or upload your own file (BYO) to be filled with the client’s data. |
| Body-override resolutions & minutes — e.g. director-resignation DRIW, AGM minutes | Yes — you edit the operative body wording; letterhead, certification and signatures stay standard and placeholders auto-fill. |
| Fully editable — general resolutions, members’ special resolutions, service quotes | Yes. |
Two firm-level customisations exist for any doc type, including the locked ones: upload your own .docx template (BYO) and it is filled with placeholders, or set a clause override for the editable resolution instruments. If neither is set, the standard system template is used.
How BYO templates and clause overrides are configured is in Templates and Customize workflows.
Something says “demo”, “preview” or “coming soon”Demo data
CorpSec AI labels the parts that are not yet wired to a live external provider, rather than faking them. If you hit one of these, it is expected behaviour, not a bug:
- ACRA sync runs on demo data. Live registry lookup of arbitrary UENs is not connected out of the box; "ACRA bulk sync" resolves a set of sample companies in Preview mode. Spreadsheet data you upload is fully yours and unaffected. See Getting started.
- Sanctions / PEP screening runs on demo data. Without a screening provider, screening is a clearly-badged keyword check with sample hits. In production it will not treat a demo result as a real clearance. See KYC & compliance.
- Online billing is being set up. Usage meters and the active-company cap are live and genuinely enforced, but paying online is not yet connected — prices and invoices show as samples and choosing a plan points you to contact us. The tool for invoicing your own SME clients is live. See Billing & plans.
The rule of thumb: if it carries a "Demo data" or "Preview" badge, the logic around it is real and the external data source is the mock. Your own imported data is always real.
Frequently asked questions
Why won’t CorpSec AI let me generate a document?
Because the client’s KYC/CDD is not passed. The compliance hard gate blocks generation until due diligence is complete and tells you the exact reason — no profile, a rejected client, an undispositioned sanctions hit, EDD still required, or an expired review. Clear it in the Compliance tab and generate again.
I didn’t get an email notification — is it broken?
Usually not. CorpSec AI only sends real email when an email provider is connected for your firm; if none is, it deliberately does not fake a send, and the in-app notification is your source of truth. Also, only high-value events are emailed, and only to active firm members.
My uploaded document didn’t attach to the client — where is it?
In the Document Inbox pending-review queue. The AI files a document automatically only when it confidently matches one of your companies with a clean classification; anything short of that is held for you to file by hand rather than risk a misfile. Nothing is dropped.
A company shows overdue but we already filed — why?
The confirmed last-filed date comes from ACRA import, which currently runs on demo data, so the system falls back to the FYE-based estimate and cannot see an early filing. Check and correct the company’s FYE / filing data at source; live ACRA sync will remove these false overdues when connected.
Why can’t I edit the text of a template?
It is a statutory-locked instrument whose wording is prescribed — consents to act, the model constitution, the directors’ statement, the share-allotment return and the solvency statement. You can still generate it or upload your own version (BYO); resolutions and minutes remain editable.
Is any of this data real, or is it all a demo?
Your imported and entered data is always real and yours. What ships as demo is the external plumbing that is not yet connected — ACRA registry lookup, sanctions/PEP screening and online billing — and those are clearly labelled wherever they appear.
This is a product guide for CorpSec AI. Where a feature runs on demo data or is not yet released, it is labelled as such. Compliance references are general information for Singapore corporate service providers, not legal advice.