North Macedonian VAT on Stripe Digital Sales in QuickBooks

North Macedonia taxes foreign digital sales to consumers from the first sale, through a local tax representative. The rules, returns, QuickBooks.

Acodei Content Team · 10/31/2026 · 15 min read

A software company in Denver sells a $30 monthly plan. Its first subscriber in Skopje signs up on a Tuesday. Under North Macedonia's VAT Law, the company should already have been registered, through a local tax representative, before that sale was made. There is no threshold to wait for and no simplified foreign-seller portal. The representative files the returns, pays the tax, and answers for it if you don't.

Stripe's North Macedonia entry puts it in three sentences: "Remote sellers providing electronically supplied services (digital products) to individuals in North Macedonia have to register for tax from their first sale there. Sales to business customers in North Macedonia don't trigger any tax registration obligations because non-resident businesses aren't required to collect tax on these sales. To register to collect tax, you need to appoint a tax representative in North Macedonia." The law behind those sentences says more, and some of it changes how you plan.

This guide works through the consolidated VAT Law published by the Public Revenue Office (UJP), its announcement on foreign persons and tax representatives, and Stripe's documentation. It covers who is caught, the representative and what they take on, registering, the rate, the return and payment, a worked example, and what reaches QuickBooks. It is bookkeeping guidance, not tax advice. The law is in Macedonian, and the translations here are ours.

Acodei brings Stripe Tax amounts into QuickBooks, so the North Macedonian VAT you collect sits in a liability account when each quarter closes. Start a free trial.

The rules came in with amendments to the VAT Law that apply from 1 January 2024. The UJP publishes a consolidated text of the Law on Value Added Tax, current to Official Gazette 267/25, with footnotes giving the start date of each changed provision. Three changes matter to a foreign digital seller, and all three apply from 1 January 2024:

  • Article 6(2), points 6 and 7, which define telecommunications services and "services supplied by electronic means".
  • Article 14, rewritten, which moves the place of supply for those services to the customer's location.
  • Article 9-b, a new section headed "Tax representative", which makes a foreign person without a seat or branch in the country register and appoint one.

Before 2024, a service supplied to a consumer was generally taxed where the supplier was based. A US company selling software to Macedonian consumers was outside the system. Since January 2024, it's inside it.

What counts as an electronic service

Article 6(2)(7) lists "services supplied by electronic means" as:

  • building websites, web hosting, and remote maintenance of programs and equipment
  • software and its updates
  • images, text and information, and making databases available
  • music, films and games, including games of chance, and political, cultural, artistic, sporting, scientific and entertainment broadcasts and events
  • distance teaching

SaaS, downloads, digital media and online courses all fit. Telecommunications services and radio and television broadcasting sit alongside them in Article 14(6) and follow the same place-of-supply rule.

One carve-out is worth knowing. Article 14(7) says that where the supplier and the customer communicate through electronic mail, the service is not considered to be supplied by electronic means. A consultant who answers questions by email is outside this list, even though the work is delivered online. Put that kind of service on a non-digital tax code in Stripe and ask your representative how it's treated.

Which customers count

Article 14(6) sets the place of supply for these services, when the customer is not a taxable person, as the place where the customer has their seat, permanent address or usual residence. A consumer living in North Macedonia makes the sale a Macedonian supply.

The law doesn't list evidence tests the way some countries do. Stripe Tax uses a single address as the customer's location. For invoices and subscriptions it takes the first one it finds, in order: the shipping address, the billing address, the payment method's billing details, then the IP address. Checkout uses the address collected in the session. If a Macedonian subscriber's only stored address is somewhere else, Stripe taxes them as being there.

Business customers sit outside the regime

For a business customer, Article 14(2) also puts the place of supply in North Macedonia, where the customer has its seat. But Article 32, point 4, makes the customer the person who owes the tax when the supplier has neither a seat nor a branch in the country, and the customer is a taxable person or a public body. The customer accounts for it under the reverse charge.

