ediverse Explore the platform

Spotlight PEPPOL BIS Billing 3.0 The EU e-invoicing mandate is here — France Sept 2026, Belgium Jan 2026, Germany 2025.

Kazakhstan — ESF and electronic invoice

Kazakhstan operates a national e-invoicing system (ESF — Electronic Invoice System) in mandatory clearance since 1 January 2019 for all VAT taxpayers. The esf.gov.kz portal centralises issuance, qualified NCALR signature and real-time validation.

Regulatory timeline

  • 7 January 2003 — Law on Electronic Signature. Legal framework for EDS, progressive alignment on Eurasian Economic Union GOST standards.
  • 10 December 2008 — Tax Code 99-IV. Article 263 introduces the tax invoice, basis for later electronic extension.
  • 1 July 2014 — Voluntary ESF launch. esf.gov.kz portal opens to volunteer taxpayers, SRC technical pilot.
  • 1 January 2016 — Mandatory wave 1. Importers of goods listed in the "limited list" (Government Decree No. 1217) must issue in ESF.
  • 1 January 2017 — Mandatory wave 2. All VAT taxpayers with turnover above certain thresholds, plus customs agents.
  • 23 February 2018 — MinFin Order 370. Formalises the ESF XML v2.0 schema, code lists, validation rules and archival structure.
  • 1 January 2019 — Universal mandate. All VAT taxpayers in Kazakhstan, no threshold, must issue via ESF. Any paper or non-ESF invoice is not fiscally recognised.
  • 1 January 2022 — Virtual Warehouse integration. ESF ↔ Виртуальный склад (Virtual Warehouse) link for traceability of listed goods (Kazakh Markirovka).

Technical schema

The Kazakh ESF is a SRC proprietary XML v2.0, UTF-8 encoded. Features:

  • invoiceId: UUID v4 generated by the issuer, globally unique, serves as the permanent identifier in esf.gov.kz.
  • seller.tin / customer.tin: BIN (12 digits) or IIN (12 digits) — arithmetic validation on the portal side.
  • seller.iik / bik / bankName: bank coordinates (Kazakh KZxx IBAN) required for Treasury reconciliation consistency.
  • products.product.unitCode: inherited Russian ОКЕИ codes (796 = piece, 168 = ton, 113 = m³…).
  • vatRate: 12 % standard, 0 % export, "без НДС" for exempt.
  • eds: EDS signature block based on GOST 34.10-2015, certificate issued by NCALR via the NCALayer platform (local signing client).

Minimal ESF structure:

xmlesf-2.0.xml
<?xml version="1.0" encoding="UTF-8"?>
<invoice xmlns="urn:esf:kz" version="2.0">
  <invoiceId>1f8c5e9d-3a4b-4c5d-9e1f-0a1b2c3d4e5f</invoiceId>
  <number>EI-2026-00000142</number>
  <date>2026-05-16</date>
  <currency>
    <code>KZT</code>
    <rate>1.0</rate>
  </currency>
  <seller>
    <tin>123456789012</tin>
    <name>Ediverse Demo Kazakhstan LLP</name>
    <countryCode>KZ</countryCode>
    <address>
      <region>Алматы</region>
      <city>Алматы</city>
      <street>пр. Достык, 132</street>
    </address>
    <iik>KZ123ABC456789012345</iik>
    <bik>HSBKKZKX</bik>
    <bankName>Halyk Bank Kazakhstan</bankName>
  </seller>
  <customer>
    <tin>987654321098</tin>
    <name>Customer Demo Kazakhstan LLP</name>
    <countryCode>KZ</countryCode>
  </customer>
  <products>
    <product>
      <num>1</num>
      <name>Cloud services May 2026</name>
      <quantity>1.0</quantity>
      <unitCode>796</unitCode>
      <price>50000.00</price>
      <vatRate>12</vatRate>
      <vatSum>6000.00</vatSum>
      <totalSum>56000.00</totalSum>
    </product>
  </products>
  <documentNum>EI-2026-00000142</documentNum>
  <eds>...</eds>
</invoice>

Submission flow

The seller generates their ESF XML, signs with their EDS via NCALayer (local client) then submits to esf.gov.kz via SOAP API. The portal validates in real time (schema consistency, signature, BIN/IIN, amounts) then timestamps:

textesf-flow.txt
┌──────────────┐    ┌───────────────────┐    ┌──────────────┐
│ KZ supplier  │───>│ ESF portal        │───>│ KZ customer  │
│ (ERP, XML)   │    │ esf.gov.kz        │    │ (accept or   │
│ + EDS NCALR  │    │                   │    │  reject)     │
└──────────────┘    └────────┬──────────┘    └──────────────┘


                  ┌────────────────────┐
                  │ SRC kgd.gov.kz     │ ← automatic
                  │ State Revenue      │   aggregated VAT
                  │ Committee          │   reports
                  └────────────────────┘

The buyer receives automatic notification in their esf.gov.kz cabinet and has 10 days to accept, reject or report an anomaly. Without action, the invoice is deemed accepted. Monthly VAT reports (declarations 300.00) are automatically fed from ESF.

Validation

  • ESF portal (SRC): esf.gov.kz — submission portal, access via EDS NCALR.
  • SRC — kgd.gov.kz: kgd.gov.kz/elektronnye-scheta-faktury — official documentation, ESF XSD, code lists.
  • NCALR (NUC of the Republic of Kazakhstan): pki.gov.kz — EDS certificate issuance, NCALayer platform (local signing client Windows/macOS/Linux).
  • eGov Kazakhstan: egov.kz — administrative services, BIN/IIN issuance, real-time VAT status check.

Common pitfalls

  1. EDS NCALR vs third-party certificate. The EDS must be issued by NCALR (single Kazakh authority). A European eIDAS certificate or a Russian KEP certificate are not recognised. The NCALayer platform must be installed on the application server side for automated signatures (architecture NCALayer + Java applet or a recent Go client).
  2. Triple alphabet (Cyrillic, Latin, Kazakh). Names, addresses and product labels must be UTF-8 encoded. Kazakh is written in Cyrillic with additional characters (ә, ғ, қ, ң, ө, ұ, ү, һ, і); since 2017 the transition to the Latin alphabet has been under way but ESF remains predominantly Cyrillic.
  3. Virtual Warehouse for traceable products. For imported goods under the "limited list" (alcohol, tobacco, lubricants, steel, cement…), a parallel declaration to the Виртуальный склад is mandatory with reference to the ESF. Forgetting = flow blocked and fine.
  4. BIN / IIN — arithmetic validation. The BIN (12 digits) has a strict checksum formula. Testing before submission avoids mass rejections, especially for new or cross-border counterparties (BIN format vs Kyrgyz RUC or Russian INN).
  5. Time zones and timestamping. esf.gov.kz systematically applies the Almaty time zone (UTC+5 or UTC+6 depending on history). An invoice issued on the 31st of a month at 23:59 UTC can fall on the 1st of the following month from the ESF side, shifting the tax period: force timestamping in Almaty time on the client side.