Skip to content

joelfickson/mra-sdk

Repository files navigation

mra-sdk

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.

Status

Package Status Registry
mra-sdk (TypeScript) In development npm (unpublished)
Python Planned -
.NET Planned -

What this gives you

  • Typed clients over all 28 EIS endpoints (sales, onboarding, stock, raw-material, utilities, configuration)
  • Terminal activation flow with x-signature request 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

Repo layout

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)

Development

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:4010

Contributing

Issues and PRs welcome at https://github.com/joelfickson/mra-sdk.

License

MIT - see LICENSE.

About

Open-source SDKs for the Malawi Revenue Authority Electronic Invoicing System (EIS) API. Unofficial.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors