Kazakhstan IS ESF e-Invoicing (ЭСФ)
Official InvoiceV2 XML, signed in Odoo with your own NCA RK key and uploaded to IS ESF through its SOAP API
Generate, validate, sign and upload Kazakhstan electronic invoices (ЭСФ) to the State Revenue Committee IS ESF (esf.gov.kz), then read back the registration number that IS ESF assigns.
Built on the shared e-Invoice Core Engine and tested on Odoo 18 and Odoo 19 (Community).
Official InvoiceV2 document
The invoice is written as the IS ESF InvoiceV2 document (namespace v2.esf): seller, buyer, delivery terms (contract, payment form) and the product set with TRU identifier, TRU origin code, VAT rate and amounts. Before it is stored, every document is validated against the InvoiceV2 schema published by IS ESF, which ships with the module. Exempt lines (без НДС) are written without a VAT rate, 0% lines with rate 0, and foreign-currency invoices carry the currency rate of the turnover date.
Real BIN/IIN validation
The Kazakhstan weighted mod-11 control-digit algorithm (two-pass) validates the 12-digit BIN/IIN on the company, partners and onboarding wizard, accepting valid identifiers and rejecting bad checksums.
Business-rule validation
Supplier and customer BIN, TRU identifier and origin code on every product, payment form, operator name, currency rate for foreign currency, plus the engine's structural line and total checks. VAT rates are checked against the turnover date: 12% until 31.12.2025, 16% (and the reduced 5%) from 01.01.2026, 10% reduced rate from 2027. A rate not in force does not block the ESF: it is flagged as an advisory in the invoice chatter when the ESF is generated and in the Validate ESF result.
Signed in Odoo
Invoices are signed inside Odoo with your own NCA RK key (.p12): GOST 34.10-2015 keys (the only type NCA RK has issued since April 2024) and RSA keys are supported. Legacy GOST 34.310-2004 keys and hardware carriers (Kaztoken, ID card) are not supported. An expired signing certificate is refused before the invoice is signed.
IS ESF SOAP API (BYOK)
Login to IS ESF uses the signed-ticket method required for GOST 2015 keys (AuthService + createSessionSigned), together with your IS ESF user password; RSA keys use createSession. The invoice is uploaded with syncInvoice and the session is closed afterwards. Test server and production API addresses are pre-filled and editable. Your private keys stay in your database; your IS ESF password is sent only to IS ESF, when a session is opened (WS-Security UsernameToken).
Honest status handling
An invoice becomes submitted only when IS ESF returns its invoice id. Redirects, HTML pages, empty answers, SOAP faults and declined invoices are shown as errors. The registration number is never computed locally: Check ESF Status (or the optional cron) reads it with queryInvoiceById, together with the IS ESF status.
Onboarding in minutes
A guided onboarding wizard captures your company BIN and the IS ESF connection under the engine's e-Invoicing menu; the keys and password are then uploaded on the connection form. Customer credit notes are issued as additional or corrected ESF with the companion module Kazakhstan ESF Note.
Disclosure: this module transmits invoice data only to the IS ESF endpoint you configure. No data is sent anywhere else. Your private keys never leave your database; your IS ESF password is sent only to IS ESF, when a session is opened.
Third-party notice: the Streebog tables and algorithm are adapted from gostcrypto 1.2.5, MIT License, Copyright (c) 2020 Дроботун Евгений. The full MIT licence text ships with the module in services/esf_gost.py.
Software, not an integration service
We provide software. It runs entirely under the customer's own IS ESF credentials and NCA RK key (BYOK) — we are not an e-invoicing integrator, operator or agent. The e-invoicing relationship is directly between the customer (the registered taxpayer) and the State Revenue Committee; the customer is responsible for their IS ESF account, keys and filings. Support is included and the licence is refundable under the marketplace policy. (Мы поставляем программное обеспечение, а не услуги оператора ЭСФ; работает под учётной записью налогоплательщика.)
Screenshots
Posted KZT invoice: VAT 16% and exempt (без НДС) lines, IS ESF buttons
Generated InvoiceV2 XML (not yet signed or uploaded): contract, payment form, TRU identifier and origin code, VAT 16%
Support: support@pokutsoft.com
Update date: 2026-10-01
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Invoicing (account) |
| Community Apps Dependencies | Show |
| Lines of code | 3775 |
| Technical Name |
l10n_kz_esf_einvoice |
| License | OPL-1 |
| Website | https://pokutsoft.com/ |
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module