Article 9-b(1) then exempts those sales from the registration duty: a foreign person must register and appoint a representative "except foreign persons who make supplies within the meaning of Article 32, point 4." Article 51(1) says the same for the general registration duty. A company that sells only to Macedonian businesses has no registration to make.

In Stripe, the business customer's North Macedonia VAT number goes on the Customer as an mk_vat tax ID (format MK1234567890123). Stripe's customer tax ID table marks mk_vat as affecting the tax calculation, with the footnote "Stripe Tax won't apply tax if this tax ID is provided, in line with the relevant laws." Our glossary entry on the Stripe customer tax ID covers how to collect it at checkout.

Registration comes before the first sale, not after it

Stripe's wording is "from their first sale." Article 9-b(2) is stricter: the foreign person registers for VAT "before starting to make taxable supplies in the country," and the 2,000,000 denar turnover threshold in Article 51(1), which applies to local businesses, does not apply. The UJP's announcement makes the same point: the duty has to be met before the taxable activity begins, and the threshold isn't considered.

In practice, the registration takes time. If you're about to open sales to Macedonian consumers, start with the representative. If you already have Macedonian subscribers and no registration, you're behind from the first invoice, and that is a conversation for the representative before the first return.

The tax representative

A tax representative is a local person who acts for you before the tax authority. In North Macedonia, Article 9-b sets out who can do it and what they take on.

Who can act. Under Article 9-b(5), the representative must:

  • have been registered for VAT for at least 12 months before the appointment is filed
  • have no tax debts that are due and unpaid on the day it's filed
  • if a company, not be in bankruptcy or liquidation, and if an individual, have no final criminal conviction

Only one. Article 9-b(3): a foreign person may appoint only one tax representative. If the arrangement ends for any reason, Article 9-b(7) requires you to appoint another, with a new application, to keep making supplies.

What they do. Under Article 9-b(6), the representative calculates the tax, files the return, pays the tax, pays interest when payment is late, and keeps the records the law requires, all "on behalf of the foreign person." Article 32, point 6, names the representative as a tax debtor.

What they risk. Article 9-b(8): the representative "jointly and severally guarantees" the VAT the foreign person owes. If you don't fund a return, the authority can collect from them. That is the representative's reason to want the money in hand before each deadline, so agree in the contract how and when you fund each return, and what the fee covers.

Registering from abroad

The UJP's announcement on tax representatives for foreign persons sets out the steps:

  1. A tax number first. The foreign person registers for a tax number (EDB) with the UJP regional directorate that covers the representative's address, on form UJP-RDO.
  2. The documents with it:
    • the contract appointing the tax representative
    • a certificate of residence from the country where you have your seat
    • a power of attorney from you, translated into Macedonian
    • a copy of the representative's ID card, or a current extract from the Central Register if the representative is a company
    • proof that the representative isn't in bankruptcy or liquidation (a company) or has no criminal conviction (an individual)
  3. The authority's own checks. The UJP confirms for itself that the representative has no unpaid tax debts and has been VAT-registered for at least 12 months.
  4. The VAT registration. Through the representative, you then register for VAT on form DDV-01/SL-DZ.

The announcement doesn't mention an apostille. Ask the representative whether your residence certificate and power of attorney need one, because that step can add weeks.

The rate

Article 28 sets a general rate of 18 percent and reduced rates of 5 and 10 percent. Article 29 applies 18 percent to everything not on a reduced list. Software, SaaS, streaming and online courses are taxed at 18 percent.

The reduced list in Article 30 has one entry a digital seller should read closely. Point 3 puts publications at 5 percent, including "books as well as electronic/digital textbooks." If you sell e-textbooks to Macedonian consumers, the rate may be 5 percent rather than 18. Check which rate Stripe applies to the product tax code you've chosen, and confirm the treatment with your representative before you rely on it.

