Senegal VAT on Stripe Digital Services in QuickBooks

Senegal taxes foreign digital sellers from the first sale: 18% VAT under article 355 bis, business buyers included, filed on eTax and paid in euros.

Acodei Content Team · 11/5/2026 · 18 min read

A software company in Dublin sells a €25 monthly plan. A finance manager in Dakar subscribes. Senegal's answer is short: under article 355 bis of the Code général des impôts (CGI), a foreign supplier of digital services collects 18 percent VAT from its Senegalese customers, businesses and consumers alike, and there is no sales threshold to wait for. Stripe agrees on both points. Its Senegal entry gives the registration threshold as "1 transaction" and the transactions it monitors as "B2C and B2B digital products."

The Direction générale des Impôts et des Domaines (DGID) announced that the regime "prend effet à compter du 1er juillet 2024" (takes effect from 1 July 2024). Stripe's supported countries table lists Senegal (SN) for VAT on digital products, supported since 18 December 2024. Registration is online, returns go through DGID's eTax platform, and payment goes by bank transfer, in euros, to the Senegalese Treasury's account at the regional central bank.

This guide works from official DGID documents: the communiqué of 24 June 2024 and its English version, the implementing order (arrêté) linked from that page, the January 2025 annotated CGI, and DGID's September 2024 payment notice. Where they disagree, and on the filing deadline they do, we show you each text. It is bookkeeping guidance, not tax advice.

With Acodei, the Stripe Tax on your Senegalese invoices reaches QuickBooks either as one tax line posted to a liability account or under QuickBooks tax codes mapped from Stripe's tax rates. Start a free trial.

What article 355 bis of the CGI requires

