Aller au contenu

Regulatory reporting

Ce contenu n’est pas encore disponible dans votre langue.

SpeculaPro keeps a register of every report your institution files with the Financial Intelligence Centre (FIC), and helps you prepare each one:

  • Suspicious transaction reports (STRs) are drafted from a case. One select pre-fills the subject, the transactions behind the case’s alerts, a first narrative and the report indicators.
  • Cash transaction reports (CTRs) are drafted automatically each day for customers whose cash reached your threshold, once you switch them on.
  • A second person approves every report. After approval its content can never change.
  • The approved report is exported as goAML XML. You upload that file in goAML Web yourself, then record the reference the FIC gave it.
  • Reports are kept permanently. Nobody can delete one, filed or not.

Open Reports in the left-hand menu to see the register.

draft ──▶ pending_approval ──▶ approved ──▶ submitted ──▶ acknowledged
▲ │ │ │
└── sent back ─┘ │ └──▶ rejected
export the file
draft, pending_approval or approved ──void──▶ voided (never once submitted)
Status On screen What it means Who moves it on
draft Draft Being written. The narrative, action taken, indicators and transactions can be changed Someone with reports.draft sends it for approval
pending_approval Awaiting approval Frozen, waiting for a second person Someone with reports.approve approves it or sends it back to draft
approved Approved · to file Final. It can be exported, and must be before it is recorded as submitted Someone with reports.submit records the upload to goAML
submitted Submitted Uploaded to goAML, with the FIC’s reference and the date Someone with reports.submit records the FIC’s answer
acknowledged Acknowledged The FIC accepted it Final
rejected Rejected by the FIC The FIC returned it, with the reason Final. A new STR can be drafted from the case. See If the FIC rejects a report
voided Voided Withdrawn before filing, with the reason: approved by mistake, a duplicate, the wrong subject Final. A new STR can be drafted from the case. See How to void a report

These steps are enforced by the database, not only by the screens. A report can’t skip a step, go backwards except from Awaiting approval to Draft, or change its content once it has left Draft. Once approved, who approved it can’t change; once submitted, the FIC reference and submission date can’t change.

Every label that names who you report to, or the file you send, takes the name from your workspace’s jurisdiction. This documentation quotes the labels as a Ghanaian workspace shows them; read your own FIU’s name in their place.

Jurisdiction Short name on screen Report format on screen
Ghana FIC (Financial Intelligence Centre) goAML XML
Nigeria NFIU (Nigerian Financial Intelligence Unit) goAML XML
Kenya FRC (Financial Reporting Centre) goAML XML
Sierra Leone, Liberia FIA (Financial Intelligence Agency) goAML XML
The UEMOA states The national CENTIF, such as CENTIF-CI or CENTIF Sénégal CENTIF declaration
Guinea CENTIF CENTIF declaration
The Gambia, Other country FIU (financial intelligence unit) goAML XML

Where the names appear:

  • The register. The line above the title reads Filings to the Financial Intelligence Centre · goAML XML, the search box Report number, title, FIC reference or case, and the last column FIC reference.
  • Statuses and the progress line. A report the FIU returned reads Rejected by the FIC.
  • A report’s page. The report code line (FIC report code STR), the reference, the hints under the narrative and the indicators, the validation line, the approval panel and the submission and outcome panels.
  • Settings → Reporting. The first panel is headed Report header (goAML XML) and the last Lookup codes (goAML XML).

An approved report keeps the FIU it was approved for, and every report keeps its own format. If the workspace’s jurisdiction changes later, an approved or filed report’s page still names the FIU it was written for, while the register’s heading and columns follow the workspace’s current one.

goAML’s own words stay on goAML reports only. On a CENTIF declaration the narrative panel is headed Grounds for the report instead of goAML reason, the action field reads Action taken, a report with no transactions says the subject is reported as an involved party without mentioning a goAML activity, and the approval trail reads Filed with the CENTIF-CI instead of Submitted to goAML.

Someone without access to reports sees the general word instead: Reports carry customer identity for the FIU.

The Reports register with its tabs (All, Drafts, Awaiting approval, To file, Submitted, Acknowledged, Rejected), a search box and type filter, and one STR draft for Kwame Asante drafted from case SP-2026-000001, with its amount and Not filed The Reports register with its tabs (All, Drafts, Awaiting approval, To file, Submitted, Acknowledged, Rejected), a search box and type filter, and one STR draft for Kwame Asante drafted from case SP-2026-000001, with its amount and Not filed

Reports contain customers’ identity in full: names, ID numbers, dates of birth, phone numbers and account numbers. So every reporting action needs a reporting permission and entities.view_pii, the permission to see protected personal data.

Action Needs Default roles that can
See the register and open reports entities.view_pii and any of reports.draft, reports.approve, reports.submit Senior analyst, L2 investigator, MLRO
Draft an STR from a case, edit a draft, send it for approval reports.draft and entities.view_pii Senior analyst, L2 investigator, MLRO
Approve a report, send it back, or void it reports.approve and entities.view_pii MLRO
Export the report file (goAML XML, or the CENTIF declaration archive) and download it reports.approve or reports.submit, and entities.view_pii MLRO
Record the submission and the FIC’s answer reports.submit and entities.view_pii MLRO
Change the reporting settings settings.manage or reports.approve Administrator, MLRO

The person who drafted a report, and the person who sent it for approval, can never approve it. The database refuses it. A team with a single MLRO therefore needs the drafting done by someone else, such as a senior analyst, or a second person with the MLRO role. See Roles and permissions.

Recording the submission isn’t a four-eyes step: the approver may also upload the file and record the reference.

Each of these is written to the audit log under the person’s name: opening a report (at most once every 30 minutes per person and report), every edit, sending for approval, sending back, approving, exporting, every download, recording the submission and recording the FIC’s answer. CTR drafts are recorded as created by the system. Changes to the reporting settings are recorded with the values before and after.

State these plainly to your MLRO and auditors:

  • Submission is manual. SpeculaPro produces the goAML XML file; a person uploads it in goAML Web and records the reference. There is no direct connection to goAML, or to any CENTIF’s system.
  • The CENTIF declaration is unconfirmed. Its layout and XML schema are SpeculaPro’s own; no CENTIF has confirmed it accepts them. See Filing with a CENTIF.
  • No message when a report needs approval. Approvers find reports under the Awaiting approval tab of Reports. Tell the approver yourself.
  • A rejected report is final. There’s no “corrected copy” of the same report. For an STR, draft a new one from the case. A rejected CTR can’t be redrafted in SpeculaPro: file the correction through goAML directly and record what you did on the customer’s case or file.
  • No blank reports. STRs come from a case and CTRs from the daily job. There is no screen or endpoint to start a report from nothing, and no SAR or other report types yet.
  • No customer addresses. SpeculaPro doesn’t hold customers’ postal addresses, so reports don’t include them.
  • Counterparties at other providers are reported as a person or business, with their wallet or account number written in the comments, because goAML’s account format needs an institution code SpeculaPro usually doesn’t know for other providers.

A report is the institution’s record of what it told the FIC and when, so it is kept whatever its status: a draft nobody finished is kept too. The exported file is kept with it, byte for byte. Nothing in the app or the API deletes a report, and a workspace that holds reports can’t be deleted from the database in the normal way. When an institution leaves, the operator removes its workspace with speculapro tenant offboard, which first exports every report and filed goAML file, with a checksum manifest, for the institution to keep. Plan record retention with your MLRO and legal team.