Online sales are still taxable sales
Selling online does not change the tax position. A sale made through Instagram, a website or a WhatsApp order is a taxable sale, and your business buyers will want a compliant invoice to claim the cost. Treating online revenue as somehow informal is a common and risky mistake.
Most online sellers in Kenya take payment by M-Pesa. An M-Pesa confirmation proves the customer paid, but it is not a tax invoice. You still need to issue a compliant eTIMS invoice for the sale, separate from the payment message, so your records and your customers’ claims hold up.
Online sellers also tend to take orders across several channels at once, a WhatsApp message here, an Instagram comment there, a marketplace order somewhere else. That scatter is exactly where sales go uninvoiced and untracked. Bringing every order into one place to be invoiced is what keeps an online business compliant rather than a pile of half-remembered DMs.
Running eTIMS for an online business
The aim is simple: every order, whatever channel it came through, ends up as a compliant invoice tied to its payment.
- 1
Onboard with your KRA PIN
Set up eTIMS against your business or personal KRA PIN, as appropriate, with current iTax contacts.
- 2
Issue a compliant invoice per order
For each order, generate a compliant invoice, not just an M-Pesa confirmation, especially for business buyers.
- 3
Reconcile M-Pesa to invoices
Match each M-Pesa payment to its invoice so your sales records and your settlement line up.
- 4
Account for transaction costs
M-Pesa and payment fees affect your margins. Factor them into pricing so online orders stay profitable.
- 5
Keep everything in one record
Hold your orders, invoices and payments together so filing and customer queries are simple.
Online seller eTIMS mistakes
Treating the M-Pesa message as an invoice
A payment confirmation is not a tax invoice. You still need a compliant eTIMS invoice for the sale.
Assuming online sales are informal
Online revenue is taxable. Skipping invoices risks penalties and loses business buyers who need to claim costs.
Ignoring transaction fees in pricing
Payment and delivery fees erode margin. Price with them in mind so online orders actually pay.
Letting orders scatter across apps
Sales taken across WhatsApp, Instagram and a website are easy to lose track of. Without one place to record them, some never get invoiced, and your declared sales drift away from reality.
An online seller gets it right
An online seller takes a KES 4,000 order paid by M-Pesa. The customer, a small company, asks for an invoice to claim the purchase. The seller does not just forward the M-Pesa message; she issues a compliant eTIMS invoice with the buyer’s PIN, then reconciles the M-Pesa payment against it.
She also accounts for the M-Pesa transaction cost when she prices, so the KES 4,000 still leaves a healthy margin after fees. The M-Pesa fee calculator helps her see the cost per transaction, and the result is an online business that is both compliant and genuinely profitable.
Over a month those KES 4,000 orders add up across WhatsApp, Instagram and her website. Because she records every one in a single place and issues a compliant invoice against each M-Pesa payment, her month-end sales figure matches what actually landed in her till. There is no frantic scrolling through chats to reconstruct what she sold.
Trading without eTIMS-compliant tax invoices risks KRA penalties, blocked VAT input claims for your customers, and receipts a business buyer cannot expense.
Veira signs every sale to KRA eTIMS automatically, so each receipt is compliant the moment it prints, with no separate device to reconcile.
Veira for online and omnichannel sellers
Veira issues compliant invoices for online and in-person sales from one account, so whether an order comes through M-Pesa, a card or cash, the invoice and the payment stay reconciled.
It tracks fees and margins too, so you can price online orders to survive transaction costs. As you grow from social selling to a full shop, the same system covers every channel.
Pulling orders from different channels into one record also means your month-end numbers are already done. Instead of reconciling M-Pesa statements against screenshots of chats, you open one view where every sale, invoice and payment already lines up.
Frequently asked questions
Do online businesses need eTIMS in Kenya?
Is an M-Pesa confirmation a tax invoice?
How do I invoice for social media sales?
Do payment fees affect my eTIMS invoice?
Can I reconcile M-Pesa payments to invoices?
What if I sell both online and in a shop?
How do I keep track of orders from different apps?
Are sales on Instagram or WhatsApp taxable?
For online businesses, eTIMS is non-negotiable: your digital sales are taxable, and buyers need compliant invoices. Issue a proper invoice per order, reconcile it to the M-Pesa payment, and price for fees. Check the cost per transaction with the M-Pesa calculator, run the readiness checker, or book a free demo to keep every channel compliant.