The return, the deadline, and the tax period

The tax period. Article 39(1) makes the period a calendar month, or a calendar quarter if your total turnover in the previous calendar year didn't exceed 25 million denars. The authority can change your period by decision based on last year's turnover (Article 39(3)). The UJP's announcement describes the representative filing the return "each quarter," which is where most foreign digital sellers will start. If your first period starts mid-quarter, Article 39(2) counts it only from the date of registration.

The return. Article 41(1): a return for each period, within 25 days after it ends. The return is form DDV-04. Article 41(3) requires a return even for a period with no taxable sales.

Payment. Article 43(2): the tax is paid within the same deadline as the return. Under Article 9-b(6), the representative makes the payment.

Late payment. The VAT Law's own interest article, Article 44, was repealed in 2006, and interest now comes from the Law on Tax Procedure. Ask the representative what rate applies and build it into the contract.

Converting to denars

Stripe collects in whatever currency you charge. The return is in denars. Article 20 says that when the price is set in a foreign currency, it is converted into denars at the middle exchange rate of the National Bank of North Macedonia on the day the tax debt arises.

That means the denar figure on the return comes from the National Bank's rate on each sale's tax point, not from the dollar amount Stripe collected. A quarter of monthly renewals is converted at roughly three different rates. Expect a small difference between the dollars in your liability account and the dollars it takes to pay the denar amount due.

A worked example: one quarter

A Denver company sells a $30 monthly plan, priced exclusive of tax, and appoints a representative in Skopje before opening sales.

  1. Before launch. The representative's contract, a residence certificate and a power of attorney go to the UJP. The company gets its tax number, then its VAT registration. Its registration is added to Stripe Tax.
  2. January. 60 consumers in Skopje, Bitola and Ohrid renew at $30. Stripe adds 18 percent: $5.40 per invoice, $324.00 for the month.
  3. February and March. The same 60 renew each month. The quarter's tax is $972.00 on $5,400.00 of sales.
  4. A business customer. A Skopje agency buys 10 seats ($300 a month) and enters its mk_vat at checkout. Stripe charges no tax, and the sale stays off the return. The agency accounts for the VAT itself.
  5. An email consultant. The company also sells a $200 "ask an expert" package delivered by email. It's on a non-digital tax code, so Stripe doesn't treat it as an electronic service. The representative is asked how to handle it.
  6. The return. The representative converts each invoice's tax at the National Bank's middle rate for its date, files DDV-04 for January to March by 25 April, and pays the denar total the same day.
  7. The funding. The company wires $990.00 to the representative ahead of the deadline: the $972.00 of tax plus an $18.00 margin for the exchange rate, as their contract requires. The representative's statement shows the denars paid cost $975.10 of that, leaving $14.90 held toward the next quarter.

What reaches QuickBooks, and what you book yourself

Acodei syncs the tax Stripe Tax calculated, so Stripe Tax has to be active in your Stripe account, and your North Macedonian registration has to be set up in Stripe first.

For a US QuickBooks company, Acodei's method is the Tax Product: a non-inventory "Sales Tax" product mapped to a liability account, with all Stripe Tax amounts on a sale rolled into one line on the QuickBooks invoice or sales receipt. QuickBooks' Sales Tax Center doesn't let third parties create official tax rates for US companies, which is why the product approach is the one that works there. It needs Stripe Tax used with Stripe Invoicing or Stripe Checkout. Each $30 renewal in the example arrives with one $5.40 tax line, and the $972.00 builds up in the liability account over the quarter. You then use Stripe's tax reports to file and pay from that account.

For a QuickBooks company outside the US, Acodei can map individual Stripe tax rates to QuickBooks tax codes you set up. One code at 18 percent covers most digital sellers. If you also sell e-textbooks at 5 percent, map that Stripe rate to its own code, and each rate appears on its own line in QuickBooks' tax reporting.

