South African VAT on Stripe Digital Sales in QuickBooks
South Africa's threshold is now R2.3 million, and since 2025 a mixed seller owes VAT on business sales Stripe leaves untaxed. How it lands in QuickBooks.
A US software company sells a 49 USD monthly plan and a 199 USD team plan. South Africa has quietly become its fourth-largest market: hundreds of individual subscribers, a few dozen small agencies, and 25 companies that typed a South African VAT number into Stripe Checkout. Stripe Tax shows South Africa as a location to watch, and Stripe's own page lists the registration threshold as "2,00,000 ZAR per rolling 12 months." The founder wants three answers. When do we have to register? Do the 25 companies count? And why does Stripe's number not match anything on the SARS website?
The answers changed twice in the last two years. Since April 1, 2025, a foreign supplier that sells only to South African VAT vendors is out of the regime, but one that sells to vendors and consumers owes VAT on all of it, and every foreign supplier must appoint a representative vendor. Since April 1, 2026, the compulsory registration threshold is R2.3 million, not the R1 million most guides still quote. And Stripe's handling of a South African VAT number assumes a reverse charge that the South African Revenue Service (SARS) doesn't offer a mixed seller.
This guide covers South African VAT on Stripe sales of electronic services by a business outside South Africa: what SARS counts as an electronic service, the R2.3 million line and how it's measured, the B2B exclusion and where it stops, the representative vendor, the 15% rate, the VAT201 return, and how the VAT reaches QuickBooks. A worked example runs in dollars and rand. It's a different shape from Indonesia and Malaysia, and almost the mirror image of the UAE.
Acodei brings Stripe Tax amounts into QuickBooks automatically, so the South African VAT you collect is already sitting in a liability account when each VAT201 comes due. Start a free trial.
Which Stripe sales are electronic services under South African VAT
SARS's external guide for foreign suppliers (VAT-REG-02-G02, revision 7) explains that since the 2025 amendment to the regulations, the definition "includes any service supplied via an electronic agent, electronic communication or the internet." That's deliberately wide. SaaS subscriptions, online courses, downloads, streaming, web hosting and online advertising all sit inside it. SARS's FAQ on electronic services walks through examples like a web application subscription, web hosting and live streaming of music and films, and treats each as an electronic service.
The guide lists four exclusions:
- Educational services from an export country that are regulated by an educational authority under that country's law.
- Telecommunications services.
- Certain supplies between companies in the same group, where the foreign company supplies services it developed for the South African group company's own use.
- Services supplied by a non-resident "solely to vendors registered in SA."
The second test is who the customer is. A foreign supplier is carrying on an enterprise in South Africa when at least two of these three are true: the recipient is a South African resident, the payment comes from a bank registered or authorised under South Africa's Banks Act, or the recipient has a business, residential or postal address in South Africa. On Stripe, a South African billing address and a card issued by a South African bank already make two.
Who this guide is not for
Stripe's Africa tax page marks South Africa as supported for your customer's location but not for your business's location, so a South African company can't use Stripe Tax for its domestic VAT. This guide is for sellers outside South Africa. Physical goods are outside it too: the electronic services rules cover services, and the FAQ says physical books shipped to South African customers do not constitute electronic services, while e-books do.
The R2.3 million line, and why Stripe's threshold doesn't match it
The threshold has moved three times. It started at R50,000 in 2014 and rose to R1 million on April 1, 2019. SARS's VAT page now says the Minister of Finance "announced in the Budget Speech, 2026 an increase in the VAT registration threshold. The compulsory registration threshold is increased from R1 million to R2.3 million," effective April 1, 2026. The foreign supplier guide applies the same figure to electronic services: from April 1, 2026, the compulsory threshold in section 23(1A) "was increased to R2,3 million."
The measurement is a rolling one. SARS's FAQ says a foreign supplier "must register as a vendor at the end of any month where the total value of taxable supplies" exceeds the threshold "in any consecutive 12-month period." The FAQ (issue 4) still prints R1 million because it predates the change; the guide and the VAT page are the current figures. At an illustrative 18 rand to the dollar, R2.3 million is about 127,800 USD of South African sales in 12 months.
Two more rules from SARS shape the count:
- A one-off doesn't trigger it. Since January 5, 2023, a supplier isn't liable to register if it crossed the line "solely as a consequence of abnormal circumstances of a temporary nature." SARS's own example is a UK digital artist who normally sells only at home and takes one R1.1 million commission from a South African business.
- Voluntary registration exists. SARS's VAT page puts the voluntary threshold at R120,000 from April 1, 2026, up from R50,000.
Now Stripe's number. Stripe's South Africa entry lists the threshold as "2,00,000 ZAR per rolling 12 months." Read literally, with the digit grouping used in India, that's 200,000 rand, a fraction of either SARS figure. Stripe also says its threshold monitoring for South Africa includes "B2C and B2B digital products," and adds that you should "always visit a country's government website to verify when you're required to register."
So treat a Stripe alert for South Africa as a prompt to run your own count, not as the registration date. Export your South African transactions for the trailing 12 months, convert them to rand, take out any customer group that's excluded, and compare the total to R2.3 million at each month end.
The B2B exclusion since April 2025, and the mixed-seller trap
Before April 1, 2025, South Africa drew no line between business and consumer customers. The FAQ says "B2B supplies were subject to VAT at the standard rate," and that this "was intentional." That's why older guides, and the angle most comparison posts take, say business sales count in South Africa.
The 2025 regulations changed it, but only at the edges. The FAQ's current answer has two halves:
- "Supplies by a foreign supplier that makes supplies only to VAT registered vendors do not fall under" the enterprise definition. "Such suppliers are therefore not required to register."
- "A foreign electronic services supplier that makes supplies to both VAT registered vendors and non-vendors is, however, liable to register and account for VAT on all these supplies."
Read the second sentence twice. It isn't a reverse charge. If you sell to consumers and businesses in South Africa and cross R2.3 million, your sales to VAT-registered companies count toward the threshold and carry VAT that you account for. The FAQ adds that a supplier "unable to determine that it makes supplies only to VAT registered vendors" isn't excluded either. SARS suggests asking business customers for their VAT status or checking the VAT Vendor Search on its website.
What Stripe does with a South African VAT number
Stripe's customer tax ID list supports za_vat (example format 4123456789, ten digits) and marks it Yes for impact in tax calculation, footnoted: "Stripe Tax won't apply tax if this tax ID is provided, in line with the relevant laws." Stripe validates tax IDs against government databases only for Australian ABNs, EU VAT numbers and UK VAT numbers, and "applies the reverse charge or zero rate according to applicable laws when the tax ID has the required number format, regardless of the government verification result."
For a supplier whose South African customers are all VAT vendors, that's harmless: the supplier shouldn't be registered at all. For a mixed seller, it's the gap. Every customer with a za_vat ID on file gets an invoice with no South African VAT, and the itemized export records the line with a taxability reason of reverse_charge. Under the FAQ's second sentence, that VAT is still yours to account for. Our guide to customer tax IDs in Stripe and QuickBooks covers how those IDs are stored and printed.
Don't fix this by deleting customers' tax IDs on a hunch. Ask your adviser how they want the vendor sales handled before the first return, then make Stripe match that decision.
Registering: the representative vendor, eFiling and the bank account question
Registration is a paper-and-email process. The guide says you download the VAT101 application, complete it in English, and email it with supporting documents to eCommerceRegistration@sars.gov.za. You must also register on eFiling, which is how you file VAT201 returns and pay from outside South Africa. SARS confirms registration with a Notice of Registration and a 10-digit VAT number; its staff "are not allowed to verbally confirm" one.
The representative vendor. Stripe's page says "you must appoint a tax representative in South Africa to register." SARS's guide is more precise, and it changed recently. Before April 1, 2025, a foreign supplier "was not required to appoint a representative vendor, whether local or foreign." From April 1, 2025, a foreign supplier "is required to appoint a representative vendor, whether local or foreign." Since December 24, 2024, that person can be any natural person responsible for accounting for the money received and paid for the enterprise, and may be "either a resident or non-resident of SA." So you need a named person who signs the VAT101 declaration and owns the VAT affairs, but SARS's guide doesn't require them to live in South Africa.
The bank account. The guide says a foreign supplier "is not required to open a SA bank account." There's a catch for later: a VAT credit "will not be refunded, it is offset against the future VAT liabilities," unless you're deregistering.
Records. Keep invoices, credit notes and bank records for five years. SARS says electronic records must be physically located in South Africa unless it approves another location under Public Notice 787.
Once the Notice of Registration arrives, add South Africa 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.
The 15% rate, tax invoices and the VAT201 return
The rate. The FAQ says electronic services are subject to VAT "at the standard rate (currently 15%)," and that the law "does not provide for the zero-rating of electronic services supplied by foreign electronic services suppliers under any circumstances." SARS's VAT page says the planned rises to 15.5% and 16% were reversed by a bill introduced in April 2025. On a 49 USD plan priced tax-exclusive, the VAT is 7.35 USD.
Tax invoices. You must issue a tax invoice within 21 days of the supply, with the particulars in VAT Notice 1594. Binding General Ruling 28 sets the minimum content of credit and debit notes, the exchange rate to use, and how prices must be advertised or quoted. Check your Stripe invoice template against both before the first South African invoice goes out, and add your South African VAT number as an account tax ID so it prints on invoices and credit notes.
The accounting basis. Foreign suppliers were registered on the payments basis automatically until August 21, 2020, and can now choose the invoice basis. Under the payments basis you account for VAT when payment is received, but any supply with consideration over R100,000 must go on the invoice basis. This matters for reporting: Stripe Tax records tax when an invoice finalizes, before it's paid, so a payments-basis return needs unpaid invoices filtered out of the export.
The return. The VAT201 is filed on eFiling. SARS's guide says the return and payment are due "by the last business day of the month after the end of the tax period," and must arrive by the last working day before a weekend or public holiday. Tax periods are monthly or two-monthly. The guide tells foreign suppliers to tick monthly on the VAT101, while the FAQ says vendors are generally two-monthly and must file monthly once taxable supplies pass R30 million. Use the period on your Notice of Registration.
The return itself is short. The guide says to complete fields 1, 4 and 13 only on the output side. Field 1 is "the Rand value of electronic services supplied to a recipient in SA," inclusive of VAT, and field 4, the VAT, is calculated from it. Input VAT goes in fields 14 to 18 only if South African vendors charged you VAT on costs of making these supplies.
Paying. SARS requires a SWIFT MT103 transfer to its account at First National Bank, quoting the 19-digit payment reference number from your VAT201. Its sample message comes from a US supplier's bank and settles in dollars, so expect a currency conversion on every payment.
How South African 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:
- In QuickBooks, create a non-inventory product such as "Sales Tax" and map it to a liability account.
- In Acodei's Stripe Tax settings, choose Tax Product and select that product.
- 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 49 USD consumer invoice, that's 49 USD of revenue and a 7.35 USD tax line in the liability account. A sale to a customer with a za_vat ID carries no tax line, because Stripe charged none, and that's exactly the amount the liability account won't know about.
Building the VAT201 from Stripe, not from the liability balance
The liability account holds all your Stripe Tax: US sales tax, every country's VAT, in dollars. The VAT201 wants South Africa only, in rand, VAT-inclusive. Build it from Stripe's itemized tax export filtered to South Africa for the period:
- Charged rows. Rows with
standard_ratedtaxability give you the sales and VAT Stripe collected. reverse_chargerows. If you're a mixed seller, these are your sales to VAT vendors. They belong in field 1 too, and nothing was collected on them.- Payment status. On the payments basis, drop invoices that weren't paid in the period.
The exchange rate. SARS's guide says a supplier invoicing in another currency must convert to rand using a rate published by the South African Reserve Bank, Bloomberg or the European Central Bank, applying the daily rate, the rate on the last day of the month, or the monthly average. Stripe's tax reports documentation says Stripe Tax "converts amounts using available exchange rates at the time of the transaction," and the export carries both the integration-currency and the filing_currency columns. Stripe doesn't say its rates come from one of SARS's three sources, so check them against SARS's rule before you file from those columns. Our explainer on the Stripe Tax filing currency covers how the columns relate.
When you pay, the dollars that leave your bank 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 South African invoices through a credit note when you can, which gives the sync the line-level tax breakdown it needs, and which BGR 28 expects you to issue anyway.
A worked example: one two-month period, three kinds of customer
Back to the company from the top. Its South African sales passed R2.3 million over a trailing 12 months at the end of a month, it registered on the invoice basis with two-monthly periods, and every price is tax-exclusive in dollars. The rand figures use an illustrative 18 rand to the dollar.
Two months of South African sales:
| Customer | Count | Sales (USD) | VAT charged by Stripe (USD) | VAT-inclusive value for field 1 (USD) |
|---|---|---|---|---|
| Individuals, 49 USD plan | 600 | 58,800.00 | 8,820.00 | 67,620.00 |
| Agencies with no VAT number, 199 USD plan | 40 | 15,920.00 | 2,388.00 | 18,308.00 |
VAT-registered companies with za_vat, 199 USD plan | 25 | 9,950.00 | 0.00 | 9,950.00 |
| Total | 84,670.00 | 11,208.00 | 95,878.00 |
What Stripe collected. 11,208 USD of VAT, all of it in the QuickBooks liability account through the Tax Product line.
What goes on the VAT201. The company sells to consumers and vendors, so under SARS's FAQ it accounts for VAT on all of it. Field 1 is the VAT-inclusive rand value: 95,878 USD, or R1,725,804 at the illustrative rate. Field 4 at the 15/115 tax fraction is R225,104.87, about 12,505.83 USD.
The gap. 12,505.83 USD due against 11,208 USD collected leaves 1,297.83 USD, which is 15/115 of the 9,950 USD billed to the 25 companies. Stripe never charged it, so it isn't in the liability account. Before paying, the company books it as a cost (or as a reduction of revenue, if its accountant prefers) and credits the liability account, so the account holds the full 12,505.83 USD the return will clear. From the next invoice on, it follows its adviser's call on how those 25 customers are billed.
The deadline. For a two-month period ending in, say, August, the VAT201 and payment are due by the last business day of September. The company sends the MT103 a few days early with the PRN from the return, clears the liability account when it settles, and books any difference as an exchange gain or loss.
If those 25 companies had been its only South African customers, none of this would apply: since April 1, 2025, a supplier selling only to VAT vendors doesn't register at all.
Common mistakes with Stripe and South African VAT
- Using the R1 million threshold. It's R2.3 million from April 1, 2026, measured over any consecutive 12 months at month end.
- Registering on Stripe's alert alone. Stripe lists "2,00,000 ZAR." Run your own trailing 12-month count in rand.
- Assuming B2B sales are reverse charged. Only a supplier selling solely to VAT vendors is out. A mixed seller accounts for VAT on all of it, including invoices Stripe left untaxed.
- Trusting a
za_vatnumber because Stripe accepted it. Stripe checks the format only. SARS points you to its VAT Vendor Search. - Skipping the representative vendor. Required since April 1, 2025, though SARS allows a non-resident.
- Filing from Stripe's exchange rates without checking. SARS names three rate sources and three methods.
- Expecting a refund of a VAT credit. SARS offsets it against future returns unless you're deregistering.
Frequently asked questions
Do foreign SaaS companies have to register for VAT in South Africa for Stripe sales?
Yes, once their electronic services to South African customers exceed R2.3 million in any consecutive 12 months, the compulsory threshold since April 1, 2026. SARS applies it at the end of each month. A supplier that sells only to South African VAT vendors is excluded since April 2025, and a one-off spike from abnormal, temporary circumstances doesn't trigger registration either.
Do sales to South African businesses count toward the threshold?
It depends on the whole customer list. Since April 1, 2025, a foreign supplier selling only to VAT-registered vendors falls outside the regime. A supplier selling to both vendors and non-vendors must register once over the threshold and account for VAT on all those supplies, according to SARS's FAQ. Unregistered small businesses are always treated like consumers.
Does Stripe Tax charge South African VAT to business customers?
Not if a za_vat number is on the customer. Stripe treats it as removing the tax and only checks the format, not SARS records. That fits a supplier selling solely to vendors, which shouldn't be registered anyway, but a mixed seller still owes VAT on those invoices under SARS's FAQ. Agree the treatment with your adviser before the first return.
Do I need a representative in South Africa to register?
You need a representative vendor, but not necessarily a South African resident. SARS's guide says that from April 1, 2025, a foreign supplier must appoint one, "whether local or foreign," and that since December 24, 2024, the person may be resident or non-resident. Stripe's page says the representative must be in South Africa, so confirm with SARS.
Where does South African 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 49 USD South African consumer invoice becomes 49 USD of revenue and 7.35 USD of tax liability. You build the VAT201 from Stripe's itemized export filtered to South Africa, then pay from the liability account.
Acodei syncs Stripe Tax into QuickBooks automatically, so every South African return starts from a liability account that already holds what you collected. Start a free trial.
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
Advanced Product Mapping
Map Stripe products to QuickBooks with rule-based logic on product ID, price ID, metadata, and account. Set rule priority and extend mapping to refunds and fees.
Automated Invoice Sync
Bring Stripe invoices into QuickBooks and auto-apply payments and credit memos, with invoice numbering suffixes and quantity tracking to cut double-entry.
Multi-Currency Mastery
Sync Stripe transactions across currencies with automatic exchange rate handling and currency-specific customer records. Our team enables multicurrency on request, and zero-decimal currencies such as JPY are not supported.
Class Mapping
Map Stripe products to QuickBooks classes for scalable categorization and multi-entity reporting. Class tracking requires QuickBooks Online Plus or Advanced.
Historical Data Import
Backfill historical Stripe data into QuickBooks by month range. Preview volume and cost before syncing so reporting starts from a complete baseline.
How to Connect Stripe to QuickBooks Online
Connect Stripe to QuickBooks Online in minutes. Acodei links both accounts with secure OAuth and syncs payments, fees, refunds, and payouts automatically.
Reconcile Stripe Payments in QuickBooks
Reconcile Stripe in QuickBooks Online automatically. Acodei splits out fees, matches payouts to deposits, and keeps every charge audit-ready.
Related articles
Acodei Journal
UAE VAT on Stripe Digital Sales in QuickBooks
Acodei Content Team
UAE VAT on Stripe Digital Sales in QuickBooks
10/17/2026
Acodei Journal
India GST on Stripe Digital Sales (OIDAR) in QuickBooks
Acodei Content Team
India GST on Stripe Digital Sales (OIDAR) in QuickBooks
10/16/2026
Acodei Journal
Indonesian VAT on Stripe Digital Sales in QuickBooks
Acodei Content Team
Indonesian VAT on Stripe Digital Sales in QuickBooks
10/16/2026
Get more operational finance guides like this one
We will only send high-value product and finance content.