# Turkey e-invoice requirements: e-Fatura, e-Arşiv, UBL-TR

URL: https://fincodelabs.com/en/blog/turkey-e-invoice · Publisher: Fincode (Fincode Yazılım ve Teknoloji A.Ş.), Istanbul, Turkey · Category: Money in Turkey · Published: 2026-11-06 · Updated: 2026-11-06

Turkey e-invoice rules as of Nov 2026: e-Fatura and e-Arşiv thresholds, 1 January 2027 change, connection routes, 8-day cancellation and a tested UBL-TR sample.

**Short answer:** **Turkey's e-invoice system** has two channels run by the Revenue Administration (GİB): e-Fatura between registered users and e-Arşiv for everyone else. As of 6 November 2026, Communiqué 509 requires e-Fatura from 1 July of the following year once annual gross sales reach TRY 3,000,000 (TRY 500,000 for online sellers and real estate or vehicle businesses), and taxpayers outside e-Fatura already issue e-Arşiv at any amount, except simple-method and operating-account taxpayers, who join on 1 January 2027. The duties fall on Turkish taxpayers: a GİB private ruling of 8 May 2023 accepts an invoice or other document valid in its own country from a foreign supplier that need not register.

Rules come from GİB's consolidated Communiqué 509 and Turkish technical guides, checked on 6 November 2026, and GİB's validation package is run on a synthetic invoice. This is general information, not tax advice.