The business sale, item 4. Stripe charged no tax on it, so no North Macedonian VAT reaches the liability account.

Refunds. Acodei's documentation says a refund issued through a credit note carries the line-level tax breakdown. A refund made on the payment alone may not show how much was tax, and that case can need a manual adjustment in QuickBooks. Since the representative files from your figures, the credit note is also the cleaner record to hand them.

The funding, item 7. The wire to the representative isn't a tax payment yet. Debit an "Amounts held by tax representative" asset account $990.00 and credit the bank. When the representative's statement arrives, debit the tax liability $972.00, debit exchange gain or loss $3.10, and credit the held account $975.10. The $14.90 left in the held account carries to the next quarter. The representative's fee goes to professional fees.

The same liability account holds US sales tax and every other country Stripe Tax collects for, so note the North Macedonian slice each quarter. Our guide to reconciling the Stripe Tax report in QuickBooks covers the liability side, and the itemized export lets you filter on country_code MK.

Common mistakes with North Macedonian VAT on Stripe sales

  • Waiting for a threshold. There isn't one for foreign sellers. Article 9-b(2) disapplies the 2,000,000 denar line.
  • Registering after the first sale. The law says before. Line up the representative before you open sales.
  • Looking for a simplified portal. There isn't one. Registration goes through the representative on the standard forms.
  • Appointing two representatives. Article 9-b(3) allows one. A change needs a new application.
  • Treating the representative as a mailbox. They're jointly liable for your VAT, so they'll want funding terms. Put them in the contract.
  • Charging Macedonian businesses. Store their mk_vat and Stripe won't apply tax.
  • Taxing email consulting as an electronic service. Article 14(7) carves it out.
  • Charging 18 percent on e-textbooks. Article 30 puts electronic and digital textbooks at 5 percent. Check the tax code.

Frequently Asked Questions

Do foreign SaaS companies have to register for VAT in North Macedonia?

Yes, if they sell to consumers there. Since 1 January 2024, a foreign person without a seat or branch in North Macedonia must register for VAT before making taxable supplies, with no turnover threshold, and must appoint a local tax representative. Sales only to Macedonian businesses don't require registration, because the business customer accounts for the VAT.

What is the VAT rate on digital services in North Macedonia?

18 percent, the general rate under Articles 28 and 29 of the VAT Law. It applies to software, SaaS, digital media, games and distance teaching sold to consumers. The 5 percent rate in Article 30 covers publications, including electronic and digital textbooks, so check how your product is classified.

Who can be a tax representative in North Macedonia?

Any company or individual who has been registered for VAT in North Macedonia for at least 12 months, has no due and unpaid tax debts, and is not in bankruptcy or liquidation, or, for an individual, has no final criminal conviction. You can appoint only one, and they are jointly and severally liable for the VAT you owe.

How often are North Macedonian VAT returns filed?

Monthly, or quarterly if your total turnover in the previous calendar year didn't exceed 25 million denars. The return is due within 25 days after the period ends, and the tax is paid within the same deadline. The representative files and pays on your behalf.

Does Stripe Tax charge North Macedonian business customers?

No, if you store their North Macedonia VAT number as an mk_vat tax ID. Stripe marks it as affecting the tax calculation and doesn't apply tax when it's present. Under the VAT Law, the Macedonian business customer is the one who owes the tax on the purchase.

The short version

Eighteen percent from the first consumer sale, through a representative you appoint before you start. North Macedonia's rules for foreign digital sellers have applied since 1 January 2024. There's no threshold, no simplified portal, and one representative who files, pays and shares the liability. Returns are usually quarterly, due with payment 25 days after the quarter ends, in denars converted at the National Bank's rate. Our guides to the countries that register you from the first sale and to Georgian VAT cover how other countries handle the same sales.

Acodei syncs Stripe Tax into QuickBooks, so each North Macedonian quarter starts from the liability account 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.