Before you go live
In short
Section titled “In short”SpeculaPro builds goAML reports from settings: your reporting entity ID, report codes, indicator list, lookup codes and CTR rules. It starts with defaults taken from the generic goAML tables and from figures commonly cited for Ghana. None of them has been confirmed by the FIC for your institution. FIUs customise goAML, and the FIC gives each reporting institution its own values.
Work through this checklist with your MLRO and the FIC before the first real report leaves SpeculaPro. Most items are set under Settings → Reporting; see Reporting settings.
The checklist
Section titled “The checklist”-
Validate a sample file. Draft a test STR from a closed test case, have it approved, export it and upload it to goAML Web’s XML validation, or validate it against the XSD the FIC gave you. Fix any setting it complains about and repeat until it passes. Don’t record the test as submitted unless it really was filed.
-
Confirm your reporting entity ID (
rentity_id), your institution code or SWIFT/BIC, and, if the FIC uses them, your branch code. Every account of yours in a report carries the institution code, so reports that include your accounts fail validation without it. Until the ID is set, no report can be sent for approval, approved or exported. -
Confirm the report codes. SpeculaPro sends
STRfor suspicious transaction reports andCTRfor cash transaction reports. Use the codes the FIC’s goAML expects. -
Load the FIC’s report indicator list. Enter each indicator’s code and description, then map your rules’ typologies and categories to indicator codes so new STRs start with the right ones. By default an STR needs at least one indicator before it can go for approval.
-
Confirm the lookup codes under Lookup codes (goAML XML):
Setting SpeculaPro’s default Confirm Funds code for cash KThe FIC’s funds type code for cash Funds code for account or wallet money AThe FIC’s code for funds from an account Conduction type (transmode) per channel branch, cash and agent A; ATMB; anything elseCThe FIC’s transmode codes for each of your channels, especially mobile money ID types Ghana Card B, passportC, driver’s licenceA; voter ID, TIN, company registration and otherOThe FIC’s identifier type codes, including the code for the Ghana Card Account status active A, frozenB, dormantC, closedDThe FIC’s account status codes Contact type for customers’ phones and addresses P(private)The FIC’s contact type codes Communication type for mobile numbers MThe FIC’s communication type codes Account holder role AThe FIC’s code for the account holder on their own account -
Confirm the schema version. SpeculaPro writes the goAML 4.0 report schema. If the FIC’s goAML only accepts schema 5.x files, don’t file from SpeculaPro: it doesn’t write 5.x yet, and the layout differs.
-
Confirm how and when to submit: the filing deadline for STRs and CTRs, whether XML upload (submission code
E) is expected, and the attachments the FIC wants with an STR. The goAML file doesn’t include attachments; send them as the FIC instructs. -
Confirm the CTR rules before switching CTRs on:
- the threshold for individuals and for businesses. SpeculaPro’s default, GHS 50,000 per business day for both, is a commonly cited figure and must be confirmed with the FIC;
- whether cash equal to the threshold is reported, or only cash above it (Report when the day’s cash is);
- whether a customer’s cash transactions over the day are added together (SpeculaPro’s default in Ghana) or only single transactions that reach the threshold count;
- which of your channels and transaction types count as cash. See Cash transaction reports.
-
Confirm the retention period for reports and their files, and record it in your AML policy. SpeculaPro never deletes a report; your backups must keep them for at least as long. See Backups if you self-host.
-
Check what the FIC expects about each person. SpeculaPro reports what it holds: names, date of birth or registration, nationality, ID type and number, phone (split into goAML’s country prefix,
tph_country_prefix, and the national number; a number whose country can’t be told is sent whole), email and occupation. It doesn’t hold customers’ postal addresses, so none are reported. If the FIC requires addresses, add them in goAML Web or in the narrative, and tell [email protected]. -
Name the reporting person and location. Enter the compliance officer named on every report and the office address. goAML may refuse reports without them.
-
Agree who drafts, who approves and who files. Approval needs a second person: make sure you have one. See Who can do what.
If you report to a CENTIF
Section titled “If you report to a CENTIF”In the UEMOA states and Guinea the checklist above still applies where it isn’t about goAML: the
report codes (DOS, DTE, or DSTE in Côte d’Ivoire), the indicator list, the CTR rules, the
reporting person and location, and who drafts, approves and files. The lookup codes and the goAML
schema version don’t apply. Add these checks:
- Ask your CENTIF how it takes declarations: through a portal (e-Delta in Senegal, Mon Espace CENTIF in Côte d’Ivoire), on its own forms, on paper, or as files.
- Show it a sample. Export a test declaration and ask whether the CENTIF accepts SpeculaPro’s printed form. Its layout and XML schema are SpeculaPro’s own and no CENTIF has confirmed them. If the CENTIF requires its own form or portal, file there and keep SpeculaPro’s declaration as your record.
- Confirm the CENTIF’s postal address and the legal basis printed on the form. The jurisdiction gives only the city and a general wording of the law.
- Make sure customers’ identity documents reach SpeculaPro. A cash declaration (DTE) can’t be approved or exported for a customer with no identity document on file.
- Enter the institution’s street address and the compliance officer’s phone or email under Settings → Reporting: the declaration needs them.
This is not legal advice: confirm your filing duties with counsel and your CENTIF. See Filing with a CENTIF.