Kenyan VAT on Stripe Digital Sales in QuickBooks

Kenya registers foreign digital sellers from the first sale and expects VAT on most B2B invoices too. The return, the shilling payment, and QuickBooks.

Acodei Content Team · 10/18/2026 · 19 min read

A US software company sells a 15 USD monthly app plan, a 49 USD small-team plan and a 99 USD business plan. Kenya isn't a big market for it yet: a few hundred individual subscribers, a few dozen small businesses, and 20 companies that typed a Kenya Revenue Authority PIN into Stripe Checkout. The founder assumed Kenya was years away from mattering for tax, the way South Africa's R2.3 million line keeps most small sellers out. Then Stripe Tax flagged Kenya with a threshold of "1 transaction."

Stripe is right about the number. Kenya has no registration threshold for foreign suppliers of digital services: the first sale to a Kenyan customer is enough. What Stripe's page doesn't tell you is that Kenya's rules for business customers point in two directions at once, that the monthly return wants each VAT-registered buyer's PIN on its own line, and that the tax must be paid in Kenyan shillings to a Kenyan bank.

This guide covers Kenyan VAT on Stripe sales of digital services by a business with no fixed place of business in Kenya: what counts as a digital marketplace supply, why there's no threshold, how B2B sales are handled under the regulations and under the Kenya Revenue Authority (KRA)'s own FAQ, simplified registration, the 16% rate, the monthly return and the shilling payment, and how the VAT reaches QuickBooks. A worked example runs in dollars and shillings. If you sell into South Africa too, the South African VAT guide is the useful contrast: there, a supplier selling only to businesses stays out entirely.

Acodei brings Stripe Tax amounts into QuickBooks automatically, so the Kenyan VAT you collect is already sitting in a liability account when each return comes due. Start a free trial.

Which Stripe sales count as digital marketplace supplies in Kenya

Kenya taxes foreign digital services under the VAT (Digital Marketplace Supply) Regulations, 2020, Legal Notice No. 190. KRA's FAQ on VAT on digital marketplace supply gives the effective date as October 9, 2020, with a six-month transition that ran out in April 2021.

The regulations list what's in scope, and the list is long. The parts most Stripe sellers hit:

  • downloadable digital content, including mobile apps, e-books and films
  • subscription-based media such as news, magazines and journals
  • streaming of shows, films, music and podcasts
  • software, including drivers, website filters and firewalls
  • website hosting, online data warehousing, file sharing and cloud storage
  • e-learning, including online courses and training
  • tickets for live events, theatres or restaurants
  • platforms that link a supplier to a customer, such as ride-hailing

A catch-all at the end covers "any other service provided through a digital marketplace that is not exempt under the Act." KRA's FAQ confirms that word processing software, email hosting, reading subscriptions and cloud backup are all in, and that transaction fees charged by a foreign payments platform qualify too.

Two things are out. Goods aren't covered, because VAT on goods is collected at the border. And supplies exempt under the First Schedule of the VAT Act stay exempt, with one twist: the FAQ says customized training and educational services sold through a digital marketplace are taxable here, even though education is normally exempt.

When a customer is "in Kenya"

