Open-source SDKs for the Malawi Revenue Authority Electronic Invoicing System (EIS) API.
This is an unofficial, community-maintained project. It is not affiliated with the Malawi Revenue Authority.
| Package | Status | Registry |
|---|---|---|
mra-sdk (TypeScript) |
In development | npm (unpublished) |
| Python | Planned | - |
| .NET | Planned | - |
- Typed clients over all 28 EIS endpoints (sales, onboarding, stock, raw-material, utilities, configuration)
- Terminal activation flow with
x-signaturerequest signing - Automatic terminal-token refresh
- Offline queue + reconciliation against
last-submitted-offline-transaction - Pluggable interfaces for token storage, signing, and offline storage
- Typed error taxonomy mapping
ProblemDetails
spec/ Vendored swagger.json (source of truth) + fixtures
packages/typescript/ mra-sdk
packages/python/ Placeholder for future Python SDK
packages/dotnet/ Placeholder for future .NET SDK
tools/codegen/ Generates typed transport from spec/swagger.json
tools/mock-server/ Prism-based mock used by contract tests
examples/ Sample applications
docs/ Documentation site (Astro Starlight)
pnpm install
pnpm codegen # regenerate typed transport from spec/swagger.json
pnpm build
pnpm test
pnpm dev:mock # boot the mock server on http://localhost:4010Issues and PRs welcome at https://github.com/joelfickson/mra-sdk.
MIT - see LICENSE.