The sample section holds the surprises: a wrong VAT amount passes GİB's schematron, and GİB's older sample fails it. VAT rates are in [Turkey VAT rate](https://fincodelabs.com/en/blog/turkey-vat-rate-and-refund).

## e-Fatura vs e-Arşiv: which one applies

The buyer decides the channel: if both sides are registered e-Fatura users the invoice must be e-Fatura, and any other buyer receives an e-Arşiv invoice.

**e-Fatura and e-Arşiv compared (Communiqué 509, read 6 November 2026)**

| Point | e-Fatura | e-Arşiv |
| --- | --- | --- |
| Recipient | Another registered e-Fatura user | A taxpayer not on e-Fatura, or a non-taxpayer |
| Delivery | Only through GİB's system | Electronic or paper, as the buyer asks; online sales must be electronic |
| Reporting | GİB sees the document in transit | Non-portal users send a sealed report by the end of the next day (technical guide v1.19, October 2026) |

Check the buyer against GİB's [registered user list](https://ebelge.gib.gov.tr/efaturakayitlikullanicilar.html) before issuing. Both documents have the same legal standing as a paper invoice, and an e-Fatura user must also join e-Arşiv for buyers outside the system.

## Turkey e-invoice mandate: who must move and when

The general test is TRY 3,000,000 of gross sales in an accounting period, with the move due on 1 July of the next year: 2026 sales decide who moves on 1 July 2027.

**e-Fatura duty (Communiqué 509, IV.1.4 and IV.1.5, November 2026)**

| Group | Test | Deadline |
| --- | --- | --- |
| All taxpayers | TRY 3,000,000 for 2022 or later (TRY 5,000,000 for 2018 to 2020, TRY 4,000,000 for 2021) | 1 July of the next year |
| Online sellers; real estate and motor vehicle building, trading, renting or brokerage | TRY 500,000 for 2022 or later | Same |
| Listed sectors, including marketplaces, listing sites and online ad intermediaries, certified hotels, EV charging operators, fuel licensees and SGK health suppliers | No sales test | Set per sector, mostly tied to the start of activity |
| Anyone GİB notifies in writing as risky | No sales test | At least 3 months' notice |

The communiqué does not say whether VAT counts toward gross sales; output VAT is normally booked outside sales revenue.

Taxpayers outside e-Arşiv have issued every invoice as e-Arşiv since 1 January 2026, but Communiqué 589 (Resmî Gazete No. 33124, 31 December 2025) let simple-method and operating-account (*işletme hesabı*) taxpayers keep the old test of TRY 3,000 including taxes until 31 December 2026. From **1 January 2027** they issue e-Arşiv at any amount, through GİB's portal or a licensed integrator.

Under Tax Procedure Law Article 353, a paper invoice where an electronic one was due is penalized like a missing invoice, for both issuer and taxpayer buyer. The penalty is 10% of the amount, with 2026 minimums per document of TRY 17,000 for the first finding in a calendar year, rising to TRY 170,000 from the sixth, and a yearly cap of TRY 17,000,000 per document type. The 2027 amounts had not been published by 6 November 2026.

## Three connection routes: portal, integrator, direct

Communiqué 509 offers three routes; for most foreign vendors the choice is between a listed special integrator and direct integration.

**Connection routes (Communiqué 509, section V.1)**

| Route | How it works | What to plan for |
| --- | --- | --- |
| GİB portal | Web screens on an account GİB defines | Basic functions, not an API; GİB can open a portal account itself for a taxpayer who has chosen no route |
| Special integrator (*özel entegratör*) | A GİB-licensed firm creates, seals, sends and can store documents for you | Its software and hardware must be in Turkey; you stay responsible for retention; your own seal, or its seal if you ask |
| Direct integration | Your system connects to GİB; the package ships test and live WSDL files | GİB sets entry conditions, test users follow approval, work must finish within one year of applying, and GİB may inspect on site |

GİB's [list of special integrators](https://ebelge.gib.gov.tr/efaturaozelentegratorlerlistesi.html) showed 94 firms on 6 November 2026. This guide recommends none, and its publisher, Fincode, is not on the list. If your IT is run from abroad, GİB assesses direct integration case by case on application.

No GİB specification for the integrator-to-ERP API was found on ebelge.gib.gov.tr, so that part differs by provider. For software scoping in general, see Fincode's [project and product analysis](https://fincodelabs.com/en/services/project-and-product-analysis), [white-label development](https://fincodelabs.com/en/services/white-label-development) and [how we work](https://fincodelabs.com/en/how-we-work) pages.

## UBL-TR and the GİB schematron: a tested sample

UBL-TR is GİB's profile of OASIS UBL 2.1, and its central system runs its XSD and schematron on every envelope, so most rejections can be caught locally.

The schematron in `e-FaturaPaketi (29).zip` carries files dated 21 August 2026. Its rules use XPath 2 functions such as `matches()` and `current-date()` without a query binding; lxml's Schematron class could not load it even with its schema check off, so you need an XSLT 2 engine. This run used SaxonC-HE 13.1.1 and the ISO Schematron reference stylesheets in `iso/`. All data is synthetic and the invoice is unsigned. Its head:

```
<cbc:CustomizationID>TR1.2</cbc:CustomizationID>
<cbc:ProfileID>TEMELFATURA</cbc:ProfileID>
<cbc:ID>ABC2026000000001</cbc:ID>
<cbc:InvoiceTypeCode>SATIS</cbc:InvoiceTypeCode>
<cbc:DocumentCurrencyCode>TRY</cbc:DocumentCurrencyCode>
```

The file also needs a `UUID`, `IssueDate`, a `cac:Signature` block, both parties, `TaxTotal`, `LegalMonetaryTotal` and an `InvoiceLine`.

```python
# pip install saxonche lxml
from lxml import etree as ET
from saxonche import PySaxonProcessor

SVRL = "{http://purl.oclc.org/dsdl/svrl}"
INVOICE = "{urn:oasis:names:specification:ubl:schema:xsd:Invoice-2}Invoice"
src ="e-FaturaPaketi/schematron/UBL-TR_Main_Schematron.xml"

with PySaxonProcessor(license=False) as sax:
    xslt = sax.new_xslt30_processor()
    for step, out in (("iso_dsdl_include", "1.sch"), ("iso_abstract_expand", "2.sch"),
                      ("iso_svrl_for_xslt2", "validator.xsl")):
        xslt.compile_stylesheet(stylesheet_file=f"iso/{step}.xsl").transform_to_file(
            source_file=src, output_file=out)
        src = out
    check = xslt.compile_stylesheet(stylesheet_file="validator.xsl")
    for name in ("good.xml", "bad_id.xml", "bad_future.xml", "bad_total.xml", "earsiv.xml"):
        if not ET.parse(name).getroot().tag == INVOICE:
            print(name, "| skipped: wrong root")
            continue
        svrl = ET.fromstring(check.transform_to_string(source_file=name).encode())
        failed = svrl.findall(f".//{SVRL}failed-assert")
        print(name, "| fired", len(svrl.findall(f".//{SVRL}fired-rule")), "| failed", len(failed))
        for f in failed:
            print("  ", " ".join("".join(f.find(f"{SVRL}text").itertext()).split())[:60])
```

Output, GİB's messages cut to 60 characters:

```
good.xml | fired 24 | failed 0
bad_id.xml | fired 24 | failed 1
   Geçersiz cbc:ID elemanı değeri. cbc:ID elemanı 'ABC200912345
bad_future.xml | fired 24 | failed 1
   Geçersiz cbc:IssueDate değeri : '2031-01-01' cbc:IssueDate a
bad_total.xml | fired 24 | failed 0
earsiv.xml | fired 24 | failed 1
   Geçersiz cbc:ProfileID elemanı değeri : 'EARSIVFATURA'. Geçe
```

What the guides do not spell out:

- **The sums are not checked.** The schematron has no `sum()` and no rate arithmetic: `bad_total.xml` shows VAT of 199.00 on 1,000.00 at 20% and passes: keep your own arithmetic tests.
- **e-Arşiv needs a parameter.** `EARSIVFATURA` fails until you call `check.set_parameter("type", sax.make_string_value("earchive"))`, after which `earsiv.xml` passed and `TEMELFATURA` failed.
- **The XSD wants a signature slot.** Without `ext:UBLExtensions` the UBL-TR XSD rejects the file; a placeholder passes locally, but the central system checks for a signature.
- **Old samples mislead.** GİB's `TemelFaturaOrnegi.xml` passes the XSD but fails two current asserts, on the ID format and on a 10-digit value under `TCKN`, so do not use it as a fixture.
- **Check the root.** A wrong-namespace invoice fired 1 rule and 0 failures.

## Status flow and the 8-day cancellation limit

Every e-Fatura gets system responses, a commercial invoice also gets the buyer's business response, and electronic cancellation closes 8 days after delivery.

The sender wraps the invoice in a `SENDERENVELOPE`. GİB's central system checks the XSD, the schematron, that a signature exists (it does not verify it) and the addresses, answers with a `SYSTEMENVELOPE`, passes the envelope to the buyer's mailbox and relays the mailbox's response. For a commercial invoice, the first business response stands.

**Accepting, cancelling and objecting (GİB cancellation and objection guide v1.2, January 2025)**

| Profile | Buyer response in the system | Cancellation | Objection |
| --- | --- | --- | --- |
| `TEMELFATURA` | None | Request on GİB's cancellation portal; it takes effect only if the other side approves within the 8 days | Only outside the system, then reported to GİB |
| `TICARIFATURA` | `KABUL`, `RED` or `IADE` within 8 days | `RED` response | `RED`, or outside the system |

Outside the system means notary, registered letter, telegram or registered e-mail (KEP), the methods in Commercial Code Article 18/3. Article 21/2 treats a buyer who stays silent for 8 days as accepting the invoice's content. After day 8 the portal refuses requests and approvals and the guide gives no next step, so agree a correction route early.

## QR code, numbering and retention

Each invoice needs a 16-character number, a UUID and a QR code at the top right, and the sealed original must be stored in Turkey for five years, or ten for a merchant.

- **Number.** Three-character unit code, four-digit year and a nine-digit serial restarting at 1 each year, tested in the schematron as `^[A-Z0-9]{3}20[0-9]{2}[0-9]{9}$`.
- **Retention.** Tax Procedure Law Article 253 (five years) and Commercial Code Article 82 (ten) both count from the end of the document's year. The communiqué requires the sealed file, allows a second copy abroad and requires a GİB permit for anyone storing other taxpayers' documents.
- **Outages.** Hold printed invoices for failures, tell GİB in writing before using them, and report damaged records within three business days.

> **QR content for the synthetic invoice**, per GİB's QR guide v1.2 (the UUID goes in `ettn`):
>
> ```json
> {"vkntckn":"1111111111","avkntckn":"2222222222","senaryo":"TEMELFATURA",
> "tip":"SATIS","tarih":"2026-11-05","no":"ABC2026000000001","ettn":"...",
> "parabirimi":"TRY","malhizmettoplam":"1000.00","kdvmatrah(20)":"1000.00",
> "hesaplanankdv(20)":"200.00","vergidahil":"1200.00","odenecek":"1200.00"}
> ```

## What a non-resident seller issues, and what it does not

A foreign supplier with no Turkish registration sends its normal commercial invoice, and the tax work falls on the Turkish buyer.

**Common cases (Communiqué 509; VAT General Implementation Communiqué I/C-2.1.2.1; GİB ruling of 8 May 2023)**

| Seller | Document | Tax handling |
| --- | --- | --- |
| Foreign company that need not register, billing a Turkish customer for services | Its own invoice or a document valid in its country; not UBL-TR | Buyer reports VAT on its No. 2 return and withholds tax where a withholding rule applies; see [withholding tax on services](https://fincodelabs.com/en/blog/turkey-withholding-tax-on-services) |
| Foreign e-service provider selling to individuals who are not VAT taxpayers | The VAT text sets a return, not an e-invoice duty | Special VAT registration at digitalservice.gib.gov.tr and the No. 3 return |
| Foreign group with a Turkish branch or subsidiary, or a firm that must register | Turkish documents: e-Arşiv, and e-Fatura once a test is met | Ordinary Turkish taxpayer; see [company formation in Turkey](https://fincodelabs.com/en/blog/company-formation-in-turkey) |
| Turkish seller billing a foreign customer | Services: normally e-Arşiv, as the customer is not on the e-Fatura list. Goods exports by an e-Fatura user: e-Fatura (section IV.1.7.1) | VAT export rules apply separately |

Communiqué 509 does not address unregistered foreign suppliers, but a [GİB private ruling of 8 May 2023](https://gib.gov.tr/mevzuat/kanun/434/ozelge/25747) on services bought from abroad, binding only on the company that asked, does: the buyer's books rest on an invoice in its name or a document valid under the supplier's law, converted at the central bank's forex buying rate on the document date, with a translation needed only if an examiner asks (Communiqué 253). Holding a [Turkish tax number](https://fincodelabs.com/en/blog/turkish-tax-number-for-foreigners) does not make anyone an e-Fatura user. Take Turkish tax advice and check your home-country treatment.

## Frequently asked questions

### Is e-invoicing mandatory in Turkey?

Yes for most businesses. e-Fatura applies above the sales tests or in listed sectors, and other taxpayers issue e-Arşiv at any amount (simple-method and operating-account taxpayers from 1 January 2027).

### What is the Turkey e-invoice threshold for 2026 sales?

TRY 3,000,000 of gross sales in general and TRY 500,000 for online sellers and real estate or vehicle businesses, as of 6 November 2026, with the move due from 1 July 2027.

### Does a foreign supplier have to issue e-Fatura to a Turkish customer?

No, if it need not register in Turkey. A GİB private ruling of 8 May 2023 accepts its invoice or another document valid in its own country, and the Turkish customer handles reverse-charge VAT on services and any withholding.

### How long can an e-Fatura be cancelled?

Eight days from delivery. A basic invoice needs a portal request and the other side's approval within that time; a commercial invoice is rejected with a RED response.

## Sources

- [GİB e-Belge: Communiqué 509, consolidated text with amendments to No. 589 (Turkish)](https://ebelge.gib.gov.tr/dosyalar/tebligler/Dipnotlu_Guncel_Sekli_ile_509_Sira_No%27lu_VUK_Genel_Tebligi.pdf)
- [GİB e-Belge: e-Fatura legislation and technical guides page (Turkish)](https://ebelge.gib.gov.tr/efaturamevzuat.html)
- [GİB e-Belge: e-Fatura package with schematron, WSDL and envelope XSD, files dated 21 August 2026](<https://ebelge.gib.gov.tr/dosyalar/kilavuzlar/e-FaturaPaketi%20(29).zip>)
- [GİB e-Belge: UBL-TR 1.2.1 package with XSD and sample invoices](https://ebelge.gib.gov.tr/dosyalar/kilavuzlar/UBL-TR1.2.1_Paketi.zip)
- [GİB: e-Fatura cancellation, notice and objection guide v1.2, January 2025 (Turkish)](https://ebelge.gib.gov.tr/dosyalar/kilavuzlar/e-Fatura_Iptal_Ihtar_Itiraz_Bildirim_Kilavuzu_V_1.2.pdf)
- [GİB: e-Fatura integration guide v1.10, June 2018, envelope types and checks (Turkish)](https://ebelge.gib.gov.tr/dosyalar/kilavuzlar/e-FaturaUygulamasiEntegrasyonKilavuzu-v1.10.pdf)
- [GİB: QR code standard guide v1.2, November 2023 (Turkish)](https://ebelge.gib.gov.tr/dosyalar/kilavuzlar/Karekod_Standardi_Kilavuzu_V.1.2.pdf)
- [GİB: e-Arşiv technical guide v1.19, October 2026, reporting times (Turkish)](https://ebelge.gib.gov.tr/dosyalar/kilavuzlar/e-Arsiv_Teknik_Kilavuzu_V.1.19.pdf)
- [GİB e-Belge: list of e-Fatura special integrators (Turkish)](https://ebelge.gib.gov.tr/efaturaozelentegratorlerlistesi.html)
- [GİB private ruling: Istanbul Tax Office Directorate, 8 May 2023, documents for services bought from abroad (Turkish)](https://gib.gov.tr/mevzuat/kanun/434/ozelge/25747)
- [Mevzuat: Tax Procedure Law No. 213, Articles 253 and 353 with 2026 amounts (Turkish)](https://www.mevzuat.gov.tr/MevzuatMetin/1.4.213.pdf)
- [Mevzuat: Turkish Commercial Code No. 6102, Articles 18, 21 and 82 (Turkish)](https://www.mevzuat.gov.tr/MevzuatMetin/1.5.6102.pdf)
- [GİB: VAT General Implementation Communiqué, consolidated text, services from abroad and electronic service providers (Turkish)](https://cdn.gib.gov.tr/api/gibportal-file/file/getFile?objectKey=MEVZUAT_TEBLIGLER%2FUNIVERSAL%2F2026%2Fkdv_genteb.pdf)
- [ISO Schematron reference stylesheets, used to compile GİB's schematron](https://github.com/Schematron/schematron)
- [SaxonC-HE package page (saxonche), the XSLT engine used in the test](https://pypi.org/project/saxonche/)

> This guide is general information, not investment, legal or tax advice. Amounts, rates and rules in Turkey change often: check the date given for each figure and the official source before you rely on it, and ask a licensed adviser about your own situation. Sources, checks and corrections: see the [editorial policy](https://fincodelabs.com/en/editorial-policy).

---

Published by Fincode (Fincode Yazılım ve Teknoloji A.Ş.), a software company in Istanbul, Turkey: https://fincodelabs.com/en/blog/turkey-e-invoice

Cite as: Fincode, "Turkey e-invoice requirements: e-Fatura, e-Arşiv, UBL-TR", updated November 6, 2026, https://fincodelabs.com/en/blog/turkey-e-invoice
