Technical Manual
This manual is for developers and IT: the people who build, host, configure, deploy and extend Al-Mohaseb.
The User Manual is written for the people who use Al-Mohaseb every day: business owners, bookkeepers, accountants and the administrators who work in the admin screens. It has step-by-step instructions and training paths. Most pages in this manual link to the matching User Manual page, and the other way around.
Al-Mohaseb is a multi-tenant bookkeeping, payroll and tax-compliance platform for small businesses and the accounting firms that serve them. It is built as reusable Orchard Core modules on top of CrestApps Orchard Core, and it replaces the AL-Mohaseb Windows application. The source lives in the CrestApps.Almohaseb repository.
Start here
- Getting Started: build and run the solution, and set up a business tenant.
- Architecture: how the projects, features, tenants, data and background work fit together.
- Configuration: every setting the modules read from
appsettings.jsonand environment variables. - Setup recipes: the recipes that set up a business tenant or the platform tenant.
- Feature ID Reference: the feature IDs to enable in Tools > Features, in recipes, or in a
[Feature]attribute. - Release notes: what changes in each version.
What this manual covers
- Projects, modules, feature IDs and feature dependencies
- Configuration through
appsettings.json, environment variables and per-tenant settings - Setup recipes and deployment steps
- Architecture: tenancy, persistence, permissions, the admin UI and background processing
- Extension points: services, stores, list filters and job types you can add or replace
Modules
| Module | What it adds | Page |
|---|---|---|
| Almohaseb Foundation | The business profile, the business calendar, sensitive-data protection and document numbering that every other module uses. | Foundation |
| Almohaseb Admin UI | The list filters and editors shared by the admin screens. | Admin UI |
| Almohaseb Jobs | Durable background jobs that run in paced, checkpointed batches. | Jobs |
| Accounting (Ledger) | The double-entry general ledger: the chart of accounts and, as it grows, journal entries, fiscal periods and balances. | Ledger |
Platform
| Component | Version |
|---|---|
| .NET | 10 |
| Orchard Core | 4.0 preview |
| CrestApps Orchard Core | 3.0 preview |
| CrestApps Core | 2.0 preview |
| Persistence | YesSql (SQLite for development; SQL Server or PostgreSQL in production) |
The exact package versions are pinned in Directory.Packages.props.
Documenting a feature
Every feature ships with a page in both manuals, in the same change as its code. The contributor guide for this site is src/CrestApps.Almohaseb.Docs/README.md.