comparison ยท 9 min read
Ethiopian Receipt Verification Services: The Full Comparison
Evidence-based comparison of Ethiopia's six receipt verification services: cheki, check.et, verify.et, qbirr, tinaverify, and tally. Pricing, features, data sources, and what's behind the paywall.
There are six receipt verification services operating in Ethiopia: cheki, check.et, verify.et, qbirr, tinaverify, and tally. This article compares all six based on publicly available evidence, not marketing claims.
Full disclosure
cheki is the open source project we built. This comparison is based on public information from each service's website, API docs, sitemap, robots.txt, and GitHub repositories. Verify everything yourself.
If you just want the answer
Choose based on your actual need, not the longest feature list. Most people only need one thing: confirm the payment happened.
| You need... | Use this |
|---|---|
| Free verification with no signup | cheki |
| A paid API with Ethiopian relay for geo-blocked banks | qbirr |
| A cashier mobile app for physical counters | tinaverify |
| Polished business dashboard and employee accounts | check.et |
| Verification inside Telegram | tally |
| An Android app with bank status pages | verify.et |
No best overall, only best for you
qbirr is not better than cheki if you do not need an API key. tinaverify is not better than cheki if you do not have a cashier counter. Match the tool to the job.
The core fact
All six services verify receipts by fetching the same public bank endpoints. The data is identical. The difference is the business model wrapped around it.
Every Ethiopian bank publishes receipts at public URLs that require no authentication. These endpoints are documented in cheki's source code and can be verified by anyone. All six services use these same endpoints.
Pricing comparison
| Service | Price | Free tier | Per-verify cost |
|---|---|---|---|
| cheki | Free forever | Unlimited | 0 ETB |
| check.et | 499 ETB/mo or 4,990/yr | 200 (one-time) | ~2.5 ETB at 200/mo |
| verify.et | $20-40/mo USD | 200 (one-time) | ~$0.10-0.20 |
| qbirr | 500-8,000 ETB/mo | 50/mo | 0.50-0.84 ETB |
| tinaverify | 3K-8K ETB per 90 days | None | 0.84-0.91 ETB |
| tally | Unknown (not public) | Unknown | Unknown |
Platform comparison
| Feature | cheki | check.et | verify.et | qbirr | tinaverify | tally |
|---|---|---|---|---|---|---|
| Banks supported | 9 | 9 | 10 | 7 | 6 | 4 |
| Banks live | 4 | 9 | 9 | 7 | 6 | 4 |
| REST API | Yes (free) | Yes (paid) | Yes (paid) | Yes (paid) | No | No |
| QR scanning | Yes | Yes | Yes | No | Yes (camera) | No |
| BOA QR decryption | Yes | No | No | No | No | No |
| Batch verification | Yes (50) | No | No | No | No | No |
| Mobile app | PWA | PWA | Android | No | iOS+Android | Unreleased |
| Geo-block bypass | No | No | No | Yes (relay) | No | Yes (ET IP) |
| Duplicate detection | No | Per-branch | History | Per-merchant | Audit trail | No |
| Amount tolerance | No | No | No | Yes (configurable) | No | No |
Transparency comparison
| Feature | cheki | check.et | verify.et | qbirr | tinaverify | tally |
|---|---|---|---|---|---|---|
| Open source | Yes (MIT) | No | No | No | No | No |
| Self-hosting | Yes (Docker) | No | No | No | No | No |
| Source URL shown | Yes | Hidden | Hidden | No | No | No |
| AI crawler access | Allowed | Allowed | Blocked | Allowed | Allowed | N/A |
| Python library | Yes | No | No | Advertised (unpublished) | No | No |
| TypeScript SDK | Yes | No | Yes | Advertised (unpublished) | No | No |
qbirr's SDKs are vaporware
qbirr advertises Node.js, Python, PHP, and Go SDKs plus a WordPress plugin. As of launch (June 2026), none of them exist on npm, PyPI, Packagist, GitHub, or the WordPress plugin repository. The GitHub user 'qbirr' belongs to an unrelated Indonesian developer. Only the REST API works.
check.et: the details
check.et is built with Next.js and deployed on Vercel. It has a well-designed UI with bilingual support (English and Amharic), bank-specific guide pages, and a developer portal. The pricing model is:
- Free: 200 verifications (one-time, not monthly), then you must upgrade
- Pro Monthly: 499 ETB/month
- Pro Yearly: 4,990 ETB/year (save 2 months)
check.et supports 9 banks and wallets: CBE, Telebirr, Dashen, Awash, BOA, Zemen, CBE Birr, M-Pesa, and Siinqee. It has a REST API that requires a business account and API key.
Strengths: polished UI, bilingual, good SEO content (15+ guide pages), developer documentation, employee management features.
Weaknesses: charges for public data, 200 free verifications are one-time not monthly, API requires business account signup, no self-hosting, no open source.
verify.et: the details
verify.et is built by Suba Software. It uses Cloudflare and has an Android app on the Play Store. Signup is Telegram-only (OAuth via Telegram bot).
verify.et supports 10 banks: CBE, Telebirr, Dashen, BOA, CBE Birr, Awash, M-Pesa, Siinqee, Kaafi Ebirr, and Zemen. It has a blog with categories for payment verification, bank guides, wallet guides, fraud prevention, API integration, merchant operations, and finance basics.
verify.et blocks AI crawlers
verify.et's robots.txt explicitly blocks GPTBot, ClaudeBot, CCBot, Google-Extended, Applebot-Extended, Bytespider, meta-externalagent, and Amazonbot. This prevents ChatGPT, Claude, Google AI Overview, and other AI tools from reading verify.et's content. The stated reason is EU copyright directive compliance, but the practical effect is that users can't ask AI assistants about verify.et.
Strengths: Android app, blog content, status pages per bank, published TypeScript SDK.
Weaknesses: charges in USD, requires Telegram signup, blocks AI crawlers, no open source, no self-hosting, no batch verification, no Python library.
qbirr: the details
qbirr is the newest entrant, launched June 2026. It is a developer-first API platform built with NestJS on a Contabo VPS in France. The API is at verify.qbirr.com/api/v1/verify with X-API-Key authentication.
qbirr supports 7 providers: CBE, Telebirr, Awash, Dashen, M-Pesa, BOA, and eBirr (COOPay, KAAFI, Nib, Wegagen, Ahadu). All 7 are live.
Pricing: 50 free verifications/month, then Starter (1K for 500 ETB/mo), Pro (10K for 2,000 ETB/mo), or Scale (100K for 8,000 ETB/mo with dedicated relay and 99.9% SLA).
Strengths: clean API design, Ethiopian relay for Telebirr/M-Pesa geo-block bypass, configurable amount tolerance, per-merchant duplicate ref locking, Scale plan with SLA.
Weaknesses: brand new with no track record, SDKs advertised but unpublished, no web UI for verification, no mobile app, no QR scanning, fewer banks than check.et/verify.et, English only.
tinaverify: the details
tinaverify is a mobile-first product focused on the cashier workflow. It has published apps on both Google Play (com.tina.verify) and the App Store (id6764829142). Built with Next.js (App Router, Turbopack).
tinaverify supports 6 banks: CBE, CBE Birr, Awash, Dashen, BOA, and Telebirr. All 6 are live.
Pricing is credit-based with 90-day validity: Starter (3,000 ETB for 3,300 credits) or Business (8,000 ETB for 9,500 credits). Custom credits at 1.50 ETB each, minimum 500.
Strengths: published iOS and Android apps, cashier workflow (scan, verify, audit trail), multi-branch support, searchable audit history by cashier/branch/amount/reference, daily sales tracking.
Weaknesses: no REST API, credit-based pricing with expiry (90 days), no open source, no self-hosting, no batch verification, fewer banks than check.et/verify.et.
tally: the details
tally is a Telegram bot-based service by Sabi LLC (sabi.works), a tech talent marketplace. The website is a static marketing page with no web app, dashboard, login, API, or docs. Every CTA links to the Telegram bot (@TallyETBot).
tally supports 4 banks: CBE, Telebirr, BOA, and Awash. The website claims direct bank verification, but their Terms section 3 explicitly states they use 'publicly accessible verification endpoints and APIs provided by financial institutions.'
Pricing is not public. The footer 'Pricing' link is a dead anchor. Terms have no billing section.
Strengths: Telegram bot delivery (low friction for Telegram-heavy market), Ethiopian-hosted (Ethio Telecom IP), workspace codes for staff.
Weaknesses: only 4 banks, no web app, no API, no docs, mobile app claimed but store links are dead, SSL certificate expired April 2026 (unrenewed for 2+ months), no pricing transparency, made by a dev shop not a dedicated fintech.
cheki: the details
cheki is MIT licensed open source built with Next.js. It requires no signup, no API key, and has no limits. The hosted version is at chekiapp.vercel.app, and the full source code is on GitHub.
cheki supports 31 banks with 10 live (CBE, Telebirr, BOA, M-Pesa, Dashen, Awash, Zemen, CBE Birr, Siinqee, eBirr) and 21 in development. eBirr alone covers 4 additional banks through a single integration (Nib International, Wegagen, Ahadu, KAAFI Microfinance). It supports both the old and new CBE receipt systems, BOA QR code decryption, and unified QR scanning with multi-scale auto-detection.
Recent updates: cheki now parses mobile 'Select All' receipt text. This matters because Telebirr and M-Pesa block cloud servers from reaching their endpoints. If you copy the receipt text from the Telebirr app and paste it into cheki, the parser extracts the full transaction details locally without ever calling the geo-blocked endpoint.
Strengths: free, open source, no signup, self-hosting, batch verification, Python library, TypeScript SDK, Docker, QR code scanning with BOA AES decryption, URL auto-detection, allows AI crawlers, shows receipt source URLs, and now parses pasted receipt text.
Weaknesses: no mobile app (web only, but PWA-installable), no employee management, no dashboard for businesses, no duplicate detection built-in, no geo-block bypass relay, fewer live banks than check.et/verify.et/qbirr/tinaverify.
Geo-blocking: the shared problem
Telebirr and M-Pesa block non-Ethiopian IP addresses at the network level. This affects every service that does not have an Ethiopian relay or server, including cheki's hosted version and check.et's servers.
If you hit a geo-blocked bank, cheki returns a fallbackUrl that points to the bank's public receipt page. You can open that URL in your browser (which uses your Ethiopian IP) to see the receipt. For the hosted version, you can also paste the receipt text directly into cheki's parser to bypass the block.
The only permanent fixes are: self-host cheki on an Ethiopian server, or use a service with an Ethiopian relay (qbirr's Scale plan, tally's Ethio Telecom IP).
The data source question
Some users ask whether check.et, verify.et, qbirr, tinaverify, or tally have access to private bank APIs that cheki doesn't. The answer is no. All six services use the same public endpoints. Here's the evidence:
- cheki's source code shows the exact endpoints it uses (public on GitHub)
- check.et's API response includes verification_method: 'official' but the data fields match the public endpoint responses exactly
- verify.et's data fields match the public endpoint responses exactly
- qbirr's FAQ explicitly states: 'We fetch the same public receipt pages and APIs that the banks themselves expose to customers'
- tally's Terms section 3 explicitly states they use 'publicly accessible verification endpoints and APIs provided by financial institutions'
- The bank endpoints require no authentication, so there's no private API to access
- CBE's new receipt system (mbreciept) uses hardcoded app headers, not authentication, and these are extractable from the public JavaScript
Verify it yourself
Open a CBE receipt link in your browser. You'll see the receipt without logging in. That's the same data all six services return. The endpoints are public by design.