Aller au contenu

Cash transaction reports

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

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.

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.

Every hour, and each time the worker starts, SpeculaPro checks every workspace with CTRs switched on:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.

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).

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.

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.

You need settings.manage or reports.approve (by default, an administrator or the MLRO).

  1. Select Settings, then Reporting.
  2. Make sure the Reporting entity id is set. CTRs can’t be switched on without it.
  3. 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.
  4. Switch on Create CTR drafts.
  5. 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.

  1. Open Reports and select the Drafts tab. Choose CTR · cash transaction under the type filter to see only CTRs.
  2. Open a CTR. Check the customer’s details, the transactions and the total.
  3. 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.
  4. Select Send for approval.