URA EFRIS receipting, invoicing and goods/services configuration for Manager.io — built for Ugandan businesses.
Developed with support from The Tukei Hope Initiative.
efrisconnect/
├── backend/
│ ├── data/
│ │ ├── goods_tree.json (58 segments, 148,000+ commodities)
│ │ └── units.json (350 URA package units of measure)
│ ├── server.js (Express API)
│ └── package.json
├── frontend/
│ ├── index.html (Full UI — calls backend API)
│ └── receipt.html (Printable receipt / invoice page)
├── backend/Dockerfile (Azure Container Instances deployment)
└── .github/workflows/ (CI/CD — builds and pushes to Azure ACR)
cd backend
npm install
node server.js
# App runs at http://localhost:3000- Push this repo to GitHub
- GitHub Actions builds the Docker image and pushes to Azure Container Registry
- Azure Container Instances runs the image at
https://efris.twoservants.com - Set
EFRIS_PRIVATE_KEY_B64as a GitHub secret (base64 of your URA PEM file). The workflow also needsACR_USERNAME,ACR_PASSWORDandAZURE_CREDENTIALS.
- Settings → Custom Buttons → New Custom Button
- Label:
EFRISConnect - Endpoint:
https://efris.twoservants.com - Placements:
/sales-invoices,/receipts,/inventory-items,/non-inventory-items,/inventory-item-form,/non-inventory-item-form,/receipt-form,/sales-invoice-form