Article 355 bis was added by Law 2023-18 of 15 December 2023. It has two collection rules.

  • Marketplaces collect for their sellers. Paragraph 1: when a digital service by a foreign person is taxable in Senegal, "la TVA est collectée et reversée, pour le compte du fournisseur, par l'intermédiaire qui a permis de réaliser la transaction" (the VAT is collected and remitted, on the supplier's behalf, by the intermediary that enabled the transaction).
  • Direct sellers collect themselves. Paragraph 2: "Les fournisseurs établis à l'étranger disposant de leur propre technologie" (suppliers established abroad that use their own technology) also have to collect and remit the VAT.

A SaaS company billing its customers through its own Stripe checkout or Stripe invoices is, on our reading, the second case. Nobody between you and the customer collects for you.

"Digital services" is wide. Paragraph 4 defines them as supplies of intangible goods or services "réalisées de manière automatisée sur un réseau informatique et/ou électronique" (carried out automatically over a computer or electronic network). The arrêté's illustrative list runs to 26 items, including SaaS ("solutions dite SaaS"), data storage and processing, e-learning, web hosting, software sales and updates, remote software maintenance, streaming and subscription platforms, and "exécution de tout autre service électronique" (any other electronic service).

The rate is the standard one. Article 369 of the CGI: "Le taux de la TVA est fixé à 18%." Article 4 of the arrêté repeats it: "Le taux applicable au montant des prestations est de 18%." The base is "la contrepartie reçue ou à recevoir" (the consideration received or receivable), per article 3.

Three relief points in article 9 of the arrêté are worth knowing:

  1. You don't need a tax representative in Senegal. Article 355 normally requires one for non-established businesses, but it opens with "Sous réserve des dispositions de l'article 355 bis," and the arrêté confirms the exemption.
  2. You don't have to keep books in French or to Senegalese standards.
  3. You don't have to file a list of your Senegalese customers, unless DGID asks for one, for example during an audit.

Article 5 adds that registration "n'est pas susceptible de constituer un établissement stable" (is not capable of creating a permanent establishment) and does not make you a Senegalese tax resident. It exists "dans le but unique de déclarer et d'acquitter la TVA collectée."

The dates and the order: 1 July 2024, arrêté 010698

The sources agree on the law and differ on the details around it.

  • DGID's communiqué, dated 24 June 2024, says the VAT takes effect from 1 July 2024.
  • The arrêté itself, in the English version DGID links ("Order implementing the provisions of article 355 bis..."), ends with "The provisions of this decree take effect from April 1st, 2024." That copy carries no number or date.
  • DGID's September 2024 notice cites the order as "Order 010698 of June 27, 2024."
  • The January 2025 annotated CGI reproduces the same text under a different reference: "Arrêté n° 034269 MFB/DGID du 08 novembre 2023."

In practice, every Senegalese sale since 1 July 2024 is inside the regime on any reading. If you sold to Senegal between April and June 2024, raise it with an adviser before you register, since the arrêté's own date is earlier than the communiqué's.

Is there a VAT registration threshold for foreign sellers in Senegal?

No. Neither article 355 bis nor the arrêté sets a sales threshold for foreign digital suppliers. The obligation attaches to the first taxable sale to a customer in Senegal, which is why Stripe lists Senegal's threshold as "1 transaction." Our guide to the countries that register you from the first sale covers the wider group.

The sanction for ignoring it is unusual. Article 691 bis of the CGI says that a foreign supplier that breaks article 355 bis or the filing rule in article 363 faces "la suspension de l'accès de leurs plateformes numériques" (suspension of access to their digital platforms) in Senegal, on top of ordinary tax penalties. Article 8 of the arrêté has the tax administration trigger it through the ministry responsible for telecommunications.

DGID also names names. The arrêté allows it to publish the registered suppliers and say which are up to date, and DGID's list of digital VAT payers, linked from the English communiqué, has 26 entries, from Amazon Web Services EMEA and Netflix International to Zoho, Zoom and Cleverbridge, each with its NINEA. Your Senegalese business customers can check whether you are on it, and they have a reason to, as the B2B section below explains.

When a customer counts as Senegalese

Article 2(b) of the arrêté puts the place of taxation in Senegal "lorsque le service y est utilisé ou lorsque la personne... pour le compte de laquelle le service est rendu, y est établie" (when the service is used there or the person it is rendered for is established there). It then tells foreign platforms to treat the customer as established in Senegal when:

  • the customer's billing address is in Senegal;
  • the customer's bank account or card details, including the card's bank identification number (BIN), are Senegalese;
  • the customer's phone number carries Senegal's country code, or the SIM's mobile country code is Senegal's; or
  • the IP address of the device used to buy or download is in Senegal.

The text doesn't say how many of these must point to Senegal, or what to do when they conflict.

Stripe works from one location per customer. For invoices and subscriptions, its customer location rules take the first of these that exists: shipping address, billing address, the payment method's billing details, then IP address. Stripe Checkout and Payment Links use "the address collected during the session." Outside the US, Canada and India, a country code alone is enough for Stripe to calculate. A Dakar billing address on the customer record matches the first test on DGID's list.

One more Stripe rule matters before you register: "Without a registration in the customer's location, the calculation returns zero tax." Add Senegal in Stripe's Locations tab and Stripe starts charging 18 percent. Leave it out and Stripe charges nothing, whatever the law says. Check your product tax codes first, because Stripe's Senegal coverage is for digital products.

Business customers: you charge them, or they withhold

Senegal's communiqué puts business buyers squarely in scope: registered foreign suppliers collect on sales "au profit des clients locaux, à savoir : entreprises, entités particulières ou particuliers" (to local customers, namely businesses, private entities or individuals).

Stripe's settings match. Its monitoring covers "B2C and B2B digital products," and its customer tax ID table lists sn_ninea (Senegal NINEA Number) with "Impact in Tax Calculation: No." The table's footnote explains what a "Yes" would mean: "Stripe Tax won't apply tax if this tax ID is provided." So a Senegalese company's NINEA on the customer record goes on the invoice, and Stripe still charges the 18 percent.

The other half of the B2B rule is what happens if you don't register. The communiqué: "En cas de défaut de preuve d'une immatriculation régulière de l'entreprise numérique étrangère, l'assujetti local a l'obligation de retenir et de verser la TVA exigible conformément à l'article 355 du CGI" (without proof that the foreign digital company is properly registered, the local taxable person must withhold and pay the VAT due under article 355). Article 4 of the arrêté says the same, pointing to paragraph 3 of article 355, under which the tax and penalties fall on "le destinataire ou le bénéficiaire de l'opération imposable."

For a Senegalese business customer of an unregistered supplier, that is a reverse charge with penalties attached. That gives your Senegalese business customers a reason to ask for your NINEA, or to check DGID's published list.

Registering online at eservices.dgid.sn

Registration is remote. Article 5 of the arrêté sets out the steps, and the communiqué gives the address: eservices.dgid.sn/fimfipnet.

  1. Fill in the online registration form. Attach "une copie du registre du commerce et du crédit mobilier (RCCM) ou de tout document en tenant lieu" (a copy of the trade register entry, or any document that stands in for it) for a company, plus an ID card or passport if you are an individual.
  2. Get the acknowledgement. Once the form and documents are in, you receive "un avis de réception" for the application.
  3. Wait for the email. After review, the tax office emails your designated contact the NINEA, which "constitue le numéro d'identification fiscale," and your eTax username, password and a link to change the password.
  4. Add Senegal in Stripe. Stripe's instruction: "After registering, add your registration in the Locations tab of the Dashboard to start collecting tax on your transactions in that location."

Your file sits with the Direction des grandes Entreprises (DGE), the large-taxpayer office. The English communiqué gives etax@dgid.sn and three phone lines, one of them listed for English. Our glossary entry on Stripe Tax registrations covers the Locations tab in more detail.

Filing on eTax: three texts, three deadlines

Returns are filed on eTax at csfe4.dgid.sn. Article 7 of the arrêté describes the screen: log in, open the "Déclarations" module, enter "le chiffre d'affaires réalisé sur la période," and the system works out the VAT due. The return asks for two figures: total sales excluding VAT to customers established in Senegal, and the VAT charged and collected on them.

When the return is due is where the official texts disagree.

SourcePeriodDeadline
CGI article 363(4), from Law 2022-22Quarterly"au plus tard le 15 des mois de janvier, avril, juillet et octobre"
DGID communiqué, 24 June 2024Quarterly"au plus tard le 20 du mois suivant chaque trimestre civil"
Arrêté, article 6Monthly"au plus tard dans les quinze premiers jours de chaque mois"

The Code is the law, and the communiqué agrees with it on a quarterly period. The arrêté's article 6 reads as a monthly return, and it asks for sales "au cours du mois" (during the month). DGID's English version of the arrêté leaves article 6 untranslated, in French.

What we would do: treat the quarter as the period and file by the 15th of January, April, July and October. That date meets both the Code and the communiqué. Then write to etax@dgid.sn and ask whether eTax expects monthly returns from your file. Either answer uses the same Stripe exports, just over a different date range. If a quarter has no Senegalese sales, ask the DGE whether a nil return is expected; the texts we read don't say.

Paying: euros to the Treasury account at BCEAO

Article 7 of the arrêté sends the money to "le compte ouvert au nom du Trésorier général dans les livres de la Banque centrale des Etats de l'Afrique de l'Ouest (BCEAO)," by bank transfer to the order of the Trésorier général du Sénégal.

Don't copy the bank details from the arrêté. DGID's notice of 17 September 2024 says the Treasury "has updated the references for transfers from abroad, initially specified in the aforementioned order," and gives a new beneficiary account, BCEAO's head office in Dakar as the correspondent bank and the Banque de France as the intermediary bank. It ends with one line in capitals: "NOTE: All funds must be denominated in EUR." Use the references in that notice.

The euro requirement is less awkward than it sounds. The CFA franc (XOF) has a fixed parity: BCEAO's published rate on 5 November 2026 was 655.957 francs to the euro for both buying and selling. A euro amount converts to a franc amount, and back, at that single rate.

A worked example: one quarter of euro sales

A software company in Ireland, with QuickBooks Online in euros, registers with DGID and adds Senegal in Stripe. Its plans are priced in euros, exclusive of tax. In the fourth quarter of 2026:

  • Consumers, monthly plan. 120 subscribers pay €25 a month for three months: 360 invoices, €9,000 of sales, €1,620 of VAT.
  • Consumers, annual plan. 10 customers buy the €240 annual plan: €2,400 of sales and €432 of VAT. Article 362 of the CGI places the tax point at the invoice when it is issued before the service is performed, so the whole year's VAT belongs to this quarter.
  • Businesses. 6 Senegalese companies, each with its NINEA stored in Stripe, pay the monthly plan: 18 invoices, €450 of sales, €81 of VAT.
  • One refund. A consumer gets a full refund of one monthly invoice through a credit note: minus €25 and minus €4.50.

One monthly invoice in Stripe reads €25.00 subtotal, €4.50 of Senegal VAT at 18 percent, €29.50 total. Had the plan been priced tax-inclusive at €25, it would contain €21.19 of sales and €3.81 of VAT (€25 × 18 / 118).

For the quarter, Stripe's figures for Senegal come to €11,825 of sales and €2,128.50 of VAT (€1,620 + €432 + €81 minus €4.50). At 655.957, that is about XOF 7,756,692 of sales and XOF 1,396,204 of VAT. The return goes in on eTax by 15 January 2027, and €2,128.50 goes to the Treasury account.

At filing time, pull two Stripe exports from the tax reports section:

  • The summarized export, filtered to Senegal, for the totals. total_sales and total_tax_collected cover sales; total_sales_refunded and total_tax_refunded cover reversals; and filing_tax_payable is "the net tax liability (tax collected minus tax refunded)." Here: €2,128.50.
  • The itemized export, filtered on country_code SN, to check the detail. Every row should show tax_rate 0.18 and tax_type vat. The customer_tax_id column shows which rows were the NINEA customers, and transaction_type reversal marks the refund.

Two cautions from Stripe's documentation. "Completed transactions can take up to 24 hours to appear in reports," so wait a day after the quarter ends. And Stripe records amounts in the currency of your prices, then "converts amounts using available exchange rates at the time of the transaction to calculate the filing currency." Read the filing_currency and filing_exchange_rate columns before you copy a franc figure from Stripe into eTax, and check it against the fixed parity.

What reaches QuickBooks with Acodei

Acodei offers two ways to bring Stripe Tax into QuickBooks. Both work from the tax that Stripe Tax calculates, so Stripe Tax has to be enabled.

The Tax Product approach. In QuickBooks, you create a non-inventory product, for example "Sales Tax," mapped to a liability account, and choose "Tax Product" in Acodei's Stripe Tax settings. All Stripe Tax amounts then roll into a single line item on the QuickBooks invoice or sales receipt. It works with Stripe Tax on Stripe Invoices or Stripe Checkout. It is built mainly for US QuickBooks companies, and it is also available for simpler cases outside the US. For the Irish company, each monthly invoice arrives with a €25 product line and a €4.50 tax line, and the quarter's €2,128.50 builds up in the liability account alongside every other country you collect for. You use Stripe's tax report to split that balance by country, file, and pay from the liability account.

QuickBooks Tax Rate mapping (Advanced). This one is for QuickBooks companies outside the US, like the Irish company. Acodei pulls your Stripe tax rate IDs (they start txr_), and you map each one to a QuickBooks tax code. Map the Senegal 18 percent rate to the QuickBooks tax code you use for Senegalese VAT, and every Senegalese product line arrives carrying that QuickBooks rate. Acodei can also map several Stripe rates on one line to a QuickBooks group tax code; Senegal's digital VAT is a single rate, so a single code is enough. Our QuickBooks tax code entry covers the basics.

Then the details that decide whether the quarter reconciles:

  • The refund. It went through a credit note on the invoice, so Acodei sees the line-level tax and recreates the credit note in QuickBooks with its tax lines. A refund made against the payment alone, with no item breakdown, may not show the refunded tax, and you would adjust the liability by hand.
  • Currency. The Irish company prices in euros and keeps its books in euros. A US company billing Senegalese customers in euros needs Multicurrency, which the Acodei team enables for you rather than a setting you switch on yourself. Acodei then keeps a separate customer record per currency, such as "Acme - EUR": that is by design, because QuickBooks requires it.
  • CFA franc pricing. Stripe lists XOF among its zero-decimal currencies, and Acodei doesn't support zero-decimal currencies. To bring Senegalese sales into QuickBooks through Acodei, price them in a currency such as euros.
  • The payment to the Treasury. You record it: debit the tax liability, credit the bank. For a euro-books company paying in euros, the two match. Anyone else books the difference to exchange gain or loss.

Our guide to reconciling the Stripe Tax report in QuickBooks shows how to tie the liability account to Stripe's figures country by country. The Senegalese slice should be back at zero after each payment.

How Senegal compares with other African markets

On Stripe's settings, Senegal looks like Ghana: a one-transaction threshold and business sales monitored alongside consumer sales. The differences are in the local rules: one 18 percent rate with no levies on top, a quarterly period in the Code, payment in euros to a central-bank account, and an explicit withholding duty for business customers when the supplier isn't registered. Kenya, Tanzania, Egypt and South Africa each have their own rules.

One Stripe limit applies to Senegal: the supported countries table shows "Your business location: Not supported." Stripe Tax calculates Senegalese VAT for sellers based abroad, not for companies established in Senegal.

Common mistakes with Senegalese VAT on Stripe sales

  • Waiting for a threshold. There isn't one. The first sale counts.
  • Exempting business buyers. A NINEA doesn't switch off Stripe's 18 percent, and Senegalese law doesn't expect it to.
  • Leaving Senegal out of Stripe's Locations tab. Without a registration there, Stripe calculates zero tax.
  • Copying the bank details from the arrêté. DGID replaced them in September 2024. Pay in euros to the new references.
  • Picking one deadline without asking. The Code, the communiqué and the arrêté give three different dates. File by the earliest quarterly one and confirm the period with the DGE.
  • Refunding without a credit note. The refunded tax may not reach QuickBooks, and the liability drifts.
  • Pricing in XOF. It's a zero-decimal currency in Stripe, and Acodei doesn't support zero-decimal currencies.

Frequently Asked Questions

Do foreign SaaS companies have to charge VAT in Senegal?

Yes. Article 355 bis of the CGI requires suppliers established abroad that provide digital services with their own technology to collect and remit Senegalese VAT, and the implementing order lists SaaS among the taxable services. DGID announced the regime took effect on 1 July 2024. There is no threshold: Stripe lists it as one transaction.

What is the VAT rate on digital services in Senegal?

18 percent, the standard rate under article 369 of the CGI, repeated in article 4 of the implementing order. It applies to the consideration received for the service. A €25 monthly plan priced exclusive of tax carries €4.50 of VAT, for a €29.50 total. There are no separate levies on top of it.

Does Stripe Tax charge VAT to Senegalese business customers?

Yes. Stripe monitors business and consumer sales in Senegal, and its tax ID table lists the Senegal NINEA number (sn_ninea) as having no impact on the calculation. That matches DGID's communiqué, which covers businesses, entities and individuals. If a foreign supplier isn't registered, a local VAT-registered business buyer must withhold and pay the VAT itself.

How often do foreign suppliers file VAT returns in Senegal?

The CGI says quarterly: article 363(4) sets returns by the 15th of January, April, July and October. DGID's 2024 communiqué says by the 20th of the month after each calendar quarter, and article 6 of the implementing order describes a monthly return. Filing by the 15th meets both quarterly texts. Confirm the period with the DGE at etax@dgid.sn.

In what currency do you pay Senegalese digital VAT?

Euros. DGID's September 2024 notice to digital VAT payers, which updated the transfer references in the implementing order, says all funds must be denominated in EUR. The money goes by bank transfer to the Treasurer General's account at BCEAO. The CFA franc is fixed at 655.957 to the euro.

The short version

Eighteen percent from the first sale, consumers and businesses alike, under article 355 bis. Register at eservices.dgid.sn, receive a NINEA and eTax login, then add Senegal in Stripe's Locations tab. File on eTax by the 15th of the month after each quarter while you confirm with the DGE whether it wants monthly returns, and pay in euros using the September 2024 bank references. In QuickBooks, the Senegalese slice of your tax liability should match Stripe's filing_tax_payable for Senegal and return to zero after each payment.

Acodei brings Stripe Tax into QuickBooks as a tax line on a liability account or as mapped QuickBooks tax codes, so each Senegalese quarter starts from your books instead of a spreadsheet. 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.