Cash transaction reports
Ce contenu n’est pas encore disponible dans votre langue.
In short
Section titled “In short”A cash transaction report (CTR) tells your FIU about cash that reaches a set amount, whether or not anything looks suspicious. Once you switch CTRs on, SpeculaPro looks at each completed day and drafts one CTR per customer per day whose cash reached your threshold. The drafts go through the same approval and filing as STRs.
CTRs are off until someone switches them on under Settings → Reporting.
What “reaches the threshold” means
Section titled “What “reaches the threshold” means”| Jurisdiction | Default thresholds | Reported when the cash is | Same-day cash adds up |
|---|---|---|---|
| Ghana | GHS 50,000 (individuals and businesses) | At or above the threshold | Yes |
| Nigeria | NGN 5,000,000 (individuals), NGN 10,000,000 (businesses) | Above the threshold only | No: each transaction on its own |
| UEMOA states | XOF 15,000,000 (both) | At or above the threshold | Yes |
| Sierra Leone | SLE 30,000 (both): to verify with counsel | At or above the threshold | Yes (assumed) |
| Liberia | LRD 1,000,000 (individuals), LRD 2,000,000 (businesses): to verify with counsel | At or above the threshold | Yes (assumed) |
| The Gambia | GMD 450,000 (individuals), GMD 2,000,000 (businesses): to verify with counsel | At or above the threshold | Yes (assumed) |
| Guinea | GNF 100,000,000 (both): a working value, not a confirmed figure | At or above the threshold | Yes (assumed) |
| Kenya | KES 1,300,000 (both): to verify with counsel | At or above the threshold | Yes (assumed) |
| Other country | None | At or above the threshold, once you set one | Yes |
The figures for Sierra Leone, Liberia, The Gambia, Guinea and Kenya are SpeculaPro’s research, not confirmed by any regulator; Liberia’s and Kenya’s are US-dollar amounts restated at a fixed rate. Verify them with counsel before you switch CTR drafting on.
You can change each of these under Settings → Reporting. On this page, “reaches the threshold” means whichever comparison your workspace uses.
How it works
Section titled “How it works”Every hour, and each time the worker starts, SpeculaPro checks every workspace with CTRs switched on:
- It looks at the last few completed days in your workspace’s time zone: by default the last 3, not counting today. A day runs from local midnight to the next local midnight, so a day with a daylight-saving change is 23 or 25 hours long where that applies. Every calendar day counts, weekends and holidays included.
- For each day, it takes your customers’ completed cash transactions, by your definition of cash. Pending, failed, reversed and blocked transactions, and transactions with no customer, aren’t counted.
- With adding up on (the default), it adds up each customer’s cash for the day, money in and money out together, in your base currency. A customer whose total reaches the threshold for their type (individual or business) gets a CTR covering all of that day’s cash transactions.
- With adding up off, only single transactions that reach the threshold are reported. A customer with several such transactions on one day gets one CTR covering them.
- It drafts the CTR, unless that customer already has one for that day.
Each CTR draft:
| Part | Filled in with |
|---|---|
| Number | CTR-<year of the day>-<number>, for example CTR-2026-000031 |
| Title | The customer’s name and the day, for example Ama Owusu · cash 2026-03-21 |
| Subject | The customer |
| Transactions | That day’s cash transactions that counted |
| Narrative | For example: Cash transactions on 21 March 2026 totalling GHS 62,500.00 reached the reporting threshold of GHS 50,000.00. Where only amounts above the threshold are reported, it says exceeded instead of reached |
| Drafted by | the CTR job. The audit log records report.create by the system |
In the register, a CTR’s first column says Business day 2026-03-21 instead of a case number.
Late transactions
Section titled “Late transactions”A transaction that arrives a day or two late still counts, as long as its day is within the Days re-checked window (3 days by default). If the customer’s CTR for that day is still a draft, the late transaction is added to it. If the CTR has already gone for approval or further, it is never changed: deal with the late transaction yourself, for example in goAML Web, as the FIC instructs.
A day that falls outside the window is never checked again. If your systems can send data more than a few days late, increase Days re-checked (up to 31).
One CTR per customer per day
Section titled “One CTR per customer per day”The database allows only one CTR for each customer and day, however often the check runs and however many worker processes you run. Running the check again never creates duplicates.
What counts as cash
Section titled “What counts as cash”Under What counts as cash, you list the channels and transaction types that are cash. A transaction is cash when it matches any line: a line with only a channel matches every type on that channel, a line with only a type matches that type on any channel, and a line with both matches only that combination.
SpeculaPro starts with:
| Channel | Type |
|---|---|
| Any | cash_in |
| Any | cash_out |
cash |
Any |
branch |
deposit |
branch |
withdrawal |
agent |
deposit |
agent |
withdrawal |
Adjust it to how your systems describe cash. For example, a mobile money operator that records
agent cash-ins as cash_in is covered already; a bank that records teller deposits on the
branch channel is covered by the branch lines.
The same definition decides which transactions are reported with the cash funds code in every report, STRs included.
How to switch CTRs on
Section titled “How to switch CTRs on”You need settings.manage or reports.approve (by default, an administrator or the MLRO).
- Select Settings, then Reporting.
- Make sure the Reporting entity id is set. CTRs can’t be switched on without it.
- Under Cash transaction reports (CTR), set:
- Threshold · individuals and Threshold · businesses, in your base currency, per business day (both are required);
- Report when the day’s cash is: at or above the threshold, or above it only;
- Days re-checked, from 1 to 31;
- Add up a customer’s cash over the day, on or off;
- What counts as cash: at least one line.
- Switch on Create CTR drafts.
- Select Save changes.
The first drafts appear within the hour, for the completed days in the window. They wait under
Reports → Drafts: someone with reports.draft checks each one and sends it for approval, like
any other report.
How to work a CTR draft
Section titled “How to work a CTR draft”- Open Reports and select the Drafts tab. Choose CTR · cash transaction under the type filter to see only CTRs.
- Open a CTR. Check the customer’s details, the transactions and the total.
- Check the narrative. SpeculaPro keeps its total in step with the transactions selected, as long as you haven’t edited the narrative; once you have, the wording is yours to keep up to date. Add the indicators the FIC expects for CTRs, if any.
- Select Send for approval.