Tax on trading in your country
The figures here are illustrative only. Rates and rules can change, and they vary by broker and by personal situation, so confirm the current position with the Kenya Revenue Authority or a qualified tax adviser.
Compare two traders' record-keeping
A trader who keeps a monthly statement file can answer a tax question in minutes. A trader who does not may spend weeks rebuilding the year. The difference is not talent. It is whether the paperwork was saved on the day it arrived.
The first trader downloads the broker statement on the first day of each month. The file is named with the month and year. A simple sheet records each closed trade: date opened, date closed, instrument, size, profit or loss in KSh, and any fee. The second trader relies on memory and a phone full of M-Pesa messages.
When the first trader is asked about a KSh 30,000 gain, the answer is already in the sheet. The second trader has to guess, and guessing is where errors start. The tax office does not need perfection. It needs a figure that can be explained.
Identify which authority wants to hear from you
In Kenya, the authority that wants to hear about trading results is the Kenya Revenue Authority. The regulator for the brokers themselves is the Capital Markets Authority, or CMA. The CMA supervises the firms. The tax authority deals with your personal tax position.
Trading gains are generally treated as income, but the exact label depends on your situation. For some people it is business income. For others it is an investment gain. The label matters because it decides which form you use and when you file. The rules can change, so confirm the current position with the tax authority or a qualified tax adviser.
You do not need to know every rule today. You need to know who to ask and what to keep. The records you save now are the evidence you will use later. Without them, even a correct rule is hard to apply.
Keep records that survive a question
Start with the broker statement. Download it every month, even in months with no trades. Save it as a file, not a screenshot. A screenshot cannot be searched, and it often misses the fee lines.
Next, keep a simple sheet with one row per closed trade. A closed trade is one that has been opened and then closed. Open trades are not yet a result. The row should show the date, the instrument, the size, the profit or loss in KSh, and any commission or swap charge.
Finally, keep the funding records. If you sent money by M-Pesa or bank transfer, save the confirmation. If you withdrew money, save that too. These records show the movement of your own money, which is separate from trading profit or loss. They answer the question of where the money came from and where it went.
Separate trading money from household money
Open a second account for trading alone. Fund it from your main account in one clear transfer, and write down the date and the amount. When you withdraw, do the same in reverse. This single habit turns a year of mixed payments into a short list of entries you can match against statements.
Pay broker costs from the trading account, not from your household budget. Deposits, withdrawals, commissions and swap charges then sit in one place, and the balance tells its own story. If you move KSh 40,000 in and later withdraw KSh 46,000, the difference is KSh 6,000, and you can point to the trades behind it. Mixing the two accounts hides that difference among rent, fuel and groceries.
Keep the account in your own name and in shillings where your broker allows it. A joint account or a friend's M-Pesa line makes ownership hard to show later. If your broker only settles in another currency, note the rate used on each transfer, because the shilling figure moves even when the trade does not.
Review the two accounts once a month. Check that every deposit and withdrawal appears in both your sheet and the broker statement. Fix any gap while the month is fresh, not in the following year.
Treat the money as business income, not a windfall
A gain that arrives in your M-Pesa wallet feels like a bonus. A gain recorded in a ledger looks like income. The difference matters when a lender, a landlord or the revenue authority asks what you earned. Treat trading results as a small business activity, not as a lucky transfer from a friend.
That framing changes three habits. You date every deposit and withdrawal, you label each one as capital added or profit taken out, and you never mix the two. A KSh 20,000 withdrawal is not a KSh 20,000 gain if KSh 15,000 of it was money you put in earlier. Without labels, the two are indistinguishable a year later.
Keep a running figure for capital contributed. Add every deposit to it. When you withdraw, decide whether you are reducing capital or taking profit, and write which one beside the entry. The record stays honest because each row is decided at the moment it happens, not guessed afterwards.
This habit also answers the question every beginner eventually faces: how much of the balance is mine to spend. If capital contributed is KSh 80,000 and the account holds KSh 95,000, the difference is not all profit until you account for charges already deducted. The sheet shows the gap plainly.
One year, two traders, KSh 30,000 of gains
| Step | Amount | Note |
|---|---|---|
| Trades closed in the year | 40 | counted from the broker statement |
| Total gains | KSh 48,000 | sum of the winning trades |
| Total losses | KSh 18,000 | sum of the losing trades |
| Net result | KSh 30,000 | 48,000 minus 18,000 |
| Records kept | 40 entries | one line per closed trade, with date, pair, size and result |
Your broker may report a different net figure because of spreads, commissions, swap or financing charges, and currency conversion. The tax treatment of gains and losses also varies, so check what applies to you.
Doing it once, step by step
The following steps set up a record-keeping routine that takes a few minutes each month. Do them once, in order, and the routine will be ready before the next statement arrives.
- 01
Create a folder for statements
Make a folder on your computer or in cloud storage. Name it with the year. Inside, create one subfolder for each month. This is where every broker statement will go.
- 02
Download the monthly statement
On the first day of each month, log in to your broker account. Download the statement for the previous month. Save it in the correct monthly subfolder. Do this even if you made no trades.
- 03
Open a trade log sheet
Create a spreadsheet with columns for date opened, date closed, instrument, size, profit or loss in KSh, and fees. Add one row for each closed trade. Keep it in the same folder as the statements.
- 04
Record each closed trade
When a trade closes, add its row to the sheet the same day. Copy the figures from the broker statement, not from memory. If a fee is listed, include it in the fees column. This keeps the sheet matching the statement.
- 05
Save funding confirmations
When you send money by M-Pesa or bank transfer, save the confirmation message or receipt. When you withdraw, save that confirmation too. Put these in a separate subfolder called funding.
- 06
Check the totals each quarter
Every three months, add up the profit or loss column in your sheet. Compare it with the sum of the broker statements for those months. If the figures differ, find out why before the year ends. This small check prevents a large problem later.
The mistake most people make here
The common mistake is to trade for months without downloading statements, then try to reconstruct the year from memory. People also assume that because the money arrived by M-Pesa or bank transfer, no record is needed. Instead, save the monthly statement as a file on the day it arrives, and keep a simple sheet with one row per closed trade. If you cannot explain where a KSh 5,000 gain came from, you cannot report it correctly.Check yourself
You close 12 trades. Gains total KSh 24,000 and losses total KSh 9,000. What is the net result, and how many rows should your record have?
Net result is KSh 15,000 (24,000 minus 9,000). The record should have 12 rows, one for each closed trade.
One pip on one standard lot of EUR/USD is 10 units of the quote currency. At about 1.0850, and with the shilling rate given by your broker, why can the shilling value of that pip differ between brokers?
Because the conversion rate from the quote currency to KES varies by broker and by the time of conversion, and brokers may add their own charges. The pip size is fixed at 10 units of the quote currency, but the KSh figure is not.
Questions that come up next
Which body deals with the broker and which body deals with my tax
The Capital Markets Authority, or CMA, supervises the brokers. The Kenya Revenue Authority deals with your personal tax position. They are separate, so a complaint about a firm goes to one and a question about your gains goes to the other. Confirming which one you need first saves time.
How are trading results labelled for tax
The label depends on your situation. Some people treat the results as business income, others as an investment gain. The label decides which form you use and when you file. Because the rules can change, confirm the current position with the Kenya Revenue Authority or a qualified tax adviser.
What should I save if I sent money by M-Pesa or bank transfer
Save the confirmation of every deposit and every withdrawal. These records show the movement of your own money, which is not the same as a trading result. Keep them beside the broker statements so the two sets agree. If a figure is queried later, the confirmation is the evidence.
Why download a statement in a month with no trades
A month with no trades still belongs to the year. A missing month leaves a gap that has to be explained later. Downloading it takes a minute and keeps the file complete. Complete files are what make a question answerable.
How long does it take to rebuild a year from memory
It can take weeks. Statements have to be requested again, M-Pesa messages searched, and fees matched to trades. The work grows with the number of trades. A reader who saved files monthly avoids that work entirely.
What is a closed trade
A closed trade is one that has been opened and then closed. Only closed trades have a result to record. An open trade is still moving and is not yet a figure. Your sheet should have one row per closed trade.
In Kenya
- Regulator for investment firms
- CMA
- Tax authority
- Kenya Revenue Authority
- Common funding methods
- M-Pesa and bank transfer
- Records to keep
- Broker statements, M-Pesa messages and bank entries for each deposit and withdrawal
- When to check the rules
- Before you file, because rates and treatment can change and vary by person
The words used on this page
- Kenya Revenue Authority
- The body that deals with your personal tax position in Kenya. It is not the same as the regulator of the brokers. Ask it, or a qualified tax adviser, about your own situation.
- CMA
- The Capital Markets Authority. It supervises the firms that offer trading accounts. A question about a broker goes here, not to the tax authority.
- Closed trade
- A trade that has been opened and then closed. It has a final result you can write down. An open trade does not.
- Broker statement
- A file your broker issues, usually each month. It lists trades, fees and balances. Save it as a file on the day it arrives, not as a screenshot.
- Funding record
- The confirmation of money you sent to or took from your account. It may be an M-Pesa message or a bank transfer receipt. It shows the movement of your own money.
- Swap or financing charge
- A fee a broker may apply for holding a position overnight. It can change the net figure your broker reports. It varies by broker, so read your own statement.
What to take away
- The CMA supervises the brokers; the Kenya Revenue Authority deals with your tax position.
- Save the broker statement as a file every month, even when there are no trades.
- Keep one row per closed trade, with the date, instrument, size, result in KSh and any fee.
- Keep the M-Pesa and bank transfer confirmations for every deposit and withdrawal.
- The tax label varies by person and the rules can change, so confirm the current position with the authority or a qualified adviser.