Product · 2026 · 01 / 10
Hisab Digital.
Morocco's 2026 e-invoicing mandate, turned into a product small businesses can actually run on a Tuesday.
Launch Project↗- Context
Hisab Digital is a B2B e-invoicing platform for Moroccan SMEs and the accountants who serve them, built ahead of the DGI's 2026 electronic-invoicing mandate. The site positions it plainly: "Morocco's modern e-invoicing platform. Compliant, fast, and built for SMEs and accountants." Invoices are issued in French and Arabic, exported as UBL 2.1, cleared against DGI rules, and written into a ten-year immutable archive with SHA-256 integrity chains - the same contract the tax authority is moving everyone toward, wrapped in an interface that doesn't punish the person using it.
- Approach
I treated compliance as a feature flip, not a project. The DGI schema is the Prisma schema; invoices, payments and archive rows are just projections of that log. tRPC and zod sit at every boundary so the typed contract carries all the way from the database to the button. Postgres stays boring in the middle, Next.js 16 and Tailwind v4 do the visible work at the edge, and the multi-organization console lets one accountant run ten client entities without switching accounts. The goal was never to ship the most features in the category - it was to ship the thing an accountant can still read six months from now, when the mandate phases in and the rules tighten.
- Outcome
Hisab is live in private beta with paying pilot customers issuing real DGI-shaped invoices today. Pricing starts at 124 MAD/month on Starter and scales to an Accountant tier built for multi-entity bookkeeping. Public launch tracks the DGI's 2026 rollout - the plumbing (clearance, archive, signatures) was built assuming the mandate lands, so every invoice issued in beta already meets the format. The next twelve months are about widening the beta, closing the first hundred paying organizations, and being the Moroccan-built option when the larger phase-ins hit small and mid-size firms.
- The numbers
30+
Private beta pilots
8k
Invoices issued in beta
< 5 min
Time to first invoice
SHA-256 · 10 yr
Archive integrity
- Process
- 01
Schema-first
The DGI invoice contract lives in the Prisma schema before anything else exists. Every screen, export and API surface is a projection of that log, so the law and the code move together.
- 02
DGI alignment
UBL 2.1 and CII are treated as the source of truth, not an export target. Clearance-ready payloads get signed and archived on issue, so the day the mandate flips, nothing in the app has to change.
- 03
Typed boundaries
tRPC at every seam, zod at every edge. No loose REST, no untyped forms. If the schema shifts, the compiler finds the rot before a customer does.
- 04
Closed beta, boring infra
Postgres in the middle, Next.js 16 at the edge, one region to start. I'd rather a small room of accountants using it daily than a landing page measuring intent.
- 05
Billing that earns its fee
Pricing sits under what a bookkeeping hour costs, and the product has to pay that back every month. Starter, Pro, Accountant, Enterprise - the accountant tier runs ten client entities from one console.
- Gallery
- Credits
- Product & build
- Salah Boussettah
- Next
→ 3D Interactive Portfolio
Experiment · 2025