The regulations deem a supply made in Kenya when the recipient is in Kenya. To decide that, the Commissioner looks at a payment proxy (card or bank details in Kenya) or a residence or access proxy (a Kenyan billing or home address, a Kenyan IP address, or a Kenyan SIM card's mobile country code).

Stripe Tax uses one address per customer, starting with the billing address and falling back to the IP address, according to its customer location documentation. That lines up reasonably well with KRA's proxies, but it's not identical: a customer with a Kenyan card and a foreign billing address can look Kenyan to KRA and foreign to Stripe.

Stripe's Africa tax page marks Kenya as supported for your customer's location but not for your business's location. A Kenyan company can't use Stripe Tax for its domestic VAT, so this guide is only for sellers outside Kenya.

Why Kenya registers you from the first transaction

KRA's general VAT page sets the domestic registration threshold at KES 5 million a year. Its VAT page then makes the exception explicit: non-resident persons making supplies in Kenya over the internet, an electronic network or a digital marketplace "are required to register for VAT whether or not the taxable supplies meet the annual turnover threshold of KES 5 million." The FAQ is shorter: "There is no threshold required for registration of VAT Digital Marketplace Supplies."

Stripe's Kenya entry matches. It lists the registration threshold as "1 transaction" and says its threshold monitoring for Kenya includes "B2C and B2B digital products." So the alert isn't a prompt to run your own count the way it is for South Africa. It's telling you the obligation already exists.

That's the line between Kenya and most of the other countries we've covered. The UAE also registers foreign digital suppliers with no threshold. India does the same for consumer sales. South Africa, Malaysia and Indonesia all start counting from a value line. If you sell digital services to Kenyans at all, the question is when you register, not whether.

B2B sales: what the regulations say, and what KRA tells suppliers

This is where Kenya gets interesting, and where most short guides stop too early.

The regulations. Legal Notice 190 defines a business-to-business transaction as one between a foreign supplier and a Kenyan business "that is required to account for tax on imported services under section 10" of the VAT Act. For those transactions, regulation 4 sends the tax to the reverse charge on imported services, with a mechanism attached:

  1. The Kenyan business "shall notify the supplier from the export country that the supplier is not required to account for the tax in Kenya for the supply."
  2. Once notified, the supplier "shall not be required to charge the tax on the supply to the business entity."
  3. If the business doesn't notify you and you charge VAT, the business "shall not be allowed to deduct the tax charged."

The registration rule in regulation 5 is written for business-to-consumer sales. On the text alone, a foreign supplier whose Kenyan customers all notify it would charge no Kenyan VAT at all.

KRA's FAQ. Question 23 asks who accounts for VAT on B2B and B2C digital marketplace transactions. The answer: "The non-resident supplier of digital services will account for VAT on all transactions." KRA's filing guide for non-residents is built the same way. It has a section for B2B sales, which asks for each VAT-registered buyer's PIN, the date, the invoice number and the taxable value, and a section for the month's total B2C sales.

KRA's brochure sits between the two. On social media advertising it says the service is a B2B transaction "thus will not be subjected to VAT on DMS unless the business entity fails to notify the social media platform that the Kenyan Business entity will account for reverse VAT." That's regulation 4 applied to a single example.

So the reverse charge exists, but only for a business that tells you it will account for the tax itself. Everyone else, including a VAT-registered company that says nothing, gets charged by you and reported by you. The FAQ is the default; the regulation is the exception, and the customer has to trigger it.

What Stripe does with a Kenyan PIN

Stripe's tax ID list supports ke_pin ("Kenya Revenue Authority Personal Identification Number," example P000111111A) and marks it No for impact in tax calculation. Stripe Tax charges Kenyan VAT whether or not a PIN is on the customer.

That's the right default under the FAQ. It's the opposite of South Africa, where Stripe treats za_vat as removing the tax. It also means the handful of Kenyan businesses that do send you a regulation 4 notice will still be charged unless you act. Stripe's zero tax documentation says you can set a customer's tax status to reverse charge in the Dashboard or the API, and the line then records a taxability reason of reverse_charge. Do that only for a customer whose written notice you have on file.

Why you want every business customer's PIN

The PIN matters to your customer more than to Stripe. KRA's FAQ on the auto-populated VAT return says a Kenyan business can claim input VAT on a purchase from a non-resident digital supplier "as long as the Non Resident Digital Supplier has declared your customer PIN on a line item under sheet B and filed the return." If you charge a Kenyan company 16% and file it as part of a lump B2C total, the company can't recover the tax, and you'll hear about it.

So collect the PIN at checkout (Stripe Checkout can ask for a tax ID), store it as ke_pin, and make sure it prints on the invoice. Our guide to customer tax IDs in Stripe and QuickBooks covers how those IDs are stored and printed.

Registering through KRA's simplified framework, or a tax representative

A foreign supplier with no fixed place of business in Kenya has two routes.

Simplified registration. You apply online through KRA's iTax portal using the simplified framework. Regulation 7 lists what the form asks for:

  • the business name and trading name
  • a contact person responsible for tax matters, with postal address, phone and email
  • the websites or URLs you trade through
  • your home country tax identification number
  • your certificate of incorporation or registration

KRA can ask for supporting documents. Once registered, it issues a PIN that you use to file returns and pay. KRA's user guide for non-resident registration walks through the screens.

A tax representative. The FAQ says a foreign supplier that chooses not to use the simplified framework "SHALL appoint a tax representative," who then files and pays on its behalf.

The simplified route is what most small sellers use. Two features of it shape everything downstream:

  • No input VAT. The regulations don't allow a deduction of input tax for B2C digital marketplace supplies, and the FAQ says foreign suppliers can't deduct VAT charged by Kenyan suppliers. You remit the full output VAT.
  • No refunds. The FAQ says suppliers "are not entitled to a tax refund since they cannot claim input VAT." If an amended return shows you overpaid, the excess is held as a credit and offset against the next period.

Once KRA confirms the registration, add Kenya in Stripe's tax Locations with the effective date so Stripe starts collecting. Our Stripe Tax registration threshold guide covers how Stripe treats the date you enter. Because Kenya has no threshold, any Kenyan sales you made before that date are a conversation for your adviser, not something Stripe will fix retroactively.

The 16% rate, invoices and the monthly return

The rate. KRA's FAQ says a registered supplier "shall declare and pay tax on the supplies made on the digital marketplace at the rate of 16%," the general rate in the VAT Act. On a 15 USD plan priced tax-exclusive, that's 2.40 USD. KRA's VAT page notes that the old 8% rate, which applied to petroleum products, was deleted by the Finance Act, 2023.

Invoices. Kenyan businesses must issue electronic tax invoices through KRA's eTIMS system, but foreign digital suppliers are exempt. The regulations say you "shall not be required to issue an electronic tax invoice," provided you issue "an invoice or receipt showing the value of the supply and the tax" on it. A Stripe invoice or receipt that shows the VAT line meets that description. Add your KRA PIN as an account tax ID so it prints too.

Time of supply. The regulations put it at the earlier of the date payment is received or the date the invoice or receipt is issued. Stripe's tax reports documentation says Stripe Tax "records tax when the invoice finalizes, before payment," which is normally the earlier of the two, so the export date and KRA's tax point usually agree.

The return. The tax period is a calendar month. The regulations say the return and the tax are due "on or before the twentieth day of the month following the end of the tax period." KRA's filing guide for non-residents describes the process:

  1. Log into iTax and choose File Return with VAT as the obligation.
  2. Download the VAT Excel form. Mark the return Original, the entity Head Office, the period one calendar month (or from your registration date, for the first return), and answer Yes to being a non-resident with no fixed place of business in Kenya.
  3. In the B2B section, enter one line per VAT-registered buyer: its PIN, the date of supply, the invoice number and the taxable value.
  4. In the B2C section, enter the month's total sales.
  5. Validate, generate the upload file, and submit. KRA emails an acknowledgment number.

Paying in Kenyan shillings

After filing, you generate a payment slip in iTax (tax head VAT, payment type Self Assessment), which gives you a Payment Registration Number (PRN). The guide says non-residents can pay by SWIFT to a KRA collection account at one of its agent banks, quoting the PRN and "VAT on DMS."

The accounts are in shillings. KRA's FAQ says the tax "is payable in Kenyan currency (KES)," and the guide tells you to "instruct their bankers to transfer Kenya Shillings equal to the amount as per the Payment Slip." If your bank sends dollars and the receiving bank converts, the shilling amount that lands may not match the slip, and the payment may not apply cleanly. Ask your bank to send a fixed KES amount.

How Kenyan VAT from Stripe reaches QuickBooks

For a US QuickBooks company, the workable Acodei tax method is usually the Tax Product. QuickBooks' Sales Tax Center doesn't let third parties create official tax rates for US companies, so the tax goes to a product line instead:

  1. In QuickBooks, create a non-inventory product such as "Sales Tax" and map it to a liability account.
  2. In Acodei's Stripe Tax settings, choose Tax Product and select that product.
  3. Each synced sale gets one line for its total Stripe Tax amount on the QuickBooks invoice or sales receipt.

It requires Stripe Tax enabled with Stripe Invoice or Stripe Checkout. You then file from Stripe's tax reports and pay from the liability account. A company whose QuickBooks file is outside the US can instead map each Stripe tax rate to a QuickBooks tax code.

On a 15 USD consumer invoice, that's 15 USD of revenue and a 2.40 USD tax line in the liability account. A 99 USD invoice to a company with a ke_pin looks the same in QuickBooks: 99 USD of revenue and 15.84 USD of tax, because Stripe charged it. A customer you've set to reverse charge has no tax amount to carry.

Building the return from Stripe, not from the liability balance

The liability account holds all of your Stripe Tax, in dollars, from every country. The Kenyan return wants Kenya only, in shillings, split into B2B lines and a B2C total. Build it from Stripe's itemized tax export filtered to Kenya for the calendar month:

  • Rows with a ke_pin in the customer_tax_id column. Each one becomes a B2B line with the buyer's PIN, invoice number, date and taxable value. If a customer paid twice in the month, that's two lines with two invoice numbers.
  • Every other charged row. These add up to the B2C total. KRA's B2B section asks for a buyer PIN, so a business that never gave you one has no PIN to declare.
  • reverse_charge rows. Sales to businesses that notified you under regulation 4. Ask your adviser whether KRA expects them on the return at zero, since the FAQ's answer 23 says the supplier accounts for "all transactions."

The shillings. Stripe's tax reports documentation says the exports show amounts in both the integration currency and the filing currency, with a filing_exchange_rate column giving the rate Stripe used. Our explainer on the Stripe Tax filing currency covers how those columns relate. KRA's digital marketplace pages don't name an exchange rate source, so confirm with your adviser that Stripe's rate is acceptable before you file from those columns.

When you pay, the dollars that leave your bank to buy the shillings won't exactly match the dollars Stripe collected. The difference is an exchange gain or loss, not a correction to the tax. Our guide to why the Stripe tax report and QuickBooks don't match covers the other usual gaps.

Refunds. In QuickBooks, a refund issued without a line-level breakdown may not reduce the tax line. Refund Kenyan invoices through a credit note when you can, which gives the sync the line-level tax breakdown it needs. On the KRA side, if correcting a filed month leaves you overpaid, the excess is held as a credit against later returns, not paid back.

A worked example: one month, four kinds of customer

Back to the company from the top. It registered under the simplified framework, added Kenya in Stripe, and prices everything tax-exclusive in dollars. Two Kenyan companies sent written notices under regulation 4, and the company set both to reverse charge in Stripe. The shilling figures use an illustrative 129 KES to the dollar.

One month of Kenyan sales:

CustomerCountSales (USD)VAT charged by Stripe (USD)Where it goes on the return
Individuals, 15 USD plan3004,500.00720.00B2C total
Small businesses with no PIN, 49 USD plan301,470.00235.20B2C total
VAT-registered companies with ke_pin, 99 USD plan201,980.00316.8020 B2B lines
Companies that sent a reverse charge notice, 499 USD plan2998.000.00Ask your adviser
Total8,948.001,272.00

What Stripe collected. 1,272 USD of VAT, all of it in the QuickBooks liability account through the Tax Product line.

What goes on the return. Twenty B2B lines totalling 1,980 USD of taxable value, or 255,420 KES, each with its buyer's PIN and invoice number. A B2C total of 5,970 USD, or 770,130 KES. VAT due at 16% on the 7,950 USD of taxed sales is 1,272 USD, or 164,088 KES. Unlike the South African example, the liability account isn't short: Stripe charged the PIN holders, so everything the return asks for was collected.

The deadline. For the month of September, the return and payment are due by October 20. The company files, generates the slip, and asks its bank to send exactly 164,088 KES with the PRN. On the day, its bank's rate is 128.00 KES to the dollar, so the transfer costs 1,281.94 USD.

The books. The payment clears the 1,272 USD in the liability account, and the extra 9.94 USD goes to exchange gain or loss, plus whatever wire fee the bank adds to bank charges.

The customers. All 20 PIN holders can claim the VAT they paid as input tax, because their PINs are on line items. The two reverse charge customers account for VAT themselves under section 10. The 30 small businesses with no PIN paid VAT they can't claim; if any of them is VAT-registered, the fix is to collect its PIN before the next invoice.

The income tax you might be asked about next

VAT isn't the only tax Kenya applies to foreign digital businesses. KRA's FAQ, written in 2020, says suppliers can owe both VAT and the Digital Service Tax. The current Income Tax Act published by KRA no longer has a Digital Service Tax. In its place, section 12E charges a significant economic presence tax on a non-resident "whose income from the provision of services is derived from or accrues in Kenya through a business carried out over the internet or an electronic network including through a digital marketplace."

The mechanics differ completely from VAT. Taxable profit is deemed to be 10% of gross turnover, the rate is 30% of that deemed profit (3% of gross turnover), and the return and payment are due by the 20th of the month after the service. It's a tax on your income, not something you charge customers. Stripe's Kenya entry lists one tax type, VAT, so nothing in your Stripe Tax exports covers it. KRA published draft regulations for it in 2025. Raise it with your adviser at the same time as VAT registration, and treat it as an expense in QuickBooks, not as part of the VAT liability.

Common mistakes with Stripe and Kenyan VAT

  • Waiting for a threshold. There isn't one for foreign digital suppliers. The first Kenyan sale counts.
  • Assuming B2B sales are reverse charged. Only a business that notifies you is. KRA's FAQ says the supplier accounts for everything else, and Stripe charges ke_pin customers by default.
  • Filing PIN holders in the B2C total. Their PINs belong on B2B line items, or they can't claim input VAT.
  • Setting a customer to reverse charge without a notice. Keep the written notice. If one never arrived, the VAT was yours to charge.
  • Paying in dollars. KRA's accounts are in shillings, and the guide says to send the slip's KES amount.
  • Expecting a refund. Overpayments are offset against later returns, and there's no input VAT to reclaim.
  • Booking the income tax into the VAT liability. The significant economic presence tax is a separate return and a separate expense.

Frequently asked questions

Is there a VAT registration threshold for foreign digital services in Kenya?

No. KRA says there's no threshold for VAT on digital marketplace supplies, and that non-resident digital suppliers must register "whether or not" their sales reach the KES 5 million domestic line. Stripe's Kenya entry lists the threshold as one transaction. Registration is through KRA's simplified framework on iTax, or through a tax representative.

Do I charge Kenyan VAT to business customers?

Usually yes. KRA's FAQ says the non-resident supplier accounts for VAT "on all transactions," B2B and B2C. The regulations let a Kenyan business notify you that it will account for the tax itself under the reverse charge, and then you don't charge it. Without that notice, charge 16% and report the buyer's PIN on its own line of the return.

Does Stripe Tax charge Kenyan VAT when a customer has a KRA PIN?

Yes. Stripe lists ke_pin with no impact on tax calculation, so Stripe Tax charges 16% whether or not the PIN is on file. That matches KRA's default. If a Kenyan business has notified you that it will self-account, set that customer's tax status to reverse charge in Stripe and keep the notice with your records.

When is the Kenyan VAT return due, and how do I pay it?

Monthly, by the 20th of the following month, for both the return and the payment. You file on iTax using KRA's Excel form, generate a payment slip with a Payment Registration Number, and pay by SWIFT to a KRA collection account at an agent bank. The accounts are in Kenyan shillings, so send the exact KES amount on the slip.

Where does Kenyan VAT go in QuickBooks?

With Acodei's Tax Product method, each synced Stripe sale carries its Stripe Tax amount as one line on a non-inventory product mapped to a liability account. A 15 USD Kenyan consumer invoice becomes 15 USD of revenue and 2.40 USD of tax liability. You build the return from Stripe's itemized export filtered to Kenya, then pay from the liability account.

Acodei syncs Stripe Tax into QuickBooks automatically, so every Kenyan return starts from a liability account that already holds what you collected. Start a free trial.

Share

Automate your Stripe to QuickBooks sync

Save hours every month. Acodei automatically syncs your Stripe transactions, invoices, and payouts to QuickBooks Online.

14-day free trial · card required · cancel anytime

How Acodei handles this in your stack

Stripe QuickBooks Integration

See how Acodei syncs Stripe payments, fees, refunds, invoices, and payouts into QuickBooks Online automatically.

Or go straight to a capability

Get more operational finance guides like this one

We will only send high-value product and finance content.