URA EFRIS System-to-System Integration SDK (Python)
A production-ready Python SDK for integrating with the Uganda Revenue Authority (URA) EFRIS (Electronic Fiscal Receipting and Invoicing System) via the System-to-System (S2S) interface.
Built in accordance with official URA EFRIS technical specifications, encryption standards, device registration requirements, and offline mode enablement guidelines.
Official URA EFRIS Documentation
📄 Step-by-Step Guide – System-to-System Integration (v1.1)
Issue Date: 19/07/2022
https://efris.ura.go.ug/site/manualDownload/downloadManualById?id=569326253531712032&language=
📄 Offline-Mode Enabler – Hardware & Software Requirements
https://efris.ura.go.ug/site/manualDownload/downloadManualById?id=779571457750410225&language=
📄 Offline-Mode Enabler – Installation Guide
https://efris.ura.go.ug/site/manualDownload/downloadManualById?id=537308370255165978&language=
📄 Interface Requirements for Information Management and Fiscalisation
https://efris.ura.go.ug/site/manualDownload/downloadManualById?id=173517733139059055&language=
📄 EFRIS Thumbprint & Device Registration Guide
https://efris.ura.go.ug/site/manualDownload/downloadManualById?id=102729662704726203&language=
⚠️ Important Notice
This SDK implements the URA EFRIS System-to-System (S2S) integration model.
Proper onboarding, certificate provisioning, and device registration with URA are required before production use.
Features
✅ System-to-System (S2S) API integration
✅ Payload encryption & digital signature support
✅ URA-compliant request/response models
✅ Device & taxpayer authentication helpers
✅ Timezone-safe timestamp handling (EAT / UTC)
✅ Offline Mode Enabler compatibility
✅ Strong typing with Pydantic v2
✅ Production-grade HTTP client
Installation
pip install ura-efris-sdk
Author
Bartile Emmanuel 📧 support@paybill.dev | 📱 +254 757 807 150 Lead Developer, Paybill Kenya
📘 URA EFRIS Documentation (Paybill): https://paybill.ke/docs/ura-efris
License
MIT © 2025–2026 Paybill Kenya Limited
🇺🇬 Supporting Digital Tax Compliance in Uganda 🇰🇪 Proudly engineered by Paybill Kenya Limited
Metadata
Release files for ura-efris-sdk 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ura_efris_sdk-0.1.1.tar.gz | 48.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ura_efris_sdk-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 84.5 kB
Release files / ura_efris_sdk-0.1.1.tar.gz
| Download URL | ura_efris_sdk-0.1.1.tar.gz |
|---|---|
| Size | 48.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
30996064cbbf3839017aec38ffc4defd2cfd9f2f52868f0da813d0201558cb56
|
|
BLAKE2b-256 checksum How to use checksums |
5e56dcbe1b2e323929cdc5a069b7025051bc2c9fa2edc853b9796a57381ff373
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / ura_efris_sdk-0.1.1-py3-none-any.whl
| Download URL | ura_efris_sdk-0.1.1-py3-none-any.whl |
|---|---|
| Size | 35.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
870b5df4a179628e0c1609448849af540acabd859ac8e3c9eca38487b92f0cc9
|
|
BLAKE2b-256 checksum How to use checksums |
20e280b60f9acf8a501b390b74b9d071a86a17a00067762e4fa2c222ec578